huperlayers.library now uses autoopening of libraries
[AROS.git] / tools / dtdesc / FORMAT
blobe86d41734037a837a41664dc891ea62b27072d36
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.
24 2)  Version     A standard Amiga-version-string. Used in the FVER-chunk.
25                 This Keyword is optional. When it is missing no FVER-chunk
26                 is written.
28 3)  BaseName    BaseName of the DataType as it resides in
29                 Sys:Classes/DataTypes . No ".datatype" must be appended.
31 4)  Pattern     FileNamePattern, an standard Amiga-pattern.
32                 This is AmigaOS, not a crippled OS-wannabe from Redmont.
33                 So 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 7)  ID          ID The ID of this DataType. This ID must complain to the rules.
52                 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
53                 for details.
55 8)  Flags       Flags as defined in <datatypes/datatypes.h> The following
56                 flags are supported:
58                 DTF_BINARY
59                 DTF_ASCII
60                 DTF_IFF
61                 DTF_MISC
62                 DTF_CASE
63                 DTF_SYSTEM1
65                 Multiple flags must be separated by ',' without spaces between.
67 9)  Priority    Priority In most cases priority is 0. When this Keyword
68                 is missing 0 is assumed.
70 Example:
72 ---schnipp---
73 # This is a comment.
74 # The following blank line is ignored, too.
76 # Name - name of the DataType
77 # Used in the NAME-chunk and
78 # in DataTypeHeader->dth_Name .
79 Name=ILBM
81 # Version - Amiga-version-string
82 # Used in a FVER-chunk.
83 # This is optional.
84 Version=$VER: ILBM 44.5 (03-Nov-2000)
86 # BaseName - name of the DataType-class
87 # Used in DataTypeHeader->dth_BaseName .
88 BaseName=ilbm
90 # Pattern - filenamepattern
91 # Hey, this is not MSDOS, you shouldn't use filenamepatterns.
92 # When this is missing '#?' is assumed.
93 # Used in DataTypeHeader->dth_Pattern .
94 Pattern=#?
96 # Mask - the recognition-mask
97 # Used in DataTypeHeader->dth_Mask .
98 # DataTypeHeader->dth_MaskLen is counted from this string.
99 Mask='F' 'O' 'R' 'M' ANY ANY ANY ANY 'I' 'L' 'B' 'M'
101 # GroupID - GroupID as descriped in <datatypes/datatypes.h>
102 # Used in DataTypeHeader->dth_GroupID .
103 GroupID=pict
105 # ID - ID of the DataType
106 # Used in DataTypeHeader->dth_ID .
107 ID=ilbm
109 # Flags - flags as descriped in <datatypes/datatypes.h>
110 # Used in DataTypeHeader->dth_Flags .
111 Flags=DTF_IFF,DTF_CASE
113 # Priority - priority of the Datatype
114 # In most cases this is 0.
115 # When this is missing 0 is assumed.
116 # Used in DataTypeHeader->dth_Priority .
117 Priority=0
118 ---schnapp---