1    | #ifndef READ_ATTRIBUTES
2    | #define READ_ATTRIBUTES
3    | 
4    | /***************************************
5    |   $Revision: 1.5 $
6    | 
7    |   Attributes module (at) - 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   | /*+ Number of duplicate tokens in the Attributes[] array +*/
36   | #define DUP_TOKENS 2
37   | 
38   | /*+ 
39   |     All the attributes.
40   |     Note: this _should_ match exactly with the Attributes[] array - but
41   |     unfortunately they _could_ differ.  This may need re-designing.
42   | +*/
43   | typedef enum AT_Type_t {
44   |   A_AC=0, /*+ admin-c       +*/            
45   |   A_AA,   /*+ as-name       +*/            
46   |   A_AD,   /*+ address       +*/            
47   |   A_AG,   /*+ aggr-mtd      +*/           
48   |   A_AB,   /*+ aggr-bndry    +*/         
49   |   A_AH,   /*+ author        +*/             
50   |   A_AN,   /*+ aut-num       +*/            
51   |   A_AS,   /*+ as-set        +*/             
52   |   A_AT,   /*+ auth          +*/               
53   |   A_AZ,   /*+ alias         +*/              
54   |   A_CE,   /*+ certif        +*/             
55   |   A_CH,   /*+ changed       +*/            
56   |   A_CY,   /*+ country       +*/            
57   |   A_CN,   /*+ cross-nfy     +*/          
58   |   A_CO,   /*+ components    +*/         
59   |   A_CT,   /*+ cross-mnt     +*/          
60   |   A_DA,   /*+ dom-name      +*/           
61   |   A_DE,   /*+ descr         +*/              
62   |   A_DF,   /*+ default       +*/            
63   |   A_DC,   /*+ dictionary    +*/         
64   |   A_DI,   /*+ dom-net       +*/            
65   |   A_DN,   /*+ domain        +*/             
66   |   A_DT,   /*+ upd-to        +*/             
67   |   A_EC,   /*+ export-comps  +*/       
68   |   A_EN,   /*+ encapsulatio n+*/      
69   |   A_EM,   /*+ e-mail        +*/             
70   |   A_EX,   /*+ export        +*/             
71   |   A_FI,   /*+ filter        +*/             
72   |   A_FP,   /*+ fingerpr      +*/           
73   |   A_FS,   /*+ filter-set    +*/         
74   |   A_FX,   /*+ fax-no        +*/             
75   |   A_HO,   /*+ holes         +*/              
76   |   A_IF,   /*+ ifaddr        +*/             
77   |   A_IJ,   /*+ inject        +*/             
78   |   A_IN,   /*+ inetnum       +*/            
79   |   A_I6,   /*+ inet6num      +*/           
80   |   A_IP,   /*+ import        +*/             
81   |   A_IR,   /*+ inet-rtr      +*/           
82   |   A_IS,   /*+ rtr-set       +*/            
83   |   A_KC,   /*+ key-cert      +*/           
84   |   A_LA,   /*+ local-as      +*/           
85   |   A_LI,   /*+ limerick      +*/           
86   |   A_MH,   /*+ method        +*/             
87   |   A_MB,   /*+ mnt-by        +*/             
88   |   A_ML,   /*+ mnt-lower     +*/          
89   |   A_MO,   /*+ member-of     +*/          
90   |   A_MR,   /*+ mbrs-by-ref   +*/        
91   |   A_MS,   /*+ members       +*/            
92   |   A_MT,   /*+ mntner        +*/             
93   |   A_MN,   /*+ mnt-nfy       +*/            
94   |   A_NA,   /*+ netname       +*/            
95   |   A_NH,   /*+ nic-hdl       +*/            
96   |   A_NS,   /*+ nserver       +*/            
97   |   A_NY,   /*+ notify        +*/             
98   |   A_OR,   /*+ origin        +*/             
99   |   A_OW,   /*+ owner         +*/              
100  |   A_PE,   /*+ peer          +*/               
101  |   A_PG,   /*+ peering       +*/            
102  |   A_PH,   /*+ phone         +*/              
103  |   A_PL,   /*+ protocol      +*/           
104  |   A_PN,   /*+ person        +*/             
105  |   A_PS,   /*+ peering-set   +*/        
106  |   A_RF,   /*+ refer         +*/              
107  |   A_RM,   /*+ remarks       +*/            
108  |   A_RO,   /*+ role          +*/               
109  |   A_RP,   /*+ rp-attribute  +*/       
110  |   A_RS,   /*+ route-set     +*/          
111  |   A_RT,   /*+ route         +*/              
112  |   A_RZ,   /*+ rev-srv       +*/            
113  |   A_SD,   /*+ sub-dom       +*/            
114  |   A_SO,   /*+ source        +*/             
115  |   A_ST,   /*+ status        +*/             
116  |   A_TB,   /*+ trouble       +*/            
117  |   A_TD,   /*+ typedef       +*/            
118  |   A_TC,   /*+ tech-c        +*/             
119  |   A_TX,   /*+ text          +*/               
120  |   A_WD,   /*+ withdrawn     +*/          
121  |   A_ZC,   /*+ zone-c        +*/             
122  |   A_END
123  | } AT_Type;
124  | 
125  | char * const *AT_get_sources(void);
126  | const char *AT_get_source(int index);
127  | char * AT_sources_to_string(void);
128  | char * AT_sources_list_to_string(GList *sources);
129  | char * const *AT_get_attributes(void);
130  | const char *AT_get_attribute(AT_Type attr_index, int offset);
131  | const char *AT_get_attribute_desc(AT_Type attr_index);
132  | const char *AT_get_attribute_frmt(AT_Type attr_index);
133  | char *AT_attributes_to_string(int offset);
134  | 
135  | #endif /* READ_ATTRIBUTES */