Logo Search packages:      
Sourcecode: heroes version File versions  Download package

w_dirent.h

/*
 * w_dirent.h (formerly DIRENT.H (formerly DIRLIB.H))
 *
 * by M. J. Weinstein   Released to public domain 1-Jan-89
 *
 * Because I have heard that this feature (opendir, readdir, closedir)
 * it so useful for programmers coming from UNIX or attempting to port
 * UNIX code, and because it is reasonably light weight, I have included
 * it in the Mingw32 package. I have also added an implementation of
 * rewinddir, seekdir and telldir.
 *   - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
 *
 *  This code is distributed in the hope that is will be useful but
 *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 *  DISCLAMED. This includeds but is not limited to warranties of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * Stolen from Mingw32 and adapted to Heroes 
 * by Alexandre Duret-Lutz <duret_g@epita.fr>
 */

#ifndef     __STRICT_ANSI__

#ifndef _DIRENT_H_
#define _DIRENT_H_

#ifndef RC_INVOKED

#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;           /* File name. */
      /* NOTE: The name in the dirent structure points to the name in the
       *       finddata_t structure in the DIR. */
};

/*
 * 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 _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 */
      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
       */
      short             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*);
void        rewinddir (DIR*);
long        telldir (DIR*);
void        seekdir (DIR*, long);

#ifdef      __cplusplus
}
#endif

#endif      /* Not RC_INVOKED */

#endif      /* Not _DIRENT_H_ */

#endif      /* Not __STRICT_ANSI__ */


Generated by  Doxygen 1.6.0   Back to index