first simple rxpd access check
[webgit] / src / rxpd_client.h
1 /*
2     rxpd_client.h - regex policy daemon, client library
3
4   Copyright (C)
5     2007, 2008,         Christian Thaeter <ct@pipapo.org>
6
7   This program is free software; you can redistribute it and/or
8   modify it under the terms of the GNU General Public License as
9   published by the Free Software Foundation; either version 2 of the
10   License, or (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21
22 struct rxpd_client
23 {
24   char* address;
25   char* port;
26   struct addrinfo* ai;
27
28   char* prefix;
29   FILE* handle;
30   char buf[4096];
31 };
32 typedef struct rxpd_client* RxpdClient;
33
34 RxpdClient
35 rxpd_client_init (RxpdClient self, const char* address, const char* prefix);
36
37 RxpdClient
38 rxpd_client_destroy (RxpdClient self);
39
40 void
41 rxpd_client_free (RxpdClient self);
42
43 RxpdClient
44 rxpd_client_new (const char* address, const char* prefix);
45
46 int
47 rxpd_client_open (RxpdClient self);
48
49 void
50 rxpd_client_close (RxpdClient self);
51
52 int
53 rxpd_client_cmd (RxpdClient self, const char* command, const char* list);
54
55 int
56 rxpd_client_query (RxpdClient self, const char* fmt, ...);
57
58 int
59 rxpd_client_pending (RxpdClient self, int timeout);
60
61 const char*
62 rxpd_client_recieve (RxpdClient self);