1 | #ifndef READ_WHICH_KEYTYPES
2 | #define READ_WHICH_KEYTYPES
3 |
4 | /***************************************
5 | $Revision: 1.7 $
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_NICHDL, /*+ NICHDL +*/
37 | WK_EMAIL, /*+ RFC822 e-mail address +*/
38 | WK_MAINT, /*+ Maintainer name +*/
39 | WK_KEYCERT, /*+ PGPKEY (see i-d for syntax) +*/
40 | WK_IPRANGE, /*+ IP range (*) needs modification +*/
41 | WK_IP6RANGE, /*+ IPv6 range (*) needs modification +*/
42 | WK_NETNAME, /*+ Network name +*/
43 | WK_ASNUM, /*+ AS number +*/
44 | WK_ASSETNAME, /*+ AS set name +*/
45 | WK_ROUTESETNAME, /*+ Route set name +*/
46 | WK_DOMNAME, /*+ Domain name +*/
47 | WK_HOSTNAME, /*+ Host name +*/
48 | WK_LIMERICKNAME, /*+ Limerick name +*/
49 | WK_END
50 | } WK_Type;
51 |
52 | #define WK_SEARCH_MASK_SQ WK_NAME, \
53 | WK_NICHDL, \
54 | WK_EMAIL, \
55 | WK_MAINT, \
56 | WK_KEYCERT, \
57 | WK_NETNAME, \
58 | WK_ASNUM, \
59 | WK_ASSETNAME, \
60 | WK_ROUTESETNAME, \
61 | WK_DOMNAME, \
62 | WK_HOSTNAME, \
63 | WK_LIMERICKNAME, \
64 | MA_END
65 |
66 | #define WK_SEARCH_MASK_RX WK_IPRANGE, \
67 | WK_IP6RANGE, \
68 | MA_END
69 |
70 | int WK_is_name(char *key);
71 | int WK_is_nichdl(char *key);
72 | int WK_is_email(char *key);
73 | int WK_is_maint(char *key);
74 | int WK_is_pgpkey(char *key);
75 | int WK_is_iprange(char *key);
76 | int WK_is_ip6range(char *key);
77 | int WK_is_netname(char *key);
78 | int WK_is_asnum(char *key);
79 | int WK_is_assetname(char *key);
80 | int WK_is_routesetname(char *key);
81 | int WK_is_domname(char *key);
82 | int WK_is_hostname(char *key);
83 | int WK_is_limerickname(char *key);
84 | char *WK_to_string(mask_t wk);
85 | mask_t WK_new(char *key);
86 |
87 | #endif /* READ_WHICH_KEYTYPES */