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