summaryrefslogtreecommitdiffstats
path: root/winsup/mingw/include/dirent.h
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2002-06-13 10:20:48 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2002-06-13 10:20:48 +0000
commitdc8971488e7c174ab4084cbdb0a8f12c39b738d7 (patch)
treed679387fa379b6d5feb9756bdd7237347614453b /winsup/mingw/include/dirent.h
parent5f74ae83e5fba1ceb73a8d822cbe2b48c619127f (diff)
downloadcygnal-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.h55
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