forwarding build fix when MUIA_Scrollgroup_AutoBars is defined (NicJA).
[AROS-Contrib.git] / scalos / include / DefIcons.h
blob6140dd54939ff7a11dae5620cd6634fb2a0ec844
1 // DefIcons.h
2 // $Date$
3 // $Revision$
5 #ifndef DEFICONS_H_INCLUDED
6 #define DEFICONS_H_INCLUDED
9 #if defined(__GNUC__) && !defined(mc68000)
10 #pragma pack(2)
11 #endif /* __GNUC__ */
14 #define IS_TYPENODE(icontype) (MEMF_PUBLIC & TypeOfMem((void *) (icontype)))
16 #define ACT_MATCH 1 /* arg1/2 = offset arg3 = length str = string */
17 #define ACT_SEARCH 2 /* arg2 = length str = string */
18 #define ACT_SEARCHSKIPSPACES 3 /* arg2 = length str = string */
19 /* if length < 0, do a case unsensitive match */
21 #define ACT_FILESIZE 4 /* arg2 = file size */
22 #define ACT_NAMEPATTERN 5 /* str = filename pattern */
23 #define ACT_PROTECTION 6 /* arg1 = mask arg2 = protbits&mask */
24 #define ACT_OR 7 /* an alternative description follows */
25 #define ACT_ISASCII 8 /* this is used only by AsciiType */
27 #define ACT_DOSDEVICE 10 /* str = DOS device name like "CD0" or "DH0" */
28 #define ACT_DEVICENAME 11 /* str = device name like "scsi.device" */
29 #define ACT_CONTENTS 12 /* str = pattern match for device contents */
30 #define ACT_MINSIZEMB 13 /* arg2 = minimum device size in MBytes */
31 #define ACT_DOSTYPE 14 /* arg2 = length str = match string for DOS type like "DOS\0" */
33 #define ACT_MACROCLASS 20 /* this must be the ONLY ACT_xxx of the node. */
34 /* (apart from ACT_END) */
35 /* following descriptions are son of this one, but */
36 /* this one will never be considered valid, i.e. */
37 /* if none of the sons matches the file, we will */
38 /* proceed with the following description. The parent */
39 /* will be used only for icon picking purposes (e.g. */
40 /* a class "picture" may contain "gif", "jpeg" and so */
41 /* on, and if def_gif is missing def_picture will be used */
42 #define ACT_END 0
46 #define TYPE_DOWN_LEVEL 1 /* following description is son of previous one */
47 #define TYPE_UP_LEVEL 2 /* following description is brother of parent of previous one */
48 #define TYPE_END 0 /* end of list */
50 struct Magic
52 UBYTE action;
53 BYTE pad;
54 LONG arg1;
55 LONG arg2;
56 STRPTR str;
57 /* note: WORD aligned */
61 struct TypeNode
63 struct TypeNode *tn_RightBrother;
64 struct TypeNode *tn_FirstSon;
65 struct TypeNode *tn_Parent;
66 Object *tn_IconObject;
67 STRPTR tn_Name;
68 struct Magic tn_Description[1];
71 #if defined(__GNUC__) && !defined(mc68000)
72 #pragma pack()
73 #endif /* __GNUC__ */
75 #endif /* DEFICONS_H_INCLUDED */