This is dir.h in view mode; [Download] [Up]
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
#ifndef __dj_include_dir_h_
#define __dj_include_dir_h_
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dj_ENFORCE_ANSI_FREESTANDING
#ifndef __STRICT_ANSI__
#ifndef _POSIX_SOURCE
/* ffblk is also enhanced for LFNs; the dos 21 byte reserved area is used to
hold the extra information. Fields marked LFN are only valid if the magic
is set to LFN32 */
struct ffblk {
char lfn_magic[6] __attribute__((packed)); /* LFN */
short lfn_handle __attribute__((packed)); /* LFN */
unsigned short lfn_ctime __attribute__((packed)); /* LFN */
unsigned short lfn_cdate __attribute__((packed)); /* LFN */
unsigned short lfn_atime __attribute__((packed)); /* LFN */
unsigned short lfn_adate __attribute__((packed)); /* LFN */
char _ff_reserved[5] __attribute__((packed));
unsigned char ff_attrib __attribute__((packed));
unsigned short ff_ftime __attribute__((packed));
unsigned short ff_fdate __attribute__((packed));
unsigned long ff_fsize __attribute__((packed));
char ff_name[260] __attribute__((packed));
};
struct ffblklfn {
unsigned long fd_attrib __attribute__((packed));
unsigned long long fd_ctime __attribute__((packed));
unsigned long long fd_atime __attribute__((packed));
unsigned long long fd_mtime __attribute__((packed));
unsigned long fd_sizehi __attribute__((packed));
unsigned long fd_size __attribute__((packed));
unsigned long long fd_reserved __attribute__((packed));
char fd_longname[260] __attribute__((packed));
char fd_name[14] __attribute__((packed));
};
#define FA_RDONLY 1
#define FA_HIDDEN 2
#define FA_SYSTEM 4
#define FA_LABEL 8
#define FA_DIREC 16
#define FA_ARCH 32
/* for fnmerge/fnsplit */
#define MAXPATH 80
#define MAXDRIVE 3
#define MAXDIR 66
#define MAXFILE 9
#define MAXEXT 5
#define WILDCARDS 0x01
#define EXTENSION 0x02
#define FILENAME 0x04
#define DIRECTORY 0x08
#define DRIVE 0x10
int __file_tree_walk(const char *_dir, int (*_fn)(const char *_path, const struct ffblk *_ff));
int findfirst(const char *_pathname, struct ffblk *_ffblk, int _attrib);
int findnext(struct ffblk *_ffblk);
void fnmerge (char *_path, const char *_drive, const char *_dir, const char *_name, const char *_ext);
int fnsplit (const char *_path, char *_drive, char *_dir, char *_name, char *_ext);
int getdisk(void);
char * searchpath(const char *_program);
int setdisk(int _drive);
#endif /* !_POSIX_SOURCE */
#endif /* !__STRICT_ANSI__ */
#endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
#ifndef __dj_ENFORCE_FUNCTION_CALLS
#endif /* !__dj_ENFORCE_FUNCTION_CALLS */
#ifdef __cplusplus
}
#endif
#endif /* !__dj_include_dir.h_ */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.