#ifndef __DIRENT_H__
#define __DIRENT_H__
/*
* @ ( # ) msd_dir . h 1 . 4 87 / 11 / 06 Public Domain .
*
* A public domain implementation of BSD directory routines for
* MS - DOS . Written by Michael Rendell ( { uunet , utai } michael @ garfield ) ,
* August 1897
*
* Extended by Peter Lim ( lim @ mullian . oz ) to overcome some MS DOS quirks
* and returns 2 more pieces of information - file size & attribute .
* Plus a little reshuffling of some # define ' s positions December 1987
*
* Some modifications by Martin Junius 02 - 14 - 89
*
* AK900712
* AK910410 abs_path - make absolute path
*
*/
#ifdef __EMX__
#include <sys/param.h>
#else
#if defined (__IBMC__) || defined (__IBMCPP__) || defined (XP_W32_MSVC)
#include <stdio.h>
#ifdef MAXPATHLEN
#undef MAXPATHLEN
#endif
#define MAXPATHLEN (FILENAME_MAX * 4 )
#define MAXNAMLEN FILENAME_MAX
#else
#include <param.h>
#endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* attribute stuff */
#ifndef A_RONLY
#define A_RONLY 0 x01
#define A_HIDDEN 0 x02
#define A_SYSTEM 0 x04
#define A_LABEL 0 x08
#define A_DIR 0 x10
#define A_ARCHIVE 0 x20
#endif
struct dirent {
#if defined (WIN32) /* use the layout of EMX to avoid trouble */
int d_ino; /* Dummy */
int d_reclen; /* Dummy, same as d_namlen */
int d_namlen; /* length of name */
char d_name[MAXNAMLEN + 1 ];
unsigned long d_size;
unsigned short d_attribute; /* attributes (see above) */
unsigned short d_time; /* modification time */
unsigned short d_date; /* modification date */
#else
char d_name[MAXNAMLEN + 1 ]; /* garentee null termination */
char d_attribute; /* .. extension .. */
unsigned long d_size; /* .. extension .. */
#endif
};
typedef struct _dirdescr DIR;
/* the structs do not have to be defined here */
extern DIR *opendir(const char *);
extern DIR *openxdir(const char *, unsigned );
extern struct dirent *readdir(DIR *);
extern void seekdir(DIR *, long );
extern long telldir(DIR *);
extern void closedir(DIR *);
#define rewinddir(dirp) seekdir(dirp, 0 L)
extern char *abs_path(const char *name, char *buffer, int len);
#ifndef S_IFMT
#define S_IFMT (S_IFDIR | S_IFREG)
#endif
#ifndef S_ISDIR
#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR)
#endif
#ifndef S_ISREG
#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG)
#endif
#ifdef __cplusplus
}
#endif
#endif
Messung V0.5 in Prozent C=87 H=100 G=93
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-10-02)
¤
*© Formatika GbR, Deutschland