Ruby 1.9.3p327(2012-11-10revision37606)
|
00001 #ifndef RUBY_WIN32_DIR_H 00002 #define RUBY_WIN32_DIR_H 00003 00004 #ifdef __BORLANDC__ 00005 # ifndef WIN32_DIR_H_ 00006 # define WIN32_DIR_H_ 00007 # include <sys/types.h> 00008 # endif 00009 #endif 00010 00011 struct direct 00012 { 00013 long d_namlen; 00014 ino_t d_ino; 00015 char *d_name; 00016 char d_isdir; /* directory */ 00017 char d_isrep; /* reparse point */ 00018 }; 00019 typedef struct { 00020 WCHAR *start; 00021 WCHAR *curr; 00022 long size; 00023 long nfiles; 00024 long loc; /* [0, nfiles) */ 00025 struct direct dirstr; 00026 char *bits; /* used for d_isdir and d_isrep */ 00027 } DIR; 00028 00029 00030 DIR* rb_w32_opendir(const char*); 00031 DIR* rb_w32_uopendir(const char*); 00032 struct direct* rb_w32_readdir(DIR *); 00033 struct direct* rb_w32_readdir_with_enc(DIR *, rb_encoding *); 00034 long rb_w32_telldir(DIR *); 00035 void rb_w32_seekdir(DIR *, long); 00036 void rb_w32_rewinddir(DIR *); 00037 void rb_w32_closedir(DIR *); 00038 00039 #define opendir rb_w32_opendir 00040 #define readdir rb_w32_readdir 00041 #define telldir rb_w32_telldir 00042 #define seekdir rb_w32_seekdir 00043 #define rewinddir rb_w32_rewinddir 00044 #define closedir rb_w32_closedir 00045 00046 #endif /* RUBY_WIN32_DIR_H */ 00047