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 |