1    | /***************************************
2    |   $Revision: 1.10 $
3    | 
4    |   Status: NOT REVUED, NOT TESTED
5    | 
6    |  Author(s):       Andrei Robachevsky
7    | 
8    |   ******************/ /******************
9    |   Modification History:
10   |         andrei (17/01/2000) Created.
11   |   ******************/ /******************
12   |   Copyright (c) 2000                              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   | 
32   | /* XXX                  IMPORTANT                        XXX  */
33   | /* XXX Many of the definitions are hardcoded here        XXX */
34   | /* XXX Incase of adding or reordering classes/attributes XXX */
35   | /* XXX Check this file, please                           XXX */
36   | 
37   | 
38   | #define TAB_START	6
39   | char *t_ab[]={  "mntner","person_role","names",NULL,NULL,NULL,
40   |                 "admin_c","tech_c","notify","mnt_by","mnt_lower",NULL };
41   |                 
42   | char *t_an[]={	"mntner","person_role","as_set","names","mbrs_by_ref",NULL,
43   | 		"cross_nfy","cross_mnt","member_of","admin_c","tech_c","notify","mnt_by","mnt_lower","mnt_routes",NULL };
44   | 		
45   | char *t_dn[]={	"mntner","person_role","names",NULL,NULL,NULL,
46   | 		"admin_c","tech_c","zone_c","nserver","sub_dom","notify","mnt_by","mnt_lower","refer","inaddr_arpa", "ip6int", NULL }; /*C_DN, */
47   | 		
48   | char *t_i6[]={	"mntner","person_role","names",NULL,NULL,NULL,
49   | 		"admin_c","tech_c","rev_srv","notify","mnt_by","mnt_lower","mnt_routes",NULL}; /*C_I6,*/
50   | 
51   | char *t_in[]={	"mntner","person_role","names",NULL,NULL,NULL,
52   | 		"admin_c","tech_c","rev_srv","notify","mnt_by","mnt_lower","mnt_routes",NULL}; /*C_IN,*/
53   | 		
54   | char *t_ir[]={	"mntner","person_role","names",NULL,NULL,NULL,
55   | 		"ifaddr","admin_c","tech_c","notify","mnt_by",NULL}; /*C_IR,*/
56   | 		
57   | char *t_kc[]={	"mntner",NULL,NULL,NULL,NULL,NULL,
58   | 		"notify","mnt_by",NULL}; /*C_KC,*/
59   | 		
60   | char *t_li[]={	"mntner","person_role","names",NULL,NULL,NULL,
61   | 		"admin_c","author","notify","mnt_by",NULL}; /*C_LI,*/
62   | 		
63   | char *t_mt[]={	"mntner","person_role","names",NULL,NULL,NULL,
64   | 		"admin_c","tech_c","upd_to","mnt_nfy","auth","notify","mnt_by","auth_override","referral_by",NULL}; /*C_MT,*/
65   | 		
66   | char *t_pn[]={	"mntner",NULL,NULL,NULL,NULL,NULL,
67   | 		"names","e_mail","notify","mnt_by",NULL}; /*C_PN,*/
68   | 		
69   | char *t_ro[]={	"mntner","person_role","names",NULL,NULL,NULL,
70   | 		"names","e_mail","admin_c","tech_c","notify","mnt_by",NULL}; /**C_RO,*/
71   | 		
72   | char *t_rt[]={	"route_set","mntner","person_role",NULL,NULL,NULL, /* admin-c, tech-c may appear in RADB */
73   | 		"cross_nfy","cross_mnt","member_of","notify","mnt_by","mnt_lower", "mnt_routes", NULL}; /*C_RT,*/
74   | 		
75   | char *t_as[]={	"mntner","person_role","names",NULL,NULL,NULL,
76   | 		"mbrs_by_ref","admin_c","tech_c","notify","mnt_by",NULL}; /*C_AS,*/
77   | 		
78   | char *t_rs[]={	"mntner","person_role","names",NULL,NULL,NULL,
79   | 		"mbrs_by_ref","admin_c","tech_c","notify","mnt_by",NULL}; /*C_RS,*/
80   | 		
81   | char *t_fs[]={  "mntner","person_role","names",NULL,NULL,NULL,
82   |                 "admin_c","tech_c","notify","mnt_by",NULL,NULL}; /*C_FS,*/
83   |                 
84   | char *t_ps[]={  "mntner","person_role","names",NULL,NULL,NULL,
85   |                 "admin_c","tech_c","notify","mnt_by",NULL,NULL}; /*C_PS,*/
86   |                 
87   | char *t_is[]={  "mntner","person_role","names",NULL,NULL,NULL,
88   |                 "mbrs_by_ref","admin_c","tech_c","notify","mnt_by",NULL}; /*C_IS,*/
89   |                 
90   | 
91   | /* IMPORTANT !!! */
92   | /* This stuff should be consistent with DF_classnames.def */
93   | 
94   | char **tables[]={
95   | t_ab,
96   | t_as,
97   | t_an,
98   | t_dn,
99   | t_ir,
100  | t_i6,
101  | t_in,
102  | t_kc,
103  | t_li,
104  | t_mt,
105  | t_pn,
106  | t_ro,
107  | t_rt,
108  | t_rs,
109  | t_fs,
110  | t_ps,
111  | t_is,
112  | NULL
113  | };
114  | 
115  | /* This tables are used for inverse querying when deleting an object */
116  | 
117  | char *t_ipn[]={  "admin_c","tech_c","zone_c","cross_nfy","author",NULL}; /*C_PN, C_RO*/
118  | char *t_imt[]={  "mnt_by","mnt_lower","mnt_routes","cross_mnt","mbrs_by_ref","referral_by",NULL}; /* C_MT */
119  |