modules/ud/ud.h

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

FUNCTIONS

This source file includes following functions.
  1. IS_DUMMY_ALLOWED
  2. IS_UPDATE
  3. IS_NRTM_CLNT
  4. IS_STANDALONE
  5. IS_PERSIST_MIRR
  6. IS_NO_NHR
  7. ACT_CREATE
  8. ACT_UPDATE
  9. ACT_DELETE
  10. ACT_UPD_NHR
  11. ACT_UPD_RX
  12. ACT_UPD_DUMMY
  13. ACT_UPD_CLLPS

   1 /***************************************
   2   $Revision: 1.12 $
   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,2001,2002                    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 #ifndef _UD_H
  32 #define _UD_H
  33 
  34 /* Error codes definition */
  35 #define ERROR_U_MEM     0x0001 /* memory allocation error */
  36 #define ERROR_U_DBS     0x0002 /* database (sql) error */
  37 #define ERROR_U_OBJ     0x0004 /* referential integrity failure */
  38 #define ERROR_U_AUT     0x0008 /* membership authirization failure */
  39 
  40 #define ERROR_U_BADOP   0x0010 /* unknown operation */
  41 #define ERROR_U_COP     0x0020 /* conflicting operation (e.g. deletig non-existent object) */
  42 #define ERROR_U_NSUP    0x0040 /* object type not supported */
  43 #define ERROR_U_BUG     0x0080 /*  software bug - report to developer */
  44 
  45 /* definition of mode bits */
  46 #define B_DUMMY                 0x01
  47 #define B_UPDATE                0x02
  48 #define B_NRTM_CLNT             0x04
  49 #define B_STANDALONE            0x08
  50 
  51 /* no NHR store - when mirroring foreign db */
  52 #define B_NO_NHR                0x10
  53 /* invitation includes -k */
  54 #define B_PERSIST_MIRR          0x20
  55 
  56  
  57 /* macros for update mode operation */
  58 #define IS_DUMMY_ALLOWED(a)     ((a)&(B_DUMMY))
     /* [<][>][^][v][top][bottom][index][help] */
  59 #define IS_UPDATE(a)            ((a)&(B_UPDATE))
     /* [<][>][^][v][top][bottom][index][help] */
  60 #define IS_NRTM_CLNT(a)         ((a)&(B_NRTM_CLNT))
     /* [<][>][^][v][top][bottom][index][help] */
  61 #define IS_STANDALONE(a)        ((a)&(B_STANDALONE))
     /* [<][>][^][v][top][bottom][index][help] */
  62 
  63 #define IS_PERSIST_MIRR(a)      ((a)&(B_PERSIST_MIRR))
     /* [<][>][^][v][top][bottom][index][help] */
  64 #define IS_NO_NHR(a)            ((a)&(B_NO_NHR))
     /* [<][>][^][v][top][bottom][index][help] */
  65 
  66 /* XXX SQL transaction types */
  67 
  68 #define TR_UPDATE   1000
  69 #define TR_INSERT   2000
  70 #define TR_CREATE   TR_INSERT
  71 #define TR_DELETE   3000
  72 
  73 
  74 
  75 /* Transaction action (tr.action ) */
  76 #define TA_CREATE       0x01
  77 #define TA_UPDATE       0x02
  78 #define TA_DELETE       0x04
  79 #define TA_UPD_NHR      0x08
  80 #define TA_UPD_RX       0x10
  81 #define TA_DUMMY        0x20
  82 #define TA_CLLPS        0x40
  83 #define TA_UPD_DUMMY    (TA_UPDATE | TA_DUMMY)
  84 #define TA_UPD_CLLPS    (TA_UPDATE | TA_CLLPS)
  85 
  86 
  87 
  88 /* macros for transaction operation bitmask (tr.action) */
  89 #define ACT_CREATE(a)           ((a)&TA_CREATE)
     /* [<][>][^][v][top][bottom][index][help] */
  90 #define ACT_UPDATE(a)           ((a)&TA_UPDATE)
     /* [<][>][^][v][top][bottom][index][help] */
  91 #define ACT_DELETE(a)           ((a)&TA_DELETE)
     /* [<][>][^][v][top][bottom][index][help] */
  92 #define ACT_UPD_NHR(a)          ((a)&TA_UPD_NHR) /* update Nic Handle Repository  */
     /* [<][>][^][v][top][bottom][index][help] */
  93 #define ACT_UPD_RX(a)           ((a)&TA_UPD_RX) /* update radix tree */
     /* [<][>][^][v][top][bottom][index][help] */
  94 
  95 #define ACT_UPD_DUMMY(a)        ((a)&TA_DUMMY) /* update of a dummy object */
     /* [<][>][^][v][top][bottom][index][help] */
  96 #define ACT_UPD_CLLPS(a)        ((a)&TA_CLLPS) /* collapsed (DEL+ADD) update */
     /* [<][>][^][v][top][bottom][index][help] */
  97 
  98  
  99 
 100 #define OP_ADD          1
 101 #define OP_DEL          2
 102 #define OP_UPD          3
 103 #define OP_NOOP         4
 104 
 105 /* class type for dummy objects */
 106 #define DUMMY_TYPE      100
 107 
 108 /* Definitions for "refer" (domain referral mechanism) */
 109 #define S_RIPE "RIPE"
 110 #define S_INTERNIC "InterNIC"
 111 #define S_SIMPLE "SIMPLE"
 112 #define S_CLIENTADDERSS "CLIENTADDRESS"
 113 
 114 
 115 typedef enum {
 116  RF_RIPE=1,
 117  RF_INTERNIC,
 118  RF_SIMPLE,
 119  RF_CLIENTADDRESS
 120 } refer_t;
 121 
 122 #define RF_DEF_PORT     43
 123 
 124 
 125 
 126 void UD_do_nrtm(void *args);
 127 void UD_do_updates(void *args);
 128 
 129 
 130 #endif /* _UD_H */
 131 

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