$Revision: 1.13 $
Example code: Determine which keys to look for.
This is based on the C code that was reversed engineered from existing Perl
code. (~ottrey/which_table/which_table.c)
Included Files
Preprocessor definitions
#define WK_IMPL
#define DOMAINNAME "^[ ]*[a-zA-Z0-9--]*(\\.[a-zA-Z0-9--]+)*[ ]*$"
#define DOMAINALPHA "[a-zA-Z]"
#define LEN_MIN 0
#define LEN_MAX 32
#define NETLEN 16
#define NETQUADS 4
#define NETQUAD_MIN 0
#define NETQUAD_MAX 255
#define ASNUM_MIN 1
#define ASNUM_MAX 65535
#define ASNUM_NUMOFFSET 2
#define VALIDIP6PREFIX "^[0-9A-F:]*:[0-9A-F:/]*$"
#define NET "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"
#define ASNUM "^AS[1-9]+[0-9]*$"
#define NETNAME "^[A-Z][A-Z0-9-]*$"
#define MAINTAINER "^[A-Z][A-Z0-9-]*$"
#define LIMERICK "^LIM-[A-Z0-9-]+$"
#define KEYCERT "^PGPKEY-[0-9A-F]{8}$"
#define ROUTESETNAME "^RS-[A-Z0-9-]*$"
#define ASSETNAME "^AS-[A-Z0-9-]*$"
#define AUTONICPREFIXREGULAR "^AUTO-"
#define IPRANGE "^[0-9]{1,3}(\\.[0-9]{1,3}){0,3}[ ]+-[ ]+[0-9]{1,3}(\\.[0-9]{1,3}){0,3}$"
#define IPADDRESS "^[0-9.]+$"
#define IPPREFIX "^[0-9.]+/[0-9]+$"
#define NAME_B "^[a-zA-Z][a-zA-Z_0-9.'|`;:,?/}{()+*#&-]*$"
#define VALIDIP4PREFIX
#define EMAIL "^[.a-zA-Z0-9--]*@[a-zA-Z0-9--]*(\\.[a-zA-Z0-9--]+)*$"
char* nicpostfix[]
char* special[]
char* countries[]
char* const Keytypes[]
Create a new which keytypes bitmap.
More:
Authors:
ottrey
- Online References:
mask_t WK_new ( char* key )
- char* key
- The key to be examined.
Convert the which keytypes bitmap into a string.
More:
Authors:
ottrey
- Online References:
char* WK_to_string ( mask_t wk )
- mask_t wk
- The which keytypes mask to be converted.
static int isasnum ( char* string )
static int isdomname ( char* string )
static int isname_a ( char* string )
static int isname_ab ( char* string )
static int isname_b ( char* string )
static int isnetname ( char* string )
static int isnichandle ( char* nichdl )
static int perform_regex_test ( const char* pattern, char* string )
static int wk_is_assetname ( char* key )
static int wk_is_autnum ( char* key )
static int wk_is_domain ( char* key )
static int wk_is_email ( char* key )
static int wk_is_hostname ( char* key )
static int wk_is_ip6prefix ( char* key )
static int wk_is_ipaddress ( char* key )
static int wk_is_ipprefix ( char* key )
static int wk_is_iprange ( char* key )
static int wk_is_key_cert ( char* key )
static int wk_is_limerick ( char* key )
static int wk_is_mntner ( char* key )
static int wk_is_name ( char* key )
static int wk_is_net6name ( char* key )
static int wk_is_netname ( char* key )
static int wk_is_nic_hdl ( char* key )
static int wk_is_routesetname ( char* key )