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