Source File nh/nh.h

    1    | /***************************************
    2    |   $Revision: 1.7 $
    3    |
    4    |   Status: NOT REVUED, NOT TESTED
    5    |
    6    |  Author(s):       Andrei Robachevsky
    7    |
    8    |   ******************/ /******************
    9    |   Modification History:
    10   |         andrei (10/04/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 _NH_H
    32   | #define _NH_H
    33   |
    34   | /************************************************************
    35   | *                                                           *
    36   | * NHR is capable of handling nic-handles __ONLY__           *
    37   | * of the following format:                                  *
    38   | *                                                           *
    39   | * Acceptable format is:                                     *
    40   | * [A-Z][A-Z]*[1-9][0-9]*(-[A-Z][A-Z]*)?                     *
    41   | *                                                           *
    42   | ************************************************************/
    43   | #include <mysql_driver.h>
    44   |
    45   | #define MAX_NH_LENGTH  64
    46   | #define MAX_NH_SPACE_LENGTH 4
    47   | #define MAX_NH_SOURCE_LENGTH 10
    48   |
    49   | #define MAX_NIC_ID  999999
    50   | #define NULL_NIC_ID (0)
    51   | #define AUTO_NIC_ID (-1)
    52   | #define MIN_NIC_ID  (-2)
    53   | #define MAX_RANGE   (MAX_NIC_ID+1)
    54   | #define MIN_RANGE   NULL_NIC_ID
    55   |
    56   | #define NH_DELETE 1000
    57   | #define NH_INSERT 2000
    58   |
    59   | typedef struct _range_t {
    60   |   long start;
    61   |   long end;
    62   |   char *space;
    63   |   char *source;
    64   | } range_t;
    65   |
    66   | /* structure to save nic handle data */
    67   | typedef struct _nic_handle_t {
    68   |   long nic_id;
    69   |   char *space;
    70   |   char *source;
    71   | } nic_handle_t;
    72   |
    73   | int NH_check(nic_handle_t *pnh, SQ_connection_t *sql_connection);
    74   | int NH_free(nic_handle_t *pnh, SQ_connection_t *sql_connection, int commit_now);
    75   | int NH_register(nic_handle_t *pnh, SQ_connection_t *sql_connection, int commit_now);
    76   |
    77   | char *NH_convert(nic_handle_t *pnh);
    78   | int NH_parse(const char *nic, nic_handle_t **pnh);
    79   |
    80   | void free_nh(nic_handle_t *nh_ptr);
    81   |
    82   | int NH_comrol(SQ_connection_t *sql_connection, int thread_ins, int thread_del);
    83   | #define NH_commit(sql_connection)    NH_comrol(sql_connection, NH_INSERT, NH_DELETE)
    84   | #define NH_rollback(sql_connection)  NH_comrol(sql_connection, NH_DELETE, NH_INSERT)
    85   |
    86   |
    87   | #endif /* _NH_H */