Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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