1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/*
* copactypes.c
*
* Copyright (c) Chris Putnam 2004-2019
*
* Program and source code released under the GPL version 2
*
*/
#include <stdio.h>
#include <string.h>
#include "is_ws.h"
#include "fields.h"
#include "reftypes.h"
/* if no specific type can be identified */
static lookups generic[] = {
{ "TI-", "TITLE" , TITLE, LEVEL_MAIN },
{ "AU-", "AUTHOR", PERSON, LEVEL_MAIN },
{ "MV-", "VOLUME", SIMPLE, LEVEL_MAIN },
{ "SE-", "TITLE", TITLE, LEVEL_HOST },
{ "ED-", "EDITION", SIMPLE, LEVEL_MAIN },
{ "SC-", "SCALE", SIMPLE, LEVEL_MAIN }, /* for maps */
{ "PU-", "PUBLISHER", SIMPLE, LEVEL_MAIN },
{ "PY-", "DATE:YEAR", SIMPLE, LEVEL_MAIN },
{ "PD-", "DESCRIPTION", SIMPLE, LEVEL_MAIN }, /* physical description */
{ "DT-", "TYPE", SIMPLE, LEVEL_MAIN },
{ "LA-", "LANGUAGE", SIMPLE, LEVEL_MAIN },
{ "IS-", "SERIALNUMBER", SERIALNO, LEVEL_MAIN },
{ "NT-", "NOTES", NOTES, LEVEL_MAIN },
{ "KW-", "KEYWORD", SIMPLE, LEVEL_MAIN },
{ "UL-", "URL", SIMPLE, LEVEL_MAIN },
{ "HL-", "LOCATION", SIMPLE, LEVEL_MAIN }
};
/* order is important....."Book" matches "Book" and "Book Section", hence
* "Book Section must come first */
#define ORIG(a) ( &(a[0]) )
#define SIZE(a) ( sizeof( a ) / sizeof( lookups ) )
#define REFTYPE(a,b) { a, ORIG(b), SIZE(b) }
variants copac_all[] = {
REFTYPE( "Generic", generic ),
};
int copac_nall = sizeof( copac_all ) / sizeof( variants );
|