define __KERNEL_STRICT_NAMES to avoid inclusion of kernel types on systems that carry...
[cake.git] / tools / dtdesc / FORMAT
blob47c8717b4d7328c42e90e72d68a6e3eb568080dd
1 Fileformat of a dtd-file
3 createdtdesc uses an ASCII-file to obtain the description
4 for an DataType-descriptor.
5 examinedtdesc creates one out of a DataType-descriptor.
6 These ASCII-files are the DataTypeDescriptions (*.dtd) .
7 *.dtd files consist of Keyword=Data pairs in separate lines.
8 Lines starting with a '#' or empty lines are ignored.
9 In fact, my parser is so dump, that it ignores anything
10 but the keywords. But this may change in future!
11 Currently you can feed this file FORMAT to createdtdesc and
12 it will produce a valid DataType descriptor.
13 Comments in lines are not allowed, even when they start with a '#'!
14 The Keyword must be followed immediatly by a '=' .
15 The whole rest of a line after the '=' is handled as the Data-part.
16 So be carefull with whitespace.
17 Keywords are case-sensitive.
18 Currently the following 9 Keywords are defined:
20 1)  Name        Name of the DataType. Used in the NAME-chunk and
21                 as the dth_Name component in the struct DataTypeHeader
22                 in the DTHD-chunk. The name is also used for default icons
23                 (def_Name.info).
25 2)  Version     A standard Amiga-version-string. Used in the FVER-chunk.
26                 This Keyword is optional. When it is missing no FVER-chunk
27                 is written. Hint: use 4 digit years to avoid wrong interpretation.
29 3)  BaseName    BaseName of the DataType as it resides in
30                 Sys:Classes/DataTypes . No ".datatype" must be appended.
32 4)  Pattern     FileNamePattern, an standard Amiga-pattern.
33                 I suggest not to use FileNamePatterns to recognice
34                 a filetype. Please use the fit-all-pattern "#?" .
35                 createdtdesc does this too, if Pattern is ommited.
37 5)  Mask        Comparision mask to identify a file by its constant parts.
38                 To be specified as white space separated list of any
39                 of the following items:
40                 
41                 - specific char (ASCII)     : 'A' 'B' '1' '2'
42                 
43                 - specific char (numeric)   : 10 100 12 0xd8 
44                 
45                 - wildcard matching any char: ANY
46                 
47 6)  GroupID     GroupID of the DataTypes group. This ID must complain to the rules.
48                 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
49                 for details.
51                 syst : System file, such as; directory, executable, library, device, font, etc.
52                 text : Formatted or unformatted text
53                 docu : Formatted text with graphics or other DataTypes
54                 soun : Sound
55                 inst : Musical instruments used for musical scores
56                 musi : Musical score
57                 pict : Still picture
58                 anim : Animated picture
59                 movi : Animation with audio track
61 7)  ID          ID The ID of this DataType. This ID must complain to the rules.
62                 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
63                 for details.
65                 For IFF types it is the Form type, for other files it's the first
66                 four characters of the name of the file type.
68 8)  Flags       Flags as defined in <datatypes/datatypes.h> The following
69                 flags are supported:
71                 DTF_BINARY
72                 DTF_ASCII
73                 DTF_IFF
74                 DTF_MISC
75                 DTF_CASE         (AROS uses this for comparing the Mask)
76                 DTF_SYSTEM1
78                 Multiple flags must be separated by ',' without spaces between.
80 9)  Priority    Priority In most cases priority is 0. When this Keyword
81                 is missing 0 is assumed.
83 Example:
85 ---schnipp---
86 # This is a comment.
87 # The following blank line is ignored, too.
89 # Name - name of the DataType
90 # Used in the NAME-chunk and
91 # in DataTypeHeader->dth_Name .
92 Name=ILBM
94 # Version - Amiga-version-string
95 # Used in a FVER-chunk.
96 # This is optional.
97 Version=$VER: ILBM 44.5 (03-Nov-2000)
99 # BaseName - name of the DataType-class
100 # Used in DataTypeHeader->dth_BaseName .
101 BaseName=ilbm
103 # Pattern - filenamepattern
104 # Hey, this is not MSDOS, you shouldn't use filenamepatterns.
105 # When this is missing '#?' is assumed.
106 # Used in DataTypeHeader->dth_Pattern .
107 Pattern=#?
109 # Mask - the recognition-mask
110 # Used in DataTypeHeader->dth_Mask .
111 # DataTypeHeader->dth_MaskLen is counted from this string.
112 Mask='F' 'O' 'R' 'M' ANY ANY ANY ANY 'I' 'L' 'B' 'M'
114 # GroupID - GroupID as descriped in <datatypes/datatypes.h>
115 # Used in DataTypeHeader->dth_GroupID .
116 GroupID=pict
118 # ID - ID of the DataType
119 # Used in DataTypeHeader->dth_ID .
120 ID=ilbm
122 # Flags - flags as descriped in <datatypes/datatypes.h>
123 # Used in DataTypeHeader->dth_Flags .
124 Flags=DTF_IFF,DTF_CASE
126 # Priority - priority of the Datatype
127 # In most cases this is 0.
128 # When this is missing 0 is assumed.
129 # Used in DataTypeHeader->dth_Priority .
130 Priority=0
131 ---schnapp---