## 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.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 #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
     106 void UD_do_nrtm(void *args);
     107 void UD_do_updates(void *args);
     108
     109
     110 #endif /* _UD_H */
     111

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