1 | #ifndef PM_H 2 | #define PM_H 3 | 4 | #include <glib.h> 5 | #include "mysql_driver.h" 6 | #include "iproutines.h" 7 | 8 | /*************************************** 9 | $Revision: 1.4 $ 10 | 11 | Protocol whois module (pw). Whois protocol. 12 | 13 | Status: NOT REVUED, NOT TESTED 14 | 15 | +html+ <DL COMPACT> 16 | +html+ <DT>Online References: 17 | +html+ <DD><UL> 18 | +html+ </UL> 19 | +html+ </DL> 20 | +html+ <PRE> 21 | Author: 22 | ottrey 23 | marek 24 | andrei 25 | +html+ </PRE> 26 | 27 | ******************/ /****************** 28 | Copyright (c) 1999 RIPE NCC 29 | 30 | All Rights Reserved 31 | 32 | Permission to use, copy, modify, and distribute this software and its 33 | documentation for any purpose and without fee is hereby granted, 34 | provided that the above copyright notice appear in all copies and that 35 | both that copyright notice and this permission notice appear in 36 | supporting documentation, and that the name of the author not be 37 | used in advertising or publicity pertaining to distribution of the 38 | software without specific, written prior permission. 39 | 40 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 41 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL 42 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 43 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN 44 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 45 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 46 | ***************************************/ 47 | /*+ String sizes +*/ 48 | #define STR_S 63 49 | #define STR_M 255 50 | #define STR_L 1023 51 | #define STR_XL 4095 52 | #define STR_XXL 16383 53 | 54 | /*+ Maximum size of input that can be recieved from the client. +*/ 55 | #define MAX_INPUT_SIZE 1024 56 | 57 | typedef struct _nrtm_q_t { 58 | char *source; 59 | int version; 60 | long first; 61 | long last; 62 | } nrtm_q_t; 63 | 64 | #define PM_get_current_serial(connection) PM_get_minmax_serial(connection, 1) 65 | #define PM_get_oldest_serial(connection) PM_get_minmax_serial(connection, 0) 66 | 67 | 68 | long PM_get_minmax_serial(SQ_connection_t *sql_connection, int max); 69 | char *PM_get_serial_object(SQ_connection_t *sql_connection, long serial_number, int *operation); 70 | GString *PM_get_nrtm_sources(ip_addr_t *client_address, char *source); 71 | 72 | void PM_interact(int sock); 73 | 74 | #endif /* PM_H */