diff options
Diffstat (limited to 'winsup/cygwin/include/sys')
-rw-r--r-- | winsup/cygwin/include/sys/dirent.h | 97 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/param.h | 51 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/utime.h | 30 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/utmp.h | 68 |
4 files changed, 246 insertions, 0 deletions
diff --git a/winsup/cygwin/include/sys/dirent.h b/winsup/cygwin/include/sys/dirent.h new file mode 100644 index 0000000..a077169 --- /dev/null +++ b/winsup/cygwin/include/sys/dirent.h @@ -0,0 +1,97 @@ +/* Posix dirent.h for WIN32. + + Copyright 2001 Red Hat, Inc. + + This software is a copyrighted work licensed under the terms of the + Cygwin license. Please consult the file "CYGWIN_LICENSE" for + details. */ + +/* Including this file should not require any Windows headers. */ + +#ifndef _SYS_DIRENT_H +#define _SYS_DIRENT_H + +#include <sys/types.h> + +#define __DIRENT_VERSION 2 + +#pragma pack(push,4) +#ifdef __INSIDE_CYGWIN__ +struct dirent +{ + long d_version; /* Used since Cygwin 1.3.3. */ + __ino64_t d_ino; /* still junk but with more bits */ + long d_fd; /* File descriptor of open directory. + Used since Cygwin 1.3.3. */ + __ino32_t old_d_ino; /* Just for compatibility, it's junk */ + char d_name[256]; /* FIXME: use NAME_MAX? */ +}; +#else +#ifdef __CYGWIN_USE_BIG_TYPES__ +struct dirent +{ + long d_version; + ino_t d_ino; + long d_fd; + unsigned long old_d_ino; + char d_name[256]; +}; +#else +struct dirent +{ + long d_version; + long d_reserved[2]; + long d_fd; + ino_t d_ino; + char d_name[256]; +}; +#endif +#endif +#pragma pack(pop) + +#define __DIRENT_COOKIE 0xdede4242 + +typedef struct __DIR +{ + /* This is first to set alignment in non _COMPILING_NEWLIB case. */ + unsigned long __d_cookie; + struct dirent *__d_dirent; + char *__d_dirname; /* directory name with trailing '*' */ + _off_t __d_position; /* used by telldir/seekdir */ + unsigned long __d_dirhash; /* hash of directory name for use by + readdir */ + union + { +#ifdef __INSIDE_CYGWIN__ + struct + { + void *__handle; + void *__fh; + } __d_data; +#endif + char __d_filler[16]; + } __d_u; +} DIR; + +DIR *opendir (const char *); +struct dirent *readdir (DIR *); +void rewinddir (DIR *); +int closedir (DIR *); + +int dirfd (DIR *); + +#ifndef _POSIX_SOURCE +#ifndef __INSIDE_CYGWIN__ +off_t telldir (DIR *); +void seekdir (DIR *, off_t loc); +#endif + +int scandir (const char *__dir, + struct dirent ***__namelist, + int (*select) (const struct dirent *), + int (*compar) (const struct dirent **, const struct dirent **)); + +int alphasort (const struct dirent **__a, const struct dirent **__b); +#endif /* _POSIX_SOURCE */ + +#endif diff --git a/winsup/cygwin/include/sys/param.h b/winsup/cygwin/include/sys/param.h new file mode 100644 index 0000000..09ef74e --- /dev/null +++ b/winsup/cygwin/include/sys/param.h @@ -0,0 +1,51 @@ +/* sys/param.h + + Copyright 2001 Red Hat, Inc. + + This software is a copyrighted work licensed under the terms of the + Cygwin license. Please consult the file "CYGWIN_LICENSE" for + details. */ + +#ifndef _SYS_PARAM_H +#define _SYS_PARAM_H + +#include <sys/types.h> +/* Linux includes limits.h, but this is not universally done. */ +#include <limits.h> + +/* Max number of open files. The Posix version is OPEN_MAX. */ +/* Number of fds is virtually unlimited in cygwin, but we must provide + some reasonable value for Posix conformance */ +#define NOFILE 8192 + +/* Max number of groups; must keep in sync with NGROUPS_MAX in limits.h */ +#define NGROUPS 16 + +/* Ticks/second for system calls such as times() */ +/* FIXME: is this the appropriate value? */ +#define HZ 1000 + +/* Max hostname size that can be dealt with */ +/* FIXME: is this the appropriate value? */ +#define MAXHOSTNAMELEN 64 + +/* This is defined to be the same as MAX_PATH which is used internally. + The Posix version is PATH_MAX. */ +#define MAXPATHLEN (260 - 1 /*NUL*/) + +/* Some autoconf'd packages check for endianness. When cross-building we + can't run programs on the target. Fortunately, autoconf supports the + definition of byte order in sys/param.h (that's us!). + The values here are the same as used in gdb/defs.h (are the more + appropriate values?). */ +#define BIG_ENDIAN 4321 +#define LITTLE_ENDIAN 1234 + +/* All known win32 systems are little endian. */ +#define BYTE_ORDER LITTLE_ENDIAN + +#ifndef NULL +#define NULL 0L +#endif + +#endif diff --git a/winsup/cygwin/include/sys/utime.h b/winsup/cygwin/include/sys/utime.h new file mode 100644 index 0000000..5565b36 --- /dev/null +++ b/winsup/cygwin/include/sys/utime.h @@ -0,0 +1,30 @@ +/* sys/utime.h + + Copyright 2001 Red Hat, Inc. + + This software is a copyrighted work licensed under the terms of the + Cygwin license. Please consult the file "CYGWIN_LICENSE" for + details. */ + +#ifndef _SYS_UTIME_H +#define _SYS_UTIME_H + +#ifdef __cplusplus +extern "C" { +#endif +#include <_ansi.h> +#include <sys/types.h> + +struct utimbuf +{ + time_t actime; + time_t modtime; +}; + +int _EXFUN(utime, (const char *__path, struct utimbuf *__buf)); + +#ifdef __cplusplus +}; +#endif + +#endif /* _SYS_UTIME_H */ diff --git a/winsup/cygwin/include/sys/utmp.h b/winsup/cygwin/include/sys/utmp.h new file mode 100644 index 0000000..2d959d8 --- /dev/null +++ b/winsup/cygwin/include/sys/utmp.h @@ -0,0 +1,68 @@ +/* sys/utmp.h + + Copyright 2001 Red Hat, Inc. + + This software is a copyrighted work licensed under the terms of the + Cygwin license. Please consult the file "CYGWIN_LICENSE" for + details. */ + +#ifndef UTMP_H +#define UTMP_H + +#include <sys/types.h> +#include <time.h> +#include <paths.h> + +#define UTMP_FILE _PATH_UTMP +#define WTMP_FILE _PATH_WTMP + +#ifdef __cplusplus +extern "C" { +#endif + +#define UT_LINESIZE 16 +#define UT_NAMESIZE 16 +#define UT_HOSTSIZE 256 +#define UT_IDLEN 2 +#define ut_name ut_user + +struct utmp +{ + short ut_type; + pid_t ut_pid; + char ut_line[UT_LINESIZE]; + char ut_id[UT_IDLEN]; + time_t ut_time; + char ut_user[UT_NAMESIZE]; + char ut_host[UT_HOSTSIZE]; + long ut_addr; +}; + +#define RUN_LVL 1 +#define BOOT_TIME 2 +#define NEW_TIME 3 +#define OLD_TIME 4 + +#define INIT_PROCESS 5 +#define LOGIN_PROCESS 6 +#define USER_PROCESS 7 +#define DEAD_PROCESS 8 + +extern struct utmp *_getutline (struct utmp *); +extern struct utmp *getutent (void); +extern struct utmp *getutid (struct utmp *); +extern struct utmp *getutline (struct utmp *); +extern void endutent (void); +extern void pututline (struct utmp *); +extern void setutent (void); +extern void utmpname (const char *); + +void login (struct utmp *); +int logout (char *); +int login_tty (int); +void logwtmp (char *, char *, char *); + +#ifdef __cplusplus +} +#endif +#endif /* UTMP_H */ |