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 */