diff options
Diffstat (limited to 'system/include/libc')
-rw-r--r-- | system/include/libc/grp.h | 2 | ||||
-rw-r--r-- | system/include/libc/sys/signal.h | 1 | ||||
-rw-r--r-- | system/include/libc/sys/stat.h | 42 | ||||
-rw-r--r-- | system/include/libc/time.h | 3 |
4 files changed, 44 insertions, 4 deletions
diff --git a/system/include/libc/grp.h b/system/include/libc/grp.h index 1273e395..61a1b2c7 100644 --- a/system/include/libc/grp.h +++ b/system/include/libc/grp.h @@ -82,9 +82,9 @@ void setgrfile (const char *); char *group_from_gid (gid_t, int); int setgroupent (int); #endif /* !__CYGWIN__ */ -int initgroups (const char *, gid_t); #endif /* !_XOPEN_SOURCE */ #endif /* !_POSIX_SOURCE */ +int initgroups (const char *, gid_t); #endif /* !__INSIDE_CYGWIN__ */ #ifdef __cplusplus diff --git a/system/include/libc/sys/signal.h b/system/include/libc/sys/signal.h index 910ccf78..49a94d80 100644 --- a/system/include/libc/sys/signal.h +++ b/system/include/libc/sys/signal.h @@ -73,6 +73,7 @@ typedef struct { /* three arguments instead of one. */ #define SA_NODEFER 4 /* XXX Emscripten */ #define SA_RESETHAND 8 /* XXX Emscripten */ +#define SA_RESTART 16 /* XXX Emscripten */ /* struct sigaction notes from POSIX: * diff --git a/system/include/libc/sys/stat.h b/system/include/libc/sys/stat.h index b31dc079..e2b20187 100644 --- a/system/include/libc/sys/stat.h +++ b/system/include/libc/sys/stat.h @@ -58,6 +58,42 @@ struct stat #endif }; +struct stat64 +{ + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; +#if defined(__rtems__) + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + blksize_t st_blksize; + blkcnt_t st_blocks; +#else + /* SysV/sco doesn't have the rest... But Solaris, eabi does. */ +#if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__) + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +#else + time_t st_atime; + long st_spare1; + time_t st_mtime; + long st_spare2; + time_t st_ctime; + long st_spare3; + long st_blksize; + long st_blocks; + long st_spare4[2]; +#endif +#endif +}; + #if defined(__rtems__) #define st_atime st_atim.tv_sec #define st_ctime st_ctim.tv_sec @@ -145,16 +181,16 @@ struct stat int _EXFUN(chmod,( const char *__path, mode_t __mode )); int _EXFUN(fchmod,(int __fd, mode_t __mode)); int _EXFUN(fstat,( int __fd, struct stat *__sbuf )); -int _EXFUN(fstat64,( int __fd, struct stat *__sbuf )); /* XXX Emscripten */ +int _EXFUN(fstat64,( int __fd, struct stat64 *__sbuf )); /* XXX Emscripten */ int _EXFUN(mkdir,( const char *_path, mode_t __mode )); int _EXFUN(mkfifo,( const char *__path, mode_t __mode )); int _EXFUN(stat,( const char *__path, struct stat *__sbuf )); -int _EXFUN(stat64,( const char *__path, struct stat *__sbuf )); /* XXX Emscripten */ +int _EXFUN(stat64,( const char *__path, struct stat64 *__sbuf )); /* XXX Emscripten */ mode_t _EXFUN(umask,( mode_t __mask )); #if defined(EMSCRIPTEN) || defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__) int _EXFUN(lstat,( const char *__path, struct stat *__buf )); -int _EXFUN(lstat64,( const char *__path, struct stat *__buf )); /* XXX Emscripten */ +int _EXFUN(lstat64,( const char *__path, struct stat64 *__buf )); /* XXX Emscripten */ int _EXFUN(mknod,( const char *__path, mode_t __mode, dev_t __dev )); #endif diff --git a/system/include/libc/time.h b/system/include/libc/time.h index 83993942..2548d6be 100644 --- a/system/include/libc/time.h +++ b/system/include/libc/time.h @@ -126,6 +126,9 @@ extern __IMPORT char *_tzname[2]; #ifndef tzname #define tzname _tzname #endif +#ifndef timezone +#define timezone _timezone +#endif #endif /* !__STRICT_ANSI__ */ #ifdef __cplusplus |