123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /*
- * DIRENT.H (formerly DIRLIB.H)
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- */
- #ifndef _DIRENT_H_
- #define _DIRENT_H_
- /* All the headers include this file. */
- #include <crtdefs.h>
- #include <io.h>
- #ifndef RC_INVOKED
- #pragma pack(push,_CRT_PACKING)
- #ifdef __cplusplus
- extern "C" {
- #endif
- struct dirent
- {
- long d_ino; /* Always zero. */
- unsigned short d_reclen; /* Always zero. */
- unsigned short d_namlen; /* Length of name in d_name. */
- char d_name[260]; /* [FILENAME_MAX] */ /* File name. */
- };
- /*
- * 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
- {
- /* disk transfer area for this dir */
- struct _finddata_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 dirent dd_dir;
- /* _findnext handle */
- intptr_t 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) */
- char dd_name[1];
- } DIR;
- DIR* __cdecl __MINGW_NOTHROW opendir (const char*);
- struct dirent* __cdecl __MINGW_NOTHROW readdir (DIR*);
- int __cdecl __MINGW_NOTHROW closedir (DIR*);
- void __cdecl __MINGW_NOTHROW rewinddir (DIR*);
- long __cdecl __MINGW_NOTHROW telldir (DIR*);
- void __cdecl __MINGW_NOTHROW 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[260]; /* [FILENAME_MAX] */ /* File name. */
- };
- /*
- * 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 */
- intptr_t 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* __cdecl __MINGW_NOTHROW _wopendir (const wchar_t*);
- struct _wdirent* __cdecl __MINGW_NOTHROW _wreaddir (_WDIR*);
- int __cdecl __MINGW_NOTHROW _wclosedir (_WDIR*);
- void __cdecl __MINGW_NOTHROW _wrewinddir (_WDIR*);
- long __cdecl __MINGW_NOTHROW _wtelldir (_WDIR*);
- void __cdecl __MINGW_NOTHROW _wseekdir (_WDIR*, long);
- #ifdef __cplusplus
- }
- #endif
- #pragma pack(pop)
- #endif /* Not RC_INVOKED */
- #endif /* Not _DIRENT_H_ */
|