added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / dos / exall.h
bloba16e534c8400cda8d0579065743224144e05c723
1 #ifndef DOS_EXALL_H
2 #define DOS_EXALL_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: ExAll() handling.
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
15 #ifndef UTILITY_HOOKS_H
16 # include <utility/hooks.h>
17 #endif
19 /* Structure (as used in ExAll()), containing information about a file. This
20 structure is only as long as it need to be. If is for example ED_SIZE was
21 specified, when calling ExAll(), this structure only consists of the fields
22 ed_Name through ed_Size. Therefore you can use the ED_ definitions below
23 as longword offsets into this structure. */
24 struct ExAllData
26 struct ExAllData * ed_Next;
28 UBYTE * ed_Name; /* Name of the file. */
29 LONG ed_Type; /* Type of file. See <dos/dosextens.h>. */
30 ULONG ed_Size; /* Size of file. */
31 ULONG ed_Prot; /* Protection bits. */
33 /* The following three fields are de facto an embedded datestamp
34 structure (see <dos/dos.h>), which describes the last modification
35 date. */
36 ULONG ed_Days;
37 ULONG ed_Mins;
38 ULONG ed_Ticks;
40 UBYTE * ed_Comment; /* The file comment. */
42 UWORD ed_OwnerUID; /* The owner ID. */
43 UWORD ed_OwnerGID; /* The group-owner ID. */
46 /* Type argument for ExAll(). Each number includes the information of all
47 lower numbers, too. If you specify for example ED_SIZE, you will get
48 information about name, type and the size of a file. Note that all
49 filehandlers must handle all types up to ED_OWNER. If they do not support
50 a type, they must return ERROR_WRONG_NUMBER (see <dos/dos.h>). Currently
51 that means, if a value higher than ED_OWNER is specified, filehandlers
52 must fail with this error. */
53 #define ED_NAME 1 /* Filename. */
54 #define ED_TYPE 2 /* Type of file. See <dos/dosextens.h>. */
55 #define ED_SIZE 3 /* Size of file. */
56 #define ED_PROTECTION 4 /* Protection bits. */
57 #define ED_DATE 5 /* Last modification date. */
58 #define ED_COMMENT 6 /* Addtional file comment. */
59 #define ED_OWNER 7 /* Owner information. */
62 /* Structure as used for controlling ExAll(). Allocate this structure by using
63 AllocDosObject(DOS_EXALLCONTROL,...) only. All fields must be initialized
64 to 0, before using this structure. (AllocDosObject() does that for you.)
65 After calling ExAll() the first time, this structure is READ-ONLY. */
66 struct ExAllControl
68 /* The number of entries that were returned in the buffer. */
69 ULONG eac_Entries;
70 ULONG eac_LastKey; /* PRIVATE */
71 /* Parsed pattern string, as created by ParsePattern(). This may be NULL.
73 UBYTE * eac_MatchString;
74 /* You may supply a hook, which is called for each entry. This hook
75 should return TRUE, if the current entry is to be included in
76 the file list and FALSE, if it should be ignored. */
77 struct Hook * eac_MatchFunc;
80 #endif /* DOS_EXALL_H */