58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
/* emtexdir.h -- written by Eberhard Mattes, donated to the public domain */
|
|
|
|
#if !defined (_EMTEXDIR_H)
|
|
#define _EMTEXDIR_H
|
|
|
|
#if defined (__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
/* Flags for emtex_dir_setup */
|
|
|
|
#define EDS_ONESUBDIR 0x0001
|
|
#define EDS_ALLSUBDIR 0x0002
|
|
#define EDS_BANG 0x0004
|
|
|
|
/* Flags for emtex_dir_find */
|
|
|
|
#define EDF_CWD 0x0001
|
|
#define EDF_FSLASH 0x0002
|
|
#define EDF_TRACE 0x8000
|
|
|
|
/* Methods for emtex_dir_trunc */
|
|
|
|
#define EDT_5_PLUS_3 0 /* 5+3.3 */
|
|
#define EDT_8 1 /* 8.3 */
|
|
|
|
/* Return values for emtex_dir_trunc */
|
|
|
|
#define EDT_UNCHANGED 0 /* Path name not changed */
|
|
#define EDT_CHANGED 1 /* Path name truncated */
|
|
#define EDT_TOOLONG 2 /* Path name too long */
|
|
#define EDT_INVALID 3 /* Path name invalid */
|
|
|
|
struct emtex_dir
|
|
{
|
|
char **list;
|
|
int used;
|
|
int alloc;
|
|
};
|
|
|
|
extern void (*emtex_dir_find_callback)(const char *name, int ok);
|
|
|
|
int emtex_dir_setup (struct emtex_dir *ed, const char *env, const char *dir,
|
|
unsigned flags);
|
|
|
|
int emtex_dir_find (char *path, size_t path_size, const struct emtex_dir *ed,
|
|
const char *fname, unsigned flags);
|
|
|
|
int emtex_dir_trunc (char *dst, size_t dst_size, const char *src,
|
|
unsigned flags, int method);
|
|
|
|
#if defined (__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* !defined (_EMTEXDIR_H) */
|