OSDN Git Service

* include/endian.h: Move everything into this file and define things more like
authorcgf <cgf>
Sat, 6 Aug 2005 23:00:04 +0000 (23:00 +0000)
committercgf <cgf>
Sat, 6 Aug 2005 23:00:04 +0000 (23:00 +0000)
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.

winsup/cygwin/ChangeLog
winsup/cygwin/include/cygwin/types.h
winsup/cygwin/include/endian.h
winsup/cygwin/include/sys/dirent.h
winsup/cygwin/pinfo.cc

index b52ceef..1bc93e2 100644 (file)
@@ -1,3 +1,13 @@
+2005-08-06  Christopher Faylor  <cgf@timesys.com>
+
+       * 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.
+
 2005-08-05 Michael Gorse <mgorse@alum.wpi.edu>
 
        * thread.cc (pthread::create(3 args)): Make bool.
index 58c73e9..c37ab26 100644 (file)
@@ -19,6 +19,7 @@ extern "C"
 
 #include <sys/sysmacros.h>
 #include <stdint.h>
+#include <endian.h>
 
 #ifndef __timespec_t_defined
 #define __timespec_t_defined
index 0f91ad8..2377a3d 100644 (file)
@@ -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_*/
 
index 17e5eff..1b16bc3 100644 (file)
@@ -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
index 986dce5..e253cac 100644 (file)
@@ -255,11 +255,6 @@ pinfo::init (pid_t n, DWORD flag, HANDLE h0)
          if (realpid == n)
            api_fatal ("retrieval of execed process info for pid %d failed due to recursion.", n);
 
-         if ((flag & PID_ALLPIDS))
-           {
-             set_errno (ESRCH);
-             break;
-           }
          n = realpid;
          CloseHandle (h0);
          h0 = NULL;