2 /* ---------------------------------------------------------------------------
3 Stuff to fake unix file I/O on windows boxes
4 ------------------------------------------------------------------------*/
10 /* hacked out of <dirent.h> on an SGI */
11 #if defined(XP_WIN32) || defined(_WIN32)
12 /* 32-bit stuff here */
16 #include <sys/types.h>
19 #include <sys\types.h>
23 typedef struct DIR_Struct
{
28 #define _ST_FSTYPSZ 16
30 #if !defined(__BORLANDC__) && !defined(__GNUC__)
31 typedef unsigned long mode_t
;
41 typedef unsigned long nlink_t
;
44 typedef struct timestruc
{
45 time_t tv_sec
; /* seconds */
46 long tv_nsec
; /* and nanoseconds */
50 struct dirent
{ /* data from readdir() */
51 ino_t d_ino
; /* inode number of entry */
52 off_t d_off
; /* offset of disk direntory entry */
53 unsigned short d_reclen
; /* length of this record */
54 char d_name
[_MAX_FNAME
]; /* name of file */
57 #if !defined(__BORLANDC__) && !defined (__GNUC__)
58 #define S_ISDIR(s) ((s) & _S_IFDIR)
62 /* 16-bit windows stuff */
64 #include <sys\types.h>
70 /* Getting cocky to support multiple file systems */
71 typedef struct dirStruct_tag
{
72 struct _find_t file_data
;
76 typedef struct DIR_Struct
{
81 #define _ST_FSTYPSZ 16
82 typedef unsigned long mode_t
;
86 typedef unsigned long nlink_t
;
88 typedef struct timestruc
{
89 time_t tv_sec
; /* seconds */
90 long tv_nsec
; /* and nanoseconds */
93 struct dirent
{ /* data from readdir() */
94 ino_t d_ino
; /* inode number of entry */
95 off_t d_off
; /* offset of disk direntory entry */
96 unsigned short d_reclen
; /* length of this record */
98 char d_name
[_MAX_FNAME
]; /* name of file */
100 char d_name
[20]; /* name of file */
104 #define S_ISDIR(s) ((s) & _S_IFDIR)
106 #endif /* 16-bit windows */
110 #endif /* _WINDOWS */
112 #endif /* WINFILE_H */