1 | #ifndef READ_WHICH_KEYTYPES
2 | #define READ_WHICH_KEYTYPES
3 |
4 | /***************************************
5 | $Revision: 1.11 $
6 |
7 | Which Keytypes module (wk)
8 |
9 | Status: NOT REVUED, NOT TESTED
10 |
11 | ******************/ /******************
12 | Copyright (c) 1999 RIPE NCC
13 |
14 | All Rights Reserved
15 |
16 | Permission to use, copy, modify, and distribute this software and its
17 | documentation for any purpose and without fee is hereby granted,
18 | provided that the above copyright notice appear in all copies and that
19 | both that copyright notice and this permission notice appear in
20 | supporting documentation, and that the name of the author not be
21 | used in advertising or publicity pertaining to distribution of the
22 | software without specific, written prior permission.
23 |
24 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
25 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
26 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
27 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
28 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
29 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
30 | ***************************************/
31 | #include "bitmask.h"
32 |
33 | /*+ Enumeration of which keytypes: +*/
34 | typedef enum WK_Type_t {
35 | WK_NAME=0, /*+ A name +*/
36 | WK_NIC_HDL, /*+ NIC_HDL +*/
37 | WK_EMAIL, /*+ RFC822 e-mail address +*/
38 | WK_MNTNER, /*+ Maintainer name +*/
39 | WK_KEY_CERT, /*+ PGPKEY +*/
40 | WK_IPADDRESS, /*+ IP address +*/
41 | WK_IPRANGE, /*+ IP range +*/
42 | WK_IPPREFIX, /*+ IP prefix +*/
43 | WK_IP6PREFIX, /*+ IPv6 prefix +*/
44 | WK_NETNAME, /*+ Network name +*/
45 | WK_NET6NAME, /*+ IPv6 Network name +*/
46 | WK_AUTNUM, /*+ AS number +*/
47 | WK_ASSETNAME, /*+ AS set name +*/
48 | WK_ROUTESETNAME, /*+ Route set name +*/
49 | WK_DOMAIN, /*+ Domain name +*/
50 | WK_HOSTNAME, /*+ Host name +*/
51 | WK_LIMERICK, /*+ Limerick name +*/
52 | WK_ASRANGE, /*+ AS range (possibly only beginning) +*/
53 | WK_FILTERSET, /*+ filter-set name +*/
54 | WK_PEERINGSET, /*+ peering-set name +*/
55 | WK_RTRSET, /*+ router-set name +*/
56 | WK_END
57 | } WK_Type;
58 |
59 | /* for easy maintenance, the tables that depend on the enums are defined here.
60 | They must be kept in sync with each other. Also, the WK_new function must
61 | be kept in sync!!!
62 |
63 | Guarded with WK_IMPL so that they are compiled only once, inside wk.c
64 | */
65 | #ifdef WK_IMPL
66 | char * const Keytypes[] = {
67 | "name",
68 | "nic_hdl",
69 | "email",
70 | "mntner",
71 | "key_cert",
72 | "ipaddress",
73 | "iprange",
74 | "ipprefix",
75 | "ip6prefix",
76 | "netname",
77 | "net6name",
78 | "autnum",
79 | "assetname",
80 | "routesetname",
81 | "domain",
82 | "hostname",
83 | "limerick",
84 | "asrange",
85 | NULL
86 | }; /* Keytypes[] */
87 |
88 | #endif
89 |
90 | char *WK_to_string(mask_t wk);
91 | mask_t WK_new(char *key);
92 |
93 | #endif /* READ_WHICH_KEYTYPES */