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 */