summaryrefslogtreecommitdiff
path: root/support/texlab/crates/bibutils_sys/src/copactypes.c
blob: 49797eb90504330b3417d7dfd6de7122bf6ee094 (plain)
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 );