home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / vrac / ged2ht23.zip / TAGS.H < prev   
C/C++ Source or Header  |  1995-06-21  |  7KB  |  330 lines

  1. /*
  2.  * Copyright (c) 1995 Eugene W. Stark
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by Eugene W. Stark.
  16.  * 4. The name of the author may not be used to endorse or promote products
  17.  *    derived from this software without specific prior written permission.
  18.  * 5. No copying or redistribution in any form for commercial purposes is
  19.  *    permitted without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
  25.  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  26.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  27.  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  */
  33.  
  34. #define ADDR 257
  35. #define ADOP 258
  36. #define AFN 259
  37. #define AGE 260
  38. #define AGNC 261
  39. #define ALIA 262
  40. #define ANCI 263
  41. #define ANUL 264
  42. #define ARVL 265
  43. #define ASSO 266
  44. #define AUTH 267
  45. #define BAPL 268
  46. #define BAPM 269
  47. #define BARM 270
  48. #define BASM 271
  49. #define BIRT 272
  50. #define BLES 273
  51. #define BROT 274
  52. #define BURI 275
  53. #define BUYR 276
  54. #define CALN 277
  55. #define CAST 278
  56. #define CAUS 279
  57. #define CEME 280
  58. #define CENS 281
  59. #define CHAN 282
  60. #define CHAR 283
  61. #define CHIL 284
  62. #define CHR 285
  63. #define CHRA 286
  64. #define CLAS 287
  65. #define CONC 288
  66. #define CONF 289
  67. #define COMM 290
  68. #define CONL 291
  69. #define CONT 292
  70. #define COPR 293
  71. #define CORP 294
  72. #define CPLR 295
  73. #define DATA 296
  74. #define DATE 297
  75. #define DEAT 298
  76. #define DEFN 299
  77. #define DESI 300
  78. #define DEST 301
  79. #define DIV 302
  80. #define DIVF 303
  81. #define DPRT 304
  82. #define DSCR 305
  83. #define EDTR 306
  84. #define EDUC 307
  85. #define ENDL 308
  86. #define ENGA 309
  87. #define EMIG 310
  88. #define EVEN 311
  89. #define FAM 312
  90. #define FAMC 313
  91. #define FAMS 314
  92. #define FATH 315
  93. #define FIDE 316
  94. #define FYLE 317
  95. #define FILM 318
  96. #define FORM 319
  97. #define GEDC 320
  98. #define GODP 321
  99. #define GRAD 322
  100. #define HDOH 323
  101. #define HEAD 324
  102. #define HEIR 325
  103. #define HFAT 326
  104. #define HMOT 327
  105. #define HUSB 328
  106. #define IDNO 329
  107. #define IMMI 330
  108. #define INDI 331
  109. #define INDX 332
  110. #define INFT 333
  111. #define INTV 334
  112. #define ISA 335
  113. #define ISSUE 336
  114. #define ITEM 337
  115. #define LABL 338
  116. #define LANG 339
  117. #define LCCN 340
  118. #define LGTE 341
  119. #define MARB 342
  120. #define MARC 343
  121. #define MARL 344
  122. #define MARR 345
  123. #define MARS 346
  124. #define MEDI 347
  125. #define MBR 348
  126. #define MOTH 349
  127. #define NAME 350
  128. #define NAMR 351
  129. #define NAMS 352
  130. #define NATI 353
  131. #define NATU 354
  132. #define NCHI 355
  133. #define NMR 356
  134. #define NOTE 357
  135. #define NUMB 358
  136. #define OCCU 359
  137. #define OFFI 360
  138. #define ORDN 361
  139. #define ORIG 362
  140. #define OWNR 363
  141. #define PAGE 364
  142. #define PARI 365
  143. #define PHON 366
  144. #define PHOTO 367
  145. #define PHUS 368
  146. #define PLAC 369
  147. #define PORT 370
  148. #define PROB 371
  149. #define PROP 372
  150. #define PUBL 373
  151. #define PUBR 374
  152. #define PWIF 375
  153. #define QUAY 376
  154. #define RECO 377
  155. #define REFN 378
  156. #define REFS 379
  157. #define RELI 380
  158. #define REPO 381
  159. #define RETI 382
  160. #define RFN 383
  161. #define ROLE 384
  162. #define SCHEMA 385
  163. #define SELR 386
  164. #define SEQU 387
  165. #define SERS 388
  166. #define SEX 389
  167. #define SIBL 390
  168. #define SIGN 391
  169. #define SIST 392
  170. #define SITE 393
  171. #define SLGC 394
  172. #define SLGS 395
  173. #define SOUND 396
  174. #define SOUR 397
  175. #define SPOU 398
  176. #define SSN 399
  177. #define STAT 400
  178. #define SUBM 401
  179. #define SUBN 402
  180. #define TEMP 403
  181. #define TEXT 404
  182. #define TIME 405
  183. #define TITL 406
  184. #define TRLR 407
  185. #define TXPY 408
  186. #define TYPE 409
  187. #define VERS 410
  188. #define WFAT 411
  189. #define WIFE 412
  190. #define WILL 413
  191. #define WITN 414
  192. #define WMOT 415
  193. #define XLTR 416
  194. #define ABSTRACTOR 417
  195. #define ABT 418
  196. #define ACTIVE 419
  197. #define AFT 420
  198. #define AND 421
  199. #define AUDIO 422
  200. #define AUTHOR 423
  201. #define BC 424
  202. #define BEF 425
  203. #define BET 426
  204. #define BIC 427
  205. #define BOOK 428
  206. #define BUSINESS 429
  207. #define CANCELED 430
  208. #define CARD 431
  209. #define CENSUS 432
  210. #define CHURCH 433
  211. #define COMPILER 434
  212. #define COMPLETED 435
  213. #define COPY 436
  214. #define COURT 437
  215. #define CTNC 438
  216. #define DIVORCED 439
  217. #define DNS 440
  218. #define DONE 441
  219. #define DWEL 442
  220. #define EDITOR 443
  221. #define EDTN 444
  222. #define ELECTRONIC 445
  223. #define EST 446
  224. #define EXTRACT 447
  225. #define FAMN 448
  226. #define FEMALE 449
  227. #define FICHE 450
  228. #define FOUND 451
  229. #define FROM 452
  230. #define GOVERNMENT 453
  231. #define HDOG 454
  232. #define HISTORY 455
  233. #define INFANT 456
  234. #define INFORMANT 457
  235. #define INTERVIEW 458
  236. #define INTERVIEWER 459
  237. #define ISSU 460
  238. #define JOURNAL 461
  239. #define LAND 462
  240. #define LEGA 463
  241. #define LETTER 464
  242. #define MAGAZINE 465
  243. #define MALE 466
  244. #define MANUSCRIPT 467
  245. #define MARRIED 468
  246. #define MAP 469
  247. #define MEMBER 470
  248. #define MILITARY 471
  249. #define MSTAT 472
  250. #define NEWSPAPER 473
  251. #define NO 474
  252. #define NUMBER 475
  253. #define ORDERED 476
  254. #define ORGANIZATION 477
  255. #define ORIGINAL 478
  256. #define UNPUBLISHED 479
  257. #define PARE 480
  258. #define PERI 481
  259. #define PERIODICAL 482
  260. #define PERSONAL 483
  261. #define PHOTOCOPY 484
  262. #define PLACE 485
  263. #define PLANNED 486
  264. #define PLOT 487
  265. #define PROVED 488
  266. #define RECITED 489
  267. #define REL 490
  268. #define SHEE 491
  269. #define SINGLE 492
  270. #define STILLBORN 493
  271. #define SUBMITTED 494
  272. #define TO 495
  273. #define TOMBSTONE 496
  274. #define TRADITION 497
  275. #define TRANSCRIBER 498
  276. #define TRANSCRIPT 499
  277. #define USB 500
  278. #define VIDEO 501
  279. #define VITAL 502
  280. #define WAC 503
  281. #define WIDOWED 504
  282. #define YES 505
  283. #define BEGIN 506
  284. #define END 507
  285. #define ANSEL 508
  286. #define UNICODE 509
  287. #define XREF 510
  288. #define LINE 511
  289. #define ESCAPE_SEQUENCE 512
  290. #define SLASH 513
  291. #define LINEAGE_LINKED 514
  292. #define UNDERSCORE 515
  293. #define COLON 516
  294. #define OTHER_BANG 517
  295. #define TOKEN 518
  296. #define STRING 519
  297. #define NEWLINE 520
  298. #define BADKEY 521
  299.  
  300. #define ENGLISH_LANGUAGE 0
  301. /*
  302.  * Define additional language codes 1, 2, 3, etc. here
  303.  *
  304.  * The total number of languages must appear in the next line.
  305.  */
  306. #define LANGUAGES 1
  307.  
  308. extern int default_language;
  309.  
  310. struct tag {
  311.   char *name;           /* Name recognized by parser */
  312.   int value;           /* Internal code */
  313.   char *pname[LANGUAGES];  /* Print names */
  314. };
  315.  
  316. /*
  317.  * Initializations of these tables in tags.c must be modified
  318.  * to include strings for additional languages.
  319.  */
  320.  
  321. extern struct tag gedcom_tags[];
  322. extern int gedcom_tags_size;
  323. extern struct tag gedcom_special[];
  324. extern int gedcom_special_size;
  325. extern struct tag gedcom_other[];
  326. extern int gedcom_other_size;
  327.  
  328. struct tag *findtag(char *s, struct tag *tab, int nmemb);
  329. void validate_tags_tables();
  330.