home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
useful
/
os-include
/
dos
/
exall.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-09-24
|
2KB
|
78 lines
#ifndef DOS_EXALL_H
#define DOS_EXALL_H
/*
**
** $VER: exall.h 36.6 (05.04.92)
** Includes Release 39.108
**
** include file for ExAll() data structures
**
** (C) Copyright 1989-1992 Commodore-Amiga, Inc.
** All Rights Reserved
**
*/
#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif
#ifndef UTILITY_HOOKS_H
#include "utility/hooks.h"
#endif
/* NOTE: V37 dos.library, when doing ExAll() emulation, and V37 filesystems */
/* will return an error if passed ED_OWNER. If you get ERROR_BAD_NUMBER, */
/* retry with ED_COMMENT to get everything but owner info. All filesystems */
/* supporting ExAll() must support through ED_COMMENT, and must check Type */
/* and return ERROR_BAD_NUMBER if they don't support the type. */
/* values that can be passed for what data you want from ExAll() */
/* each higher value includes those below it (numerically) */
/* you MUST chose one of these values */
#define ED_NAME 1
#define ED_TYPE 2
#define ED_SIZE 3
#define ED_PROTECTION 4
#define ED_DATE 5
#define ED_COMMENT 6
#define ED_OWNER 7
/*
* Structure in which exall results are returned in. Note that only the
* fields asked for will exist!
*/
struct ExAllData {
struct ExAllData *ed_Next;
UBYTE *ed_Name;
LONG ed_Type;
ULONG ed_Size;
ULONG ed_Prot;
ULONG ed_Days;
ULONG ed_Mins;
ULONG ed_Ticks;
UBYTE *ed_Comment; /* strings will be after last used field */
UWORD ed_OwnerUID; /* new for V39 */
UWORD ed_OwnerGID;
};
/*
* Control structure passed to ExAll. Unused fields MUST be initialized to
* 0, expecially eac_LastKey.
*
* eac_MatchFunc is a hook (see utility.library documentation for usage)
* It should return true if the entry is to returned, false if it is to be
* ignored.
*
* This structure MUST be allocated by AllocDosObject()!
*/
struct ExAllControl {
ULONG eac_Entries; /* number of entries returned in buffer */
ULONG eac_LastKey; /* Don't touch inbetween linked ExAll calls! */
UBYTE *eac_MatchString; /* wildcard string for pattern match or NULL */
struct Hook *eac_MatchFunc; /* optional private wildcard function */
};
#endif /* DOS_EXALL_H */