root/branches/maintenance/2.2.2/Modelica/C-Sources/win32_dirent.h

Revision 84, 2.2 kB (checked in by Dag, 4 years ago)

Removed $Id$ strings (used by CVS) because they make it har to generate a distribution.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/*
2 * DIRENT.H (formerly DIRLIB.H)
3 *
4 * by M. J. Weinstein   Released to public domain 1-Jan-89
5 *
6 * Because I have heard that this feature (opendir, readdir, closedir)
7 * it so useful for programmers coming from UNIX or attempting to port
8 * UNIX code, and because it is reasonably light weight, I have included
9 * it in the Mingw32 package. I have also added an implementation of
10 * rewinddir, seekdir and telldir.
11 *   - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
12 *
13 *  This code is distributed in the hope that is will be useful but
14 *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
15 *  DISCLAIMED. This includeds but is not limited to warranties of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17 *
18 * Martin Otter, 2001/01/06:
19 *    Removed:   #ifndef __STRICT_ANSI__
20 *               #include <_mingw.h>
21 *    since not needed in Modelica
22 */
23
24#ifndef _DIRENT_H_
25#define _DIRENT_H_
26
27#include <io.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33struct dirent
34{
35        long            d_ino;                  /* Always zero. */
36        unsigned short  d_reclen;         /* Always zero. */
37        unsigned short  d_namlen;         /* Length of name in d_name. */
38        char*           d_name;                 /* File name. */
39        /* NOTE: The name in the dirent structure points to the name in the
40         *       finddata_t structure in the DIR. */
41};
42
43/*
44 * This is an internal data structure. Good programmers will not use it
45 * except as an argument to one of the functions below.
46 */
47typedef struct
48{
49        /* disk transfer area for this dir */
50        struct _finddata_t      dd_dta;
51
52        /* dirent struct to return from dir (NOTE: this makes this thread
53         * safe as long as only one thread uses a particular DIR struct at
54         * a time) */
55        struct dirent           dd_dir;
56
57        /* _findnext handle */
58        long                    dd_handle;
59
60        /*
61         * Status of search:
62         *   0 = not started yet (next entry to read is first entry)
63         *  -1 = off the end
64         *   positive = 0 based index of next entry
65         */
66        short                   dd_stat;
67
68        /* given path for dir with search pattern (struct is extended) */
69        char                    dd_name[1];
70} DIR;
71
72
73DIR*            opendir (const char*);
74struct dirent*  readdir (DIR*);
75int             closedir (DIR*);
76void            rewinddir (DIR*);
77long            telldir (DIR*);
78void            seekdir (DIR*, long);
79
80#ifdef  __cplusplus
81}
82#endif
83
84#endif  /* Not _DIRENT_H_ */
Note: See TracBrowser for help on using the browser.