diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2002-06-13 10:20:48 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@users.sourceforge.net> | 2002-06-13 10:20:48 +0000 |
commit | dc8971488e7c174ab4084cbdb0a8f12c39b738d7 (patch) | |
tree | d679387fa379b6d5feb9756bdd7237347614453b /winsup/mingw/include/dirent.h | |
parent | 5f74ae83e5fba1ceb73a8d822cbe2b48c619127f (diff) | |
download | cygnal-dc8971488e7c174ab4084cbdb0a8f12c39b738d7.tar.gz cygnal-dc8971488e7c174ab4084cbdb0a8f12c39b738d7.tar.bz2 cygnal-dc8971488e7c174ab4084cbdb0a8f12c39b738d7.zip |
* include/_mingw.h: Increment version to 2.0.
* Makefile.in: Ditto.
Merge in mingwex branch.
Diffstat (limited to 'winsup/mingw/include/dirent.h')
-rw-r--r-- | winsup/mingw/include/dirent.h | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/winsup/mingw/include/dirent.h b/winsup/mingw/include/dirent.h index 92ec6b587..4df6bd997 100644 --- a/winsup/mingw/include/dirent.h +++ b/winsup/mingw/include/dirent.h @@ -50,6 +50,7 @@ struct dirent /* * This is an internal data structure. Good programmers will not use it * except as an argument to one of the functions below. + * dd_stat field is now int (was short in older versions). */ typedef struct { @@ -70,13 +71,12 @@ typedef struct * -1 = off the end * positive = 0 based index of next entry */ - short dd_stat; + int dd_stat; /* given path for dir with search pattern (struct is extended) */ char dd_name[1]; } DIR; - DIR* opendir (const char*); struct dirent* readdir (DIR*); int closedir (DIR*); @@ -84,6 +84,57 @@ void rewinddir (DIR*); long telldir (DIR*); void seekdir (DIR*, long); + +/* wide char versions */ + +struct _wdirent +{ + long d_ino; /* Always zero. */ + unsigned short d_reclen; /* Always zero. */ + unsigned short d_namlen; /* Length of name in d_name. */ + wchar_t* d_name; /* File name. */ + /* NOTE: The name in the dirent structure points to the name in the * wfinddata_t structure in the _WDIR. */ +}; + +/* + * This is an internal data structure. Good programmers will not use it + * except as an argument to one of the functions below. + */ +typedef struct +{ + /* disk transfer area for this dir */ + struct _wfinddata_t dd_dta; + + /* dirent struct to return from dir (NOTE: this makes this thread + * safe as long as only one thread uses a particular DIR struct at + * a time) */ + struct _wdirent dd_dir; + + /* _findnext handle */ + long dd_handle; + + /* + * Status of search: + * 0 = not started yet (next entry to read is first entry) + * -1 = off the end + * positive = 0 based index of next entry + */ + int dd_stat; + + /* given path for dir with search pattern (struct is extended) */ + wchar_t dd_name[1]; +} _WDIR; + + + +_WDIR* _wopendir (const wchar_t*); +struct _wdirent* _wreaddir (_WDIR*); +int _wclosedir (_WDIR*); +void _wrewinddir (_WDIR*); +long _wtelldir (_WDIR*); +void _wseekdir (_WDIR*, long); + + #ifdef __cplusplus } #endif |