]> git.ipfire.org Git - thirdparty/systemd.git/blob - klibc_fixups.h
[PATCH] fix udev segfaults with bad permissions file
[thirdparty/systemd.git] / klibc_fixups.h
1 #ifdef __KLIBC__
2
3 #ifndef KLIBC_FIXUPS_H
4 #define KLIBC_FIXUPS_H
5
6 struct passwd {
7 char *pw_name; /* user name */
8 char *pw_passwd; /* user password */
9 uid_t pw_uid; /* user id */
10 gid_t pw_gid; /* group id */
11 char *pw_gecos; /* real name */
12 char *pw_dir; /* home directory */
13 char *pw_shell; /* shell program */
14 };
15
16 struct group {
17 char *gr_name; /* group name */
18 char *gr_passwd; /* group password */
19 gid_t gr_gid; /* group id */
20 char **gr_mem; /* group members */
21 };
22
23 struct passwd *getpwnam(const char *name);
24 struct group *getgrnam(const char *name);
25
26
27 #define UT_LINESIZE 32
28 #define UT_NAMESIZE 32
29 #define UT_HOSTSIZE 256
30 #define USER_PROCESS 7 /* normal process */
31 #define ut_time ut_tv.tv_sec
32
33
34 extern int ufd;
35
36 struct exit_status {
37 short int e_termination; /* process termination status */
38 short int e_exit; /* process exit status */
39 };
40
41 struct utmp
42 {
43 short int ut_type; /* type of login */
44 pid_t ut_pid; /* pid of login process */
45 char ut_line[UT_LINESIZE]; /* devicename */
46 char ut_id[4]; /* Inittab id */
47 char ut_user[UT_NAMESIZE]; /* username */
48 char ut_host[UT_HOSTSIZE]; /* hostname for remote login */
49 struct exit_status ut_exit; /* exit status of a process marked as DEAD_PROCESS */
50 /* The ut_session and ut_tv fields must be the same size for 32 and 64-bit */
51 #if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
52 int32_t ut_session; /* sid used for windowing */
53 struct {
54 int32_t tv_sec; /* seconds */
55 int32_t tv_usec; /* microseconds */
56 } ut_tv;
57 #else
58 long int ut_session;
59 struct timeval ut_tv;
60 #endif
61 int32_t ut_addr_v6[4]; /* internet address of remote host */
62 char __unused[20]; /* reserved for future use */
63 };
64
65 struct utmp *getutent(void);
66 void setutent(void);
67 void endutent(void);
68
69
70 #endif /* KLIBC_FIXUPS_H */
71 #endif /* __KLIBC__ */