diff options
author | Christopher Faylor <me@cgf.cx> | 2005-08-06 23:00:06 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-08-06 23:00:06 +0000 |
commit | 244f5a27a6b7ce664030de6e4c08e9d43a099ad0 (patch) | |
tree | cf5916c2dba02dbb58ef9355a9c8449e20ebb2ee /winsup/cygwin/include | |
parent | 2041777dee6626ba0905ceb91f5d2cdb74d29a09 (diff) | |
download | cygnal-244f5a27a6b7ce664030de6e4c08e9d43a099ad0.tar.gz cygnal-244f5a27a6b7ce664030de6e4c08e9d43a099ad0.tar.bz2 cygnal-244f5a27a6b7ce664030de6e4c08e9d43a099ad0.zip |
* include/endian.h: Move everything into this file and define things more like
linux.
* include/cygwin/types.h: Include endian.h.
* include/sys/dirent.h: Define DT_* types and conversion macros.
* pinfo.cc (pinfo::init): Remove special handling for PID_ALLPIDS and execed
code, even though it probably still isn't quite right.
Diffstat (limited to 'winsup/cygwin/include')
-rw-r--r-- | winsup/cygwin/include/cygwin/types.h | 1 | ||||
-rw-r--r-- | winsup/cygwin/include/endian.h | 25 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/dirent.h | 26 |
3 files changed, 51 insertions, 1 deletions
diff --git a/winsup/cygwin/include/cygwin/types.h b/winsup/cygwin/include/cygwin/types.h index 58c73e9d5..c37ab26ff 100644 --- a/winsup/cygwin/include/cygwin/types.h +++ b/winsup/cygwin/include/cygwin/types.h @@ -19,6 +19,7 @@ extern "C" #include <sys/sysmacros.h> #include <stdint.h> +#include <endian.h> #ifndef __timespec_t_defined #define __timespec_t_defined diff --git a/winsup/cygwin/include/endian.h b/winsup/cygwin/include/endian.h index 0f91ad85c..2377a3dc0 100644 --- a/winsup/cygwin/include/endian.h +++ b/winsup/cygwin/include/endian.h @@ -11,7 +11,30 @@ details. */ #ifndef _ENDIAN_H_ #define _ENDIAN_H_ -#include <machine/endian.h> +#include <sys/config.h> +#ifndef __BIG_ENDIAN +#define __BIG_ENDIAN 4321 #endif +#ifndef __LITTLE_ENDIAN +#define __LITTLE_ENDIAN 1234 +#endif + +#ifndef __BYTE_ORDER +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#ifdef __USE_BSD +# define LITTLE_ENDIAN __LITTLE_ENDIAN +# define BIG_ENDIAN __BIG_ENDIAN +# define PDP_ENDIAN __PDP_ENDIAN +# define BYTE_ORDER __BYTE_ORDER +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +# define __LONG_LONG_PAIR(HI, LO) LO, HI +#elif __BYTE_ORDER == __BIG_ENDIAN +# define __LONG_LONG_PAIR(HI, LO) HI, LO +#endif +#endif /*_ENDIAN_H_*/ diff --git a/winsup/cygwin/include/sys/dirent.h b/winsup/cygwin/include/sys/dirent.h index 17e5eff08..1b16bc3d5 100644 --- a/winsup/cygwin/include/sys/dirent.h +++ b/winsup/cygwin/include/sys/dirent.h @@ -85,6 +85,32 @@ int scandir (const char *__dir, int (*compar) (const struct dirent **, const struct dirent **)); int alphasort (const struct dirent **__a, const struct dirent **__b); +/* File types for `d_type'. */ +enum + { + DT_UNKNOWN = 0, +# define DT_UNKNOWN DT_UNKNOWN + DT_FIFO = 1, +# define DT_FIFO DT_FIFO + DT_CHR = 2, +# define DT_CHR DT_CHR + DT_DIR = 4, +# define DT_DIR DT_DIR + DT_BLK = 6, +# define DT_BLK DT_BLK + DT_REG = 8, +# define DT_REG DT_REG + DT_LNK = 10, +# define DT_LNK DT_LNK + DT_SOCK = 12, +# define DT_SOCK DT_SOCK + DT_WHT = 14 +# define DT_WHT DT_WHT + }; + +/* Convert between stat structure types and directory types. */ +# define IFTODT(mode) (((mode) & 0170000) >> 12) +# define DTTOIF(dirtype) ((dirtype) << 12) #endif /* _POSIX_SOURCE */ #endif |