include/defs.h

/* [<][>][^][v][top]
[bottom][index][help] */

FUNCTIONS

This source file includes following functions.

   1 #ifndef READ_DEFS
   2 #define READ_DEFS
   3 
   4 /***************************************
   5   $Revision: 1.14 $
   6 
   7   Objects module (ob) - this _should_ eventually get merged in with the
   8   config module.
   9 
  10   Status: NOT REVUED, NOT TESTED
  11 
  12   ******************/ /******************
  13   Copyright (c) 1999                              RIPE NCC
  14  
  15   All Rights Reserved
  16   
  17   Permission to use, copy, modify, and distribute this software and its
  18   documentation for any purpose and without fee is hereby granted,
  19   provided that the above copyright notice appear in all copies and that
  20   both that copyright notice and this permission notice appear in
  21   supporting documentation, and that the name of the author not be
  22   used in advertising or publicity pertaining to distribution of the
  23   software without specific, written prior permission.
  24   
  25   THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  26   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
  27   AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
  28   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
  29   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  30   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  31   ***************************************/
  32 #include <glib.h>
  33 #include "bitmask.h"
  34 
  35 #include "DF_class_enum.def"
  36 #include "DF_class_mask.def"
  37 
  38 #include "DF_attribute_enum.def"
  39 #include "DF_attribute_inv_attr_mask.def"
  40 
  41 typedef enum _R_Type_t {
  42   R_SQL=0,
  43   R_RADIX,
  44   R_END
  45 } R_Type_t;
  46 
  47 typedef enum _Q_Type_t {
  48   Q_LOOKUP=0,
  49   Q_INVERSE
  50 } Q_Type_t;
  51 
  52 #include "which_keytypes.h"
  53 #include "iproutines.h"
  54 #include "rxroutines.h"
  55 
  56 typedef struct {
  57   R_Type_t refer;
  58   Q_Type_t querytype;
  59   WK_Type keytype;
  60   A_Type_t attribute;
  61   C_Type_t class;
  62   char * const query;
  63   char * const descr;
  64 } Query_t;
  65 
  66 #ifdef DEFS_IMPL
  67 #include "QI_queries.def"
  68 #else
  69 extern Query_t Query[];
  70 #endif
  71 
  72 
  73 typedef struct {
  74   A_Type_t attr;
  75   rx_fam_t family;
  76   char *   ipv4_load;
  77   char *   ipv6_load;
  78 } DF_Load_t;
  79 #ifdef DEFS_IMPL
  80 #include "DF_radix_load.def"
  81 #else
  82 extern  DF_Load_t DF_radix_load[];
  83 #endif
  84 
  85 
  86 
  87 typedef enum UD_qtype_t {
  88   UD_AUX__,
  89   UD_AX_PR,
  90   UD_AX_MT,
  91   UD_AX_MO,
  92   UD_AX_MR,
  93   UD_AX_MU,
  94   UD_LEAF_,
  95   UD_LF_IF,
  96   UD_LF_RF,
  97   UD_LF_AT,
  98   UD_LF_OT,
  99   UD_LF_AY,
 100   UD_MAIN_,
 101   UD_MA_RT,
 102   UD_MA_OR,
 103   UD_MA_PR,
 104   UD_MA_U2,
 105   UD_MA_IN,
 106   UD_MA_I6,
 107   UD_MA_AK,
 108   UD_NULL_
 109 } UD_qtype;
 110 
 111 typedef struct UD_query_t {
 112   UD_qtype qtype;
 113   char * const qry;
 114 } UD_query;
 115 
 116 /* take nothing, return array of strings */
 117 char * const *DF_get_filter_names(void);
 118 char * const *DF_get_class_names(void);
 119 char * const *DF_get_class_aliases(void);
 120 char * const *DF_get_attribute_aliases(void);
 121 char * const *DF_get_attribute_names(void);
 122 char * const *DF_get_server_queries(void);
 123 
 124 
 125 /* take class type enum, return the corresponding string  */
 126 char * const DF_get_class_sql_table(C_Type_t index);
 127 const char *DF_get_class_template(C_Type_t index);
 128 const char *DF_get_class_template_v(C_Type_t index);
 129 const char *DF_class_type2name(C_Type_t index);
 130 char * const DF_get_class_code(C_Type_t index);
 131 
 132 /* take index to class alias array */
 133 int DF_get_class_index(int alias_index);
 134 
 135 /* index to attribute alias array */
 136 int DF_get_attribute_index(int alias_index);
 137 
 138 /* take attribute type enum, return the corresponding string  */
 139 const char *DF_get_attribute_name(A_Type_t index);
 140 const char *DF_get_attribute_code(A_Type_t index);
 141 
 142 /* take attribute type enum, return UD related data: */
 143         /* return the corresponding UD query string */
 144 const char *DF_get_update_query(A_Type_t index);
 145 const char *DF_get_select_query(A_Type_t index);
 146 const char *DF_get_insert_query(A_Type_t index);
 147 const char *DF_get_dummy_query(A_Type_t index);
 148         /* return the corresponding UD query type  */
 149 UD_qtype DF_get_update_query_type(A_Type_t index);
 150 UD_qtype DF_get_insert_query_type(A_Type_t index);
 151 UD_qtype DF_get_select_query_type(A_Type_t index);
 152 UD_qtype DF_get_dummy_query_type(A_Type_t index);
 153 
 154 /* take attribute type enum, return radix related data: */
 155         /* return boolean if attribute has a radix tree */
 156 int DF_attrcode_has_radix_lookup(A_Type_t attr);
 157         /* return radix family */
 158 rx_fam_t DF_attrcode_radix_family(A_Type_t attr);
 159         /* return query string to load the v4/v6 radix tree*/
 160 char * DF_attrcode_radix_load_v4(A_Type_t attr);
 161 char * DF_attrcode_radix_load_v6(A_Type_t attr);
 162 
 163 /* take string, return corresponding enum code */
 164 A_Type_t DF_attribute_code2type(const gchar *token);
 165 A_Type_t DF_attribute_name2type (const gchar *token);
 166 C_Type_t DF_class_code2type(const gchar *token);
 167 C_Type_t DF_class_name2type(const gchar *token);
 168 
 169 #endif /* READ_DEFS */
 170 

/* [<][>][^][v][top][bottom][index][help] */