8 #ifndef _GDSPARSER_GDSRECORDS_H
9 #define _GDSPARSER_GDSRECORDS_H
89 static const char* gdsRecordsAscii[] = {
154 static const char* gdsRecordsDescription[] = {
155 "Start of stream, contains version number of stream file",
156 "Beginning of library, plus mod and access dates",
157 "The name of the library",
158 "Size of db unit in user units and size of db unit in meters",
159 "End of the library",
160 "Begin structure, plus create and mod dates",
161 "Name of a structure",
162 "End of a structure",
163 "The beginning of a BOUNDARY element",
164 "The beginning of a PATH element",
165 "The beginning of an SREF element",
166 "The beginning of an AREF element",
167 "The beginning of a TEXT element",
168 "Layer specification",
169 "Datatype specification",
170 "Width specification, negative means absolute",
171 "An array of XY coordinates",
172 "The end of an element",
173 "The name of a referenced structure",
174 "Columns and rows for an AREF",
175 "\"Not currently used\" per GDSII Stream Format Manual, Release 6.0",
176 "The beginning of a NODE element",
177 "Texttype specification",
178 "Text origin and font specification",
179 "\"Discontinued\" per GDSII Stream Format Manual, Release 6.0",
181 "Refl, absmag, and absangle for SREF, AREF and TEXT",
182 "Magnification, 1 is the default",
183 "Angular rotation factor",
184 "User integer, used only in V2.0, translates to userprop 126 on instream",
185 "User string, used only in V2.0, translates to userprop 127 on instream",
186 "Names of the reference libraries",
187 "Names of the textfont definition files",
189 "Number of deleted or backed up structures to retain",
190 "Name of the attribute definition file",
191 "\"Unreleased feature\" per GDSII Stream Format Manual, Release 6.0",
192 "\"Unreleased feature\" per GDSII Stream Format Manual, Release 6.0",
193 "Flags for template and exterior data",
194 "\"Unreleased feature\" per GDSII Stream Format Manual, Release 6.0",
195 "\"Unreleased feature\" per GDSII Stream Format Manual, Release 6.0",
196 "\"Unreleased feature\" per GDSII Stream Format Manual, Release 6.0",
197 "Nodetype specification",
200 "The beginning of a BOX element",
201 "Boxtype specification",
202 "Plex number and plexhead flag",
203 "Path extension beginning for pathtype 4 in CustomPlus",
204 "Path extension end for pathtype 4 in CustomPlus",
205 "Tape number for multi-reel stream file, you've got a really old file here",
206 "Tape code to verify that you've loaded a reel from the proper set",
207 "Calma use only, non-Calma programs should not use, or set to all 0",
208 "Used to be NUMTYPES per GDSII Stream Format Manual, Release 6.0",
209 "Archive or Filtered flag",
210 "Only in filtered streams, lists layer and datatype mask used",
211 "The end of mask descriptions",
212 "Number of pages in library director, a GDSII thing...",
213 "Sticks rule file name",
214 "Access control list stuff for CalmaDOS, ancient!",
215 "***ERROR*** Unknown record type type"
235 static const char* gdsDataAscii[] = {
247 static const char* gdsDataDescription[] = {
248 "No data present (nothing after the record header)",
249 "Bit array (2 bytes)",
250 "Two byte signed integer",
251 "Four byte signed integer",
252 "Four byte real (not used?)",
254 "ASCII string (padded to an even byte count with NULL)",
259 static const int gdsRecordsExpectData[] = {
331 return gdsRecordsAscii[record_type];
337 return gdsRecordsDescription[record_type];
343 return gdsRecordsExpectData[record_type];
349 return gdsDataAscii[data_type];
355 return gdsDataDescription[data_type];
362 if (numeric > GdsRecords::UNKNOWN)
363 numeric = GdsRecords::UNKNOWN;
371 if (numeric > GdsData::UNKNOWN)
372 numeric = GdsData::UNKNOWN;
int gds_record_expected_data(int record_type)
const char * gds_data_description(int data_type)
GDSII records. The records are numbered with consecutive integers, so we can use simple array to save...
EnumType
enum type of data type
GdsData::EnumType gds_data_type(int numeric)
convert integer to enum
const char * gds_data_ascii(int data_type)
const char * gds_record_description(int record_type)
namespace for Limbo.GdsParser
const char * gds_record_ascii(int record_type)
EnumType
enum type of GDSII records
GdsRecords::EnumType gds_record_type(int numeric)
convert integer to enum