File include/query_instructions.h

  $Revision: 1.11 $

Query instruction module (qi) config module.
Status: NOT REVUED, NOT TESTED
Included in: modules/pw/protocol_whois.c

Included Files


Preprocessor definitions

#define READ_QUERY_INSTRUCTIONS

#define MAX_INSTRUCTIONS 100

#define Q_PRI_NAME "SELECT N00.pe_ro_id FROM %s WHERE %s "

#define Q_INV_NAME "SELECT %s.object_id FROM %s, %%s WHERE %s.pe_ro_id = N00.pe_ro_id AND %%s"

#define Q_PRI_NICHDL "SELECT pe_ro_id FROM person_role WHERE person_role.nic_hdl = '%s'"

#define Q_INV_NICHDL "SELECT %s.object_id FROM person_role, %s WHERE person_role.nic_hdl = '%s' AND person_role.pe_ro_id = %s.pe_ro_id"

#define Q_PRI_EMAIL "SELECT object_id FROM e_mail WHERE e_mail = '%s'"

#define Q_INV_EMAIL "SELECT object_id FROM notify WHERE notify = '%s'"

#define Q_PRI_MAINT "SELECT mnt_id FROM mntner WHERE mntner = '%s'"

#define Q_INV_MAINT "SELECT object_id FROM mnt_by WHERE mntner = '%s'"

#define Q_PRI_KEYCERT "SELECT key_cert_id FROM key_cert WHERE key_cert = '%s'"

#define Q_INV_KEYCERT NULL

#define Q_PRI_IPRANGE "SELECT in_id FROM inetnum WHERE inetnum = '%s'"

#define Q_INV_IPRANGE NULL

#define Q_PRI_IP6RANGE "SELECT i6_id FROM inet6num WHERE inetnum = '%s'"

#define Q_INV_IP6RANGE NULL

#define Q_PRI_NETNAME "SELECT in_id FROM inetnum WHERE netname = '%s'"

#define Q_INV_NETNAME NULL

#define Q_PRI_ASNUM "SELECT an_id FROM aut_num WHERE aut_num = '%s'"

#define Q_INV_ASNUM "SELECT rt_id FROM route WHERE origin = '%s'"

#define Q_PRI_ASSETNAME "SELECT as_id FROM as_set WHERE as_set = '%s'"

#define Q_INV_ASSETNAME NULL

#define Q_PRI_ROUTESETNAME "SELECT rs_id FROM route_set WHERE route_set = '%s'"

#define Q_INV_ROUTESETNAME NULL

#define Q_PRI_DOMNAME "SELECT dn_id FROM domain WHERE domain = '%s'"

#define Q_INV_DOMNAME "SELECT dn_id FROM dn_sub_dom WHERE domain = '%s'"

#define Q_PRI_HOSTNAME NULL

#define Q_INV_HOSTNAME NULL

#define Q_PRI_LIMERICKNAME "SELECT li_id FROM limerick WHERE limerick = '%s'"

#define Q_INV_LIMERICKNAME NULL

#define Q_OBJECTS "SELECT last.serial, last.prev_serial, last.object FROM last, %s WHERE last.serial=%s.id GROUP BY last.serial"

#define Q_REC "INSERT INTO %s_R SELECT pe_ro_id FROM %s, %s WHERE object_id = %s.id"

#define Q_REC_OBJECTS "SELECT last.serial, last.prev_serial, last.object FROM last, %s_R WHERE last.serial=%s_R.id GROUP BY last.serial"

#define Q_NO_OBJECTS "SELECT serial, prev_serial, object FROM last WHERE serial = 0"


Typedef QI_Type

typedef enum QI_Type_t QI_Type
enum QI_Type_t 
   { 
     QI_SQL; 
     QI_RADIX; 
     QI_RADIX_IN; 
     QI_RADIX_RT; 
     QI_END; 
   } 

Typedef Query_instruction

typedef struct Query_instruction_t Query_instruction
struct Query_instruction_t 
   { 
     QI_Type search_type; 
     char* query_str; 
     char* rx_keys; 
     unsigned int rx_srch_mode; 
     unsigned int rx_par_a; 
   } 

Typedef Query_instructions

typedef struct Query_instructions_t Query_instructions
struct Query_instructions_t 
   { 
     Query_instruction* instruction[100]; 
     unsigned int sock; 
     unsigned int recursive; 
   }