#ifdef __KLIBC__
#ifndef KLIBC_FIXUPS_H
-#define KLIBC_FIXUPS_H
+#define KLIBC_FIXUPS_H
+struct passwd {
+ char *pw_name; /* user name */
+ char *pw_passwd; /* user password */
+ uid_t pw_uid; /* user id */
+ gid_t pw_gid; /* group id */
+ char *pw_gecos; /* real name */
+ char *pw_dir; /* home directory */
+ char *pw_shell; /* shell program */
+};
struct group {
char *gr_name; /* group name */
char **gr_mem; /* group members */
};
-static inline struct group *getgrnam(const char *name)
-{
- return NULL;
-}
+struct passwd *getpwnam(const char *name);
+struct group *getgrnam(const char *name);
-struct passwd {
- char *pw_name; /* user name */
- char *pw_passwd; /* user password */
- uid_t pw_uid; /* user id */
- gid_t pw_gid; /* group id */
- char *pw_gecos; /* real name */
- char *pw_dir; /* home directory */
- char *pw_shell; /* shell program */
+#define UT_LINESIZE 32
+#define UT_NAMESIZE 32
+#define UT_HOSTSIZE 256
+#define USER_PROCESS 7 /* normal process */
+#define ut_time ut_tv.tv_sec
+
+
+extern int ufd;
+
+struct exit_status {
+ short int e_termination; /* process termination status */
+ short int e_exit; /* process exit status */
};
-static inline struct passwd *getpwnam(const char *name)
+struct utmp
{
- return NULL;
-}
+ short int ut_type; /* type of login */
+ pid_t ut_pid; /* pid of login process */
+ char ut_line[UT_LINESIZE]; /* devicename */
+ char ut_id[4]; /* Inittab id */
+ char ut_user[UT_NAMESIZE]; /* username */
+ char ut_host[UT_HOSTSIZE]; /* hostname for remote login */
+ struct exit_status ut_exit; /* exit status of a process marked as DEAD_PROCESS */
+ /* The ut_session and ut_tv fields must be the same size for 32 and 64-bit */
+#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
+ int32_t ut_session; /* sid used for windowing */
+ struct {
+ int32_t tv_sec; /* seconds */
+ int32_t tv_usec; /* microseconds */
+ } ut_tv;
+#else
+ long int ut_session;
+ struct timeval ut_tv;
+#endif
+ int32_t ut_addr_v6[4]; /* internet address of remote host */
+ char __unused[20]; /* reserved for future use */
+};
+struct utmp *getutent(void);
+void setutent(void);
+void endutent(void);
-#endif
-#endif
+#endif /* KLIBC_FIXUPS_H */
+#endif /* __KLIBC__ */