Ruby 1.9.3p327(2012-11-10revision37606)
win32/dir.h
Go to the documentation of this file.
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