making swig more backward compatible
[lwes-php.git] / lwes.i
blobdb7ddc21c311a07f102caa490f9c0ce6cbeff1ac
1 %module lwes
3 %pragma(php4) phpinfo="
4 php_info_print_table_start();
5 php_info_print_table_header(2, \"LWES support\", \"enabled\");
6 php_info_print_table_end();
9 %{
10 #include "lwes.h"
13 %typemap(in) char * {
15 if ((*$input)->type == IS_NULL) {
16 $1 = NULL;
17 } else {
18 convert_to_string_ex($input);
19 $1 = Z_STRVAL_PP($input);
24 %typemap(in) struct lwes_event_type_db * {
26 if ((*$input)->type == IS_NULL) {
27 $1 = NULL;
28 } else {
29 if(SWIG_ConvertPtr(*$input, (void **)&$1, $1_descriptor, 0) < 0) {
30 $1 = NULL;
36 struct lwes_event_type_db *
37 lwes_event_type_db_create(char *filename);
39 int
40 lwes_event_type_db_destroy(struct lwes_event_type_db *db);
42 struct lwes_emitter *
43 lwes_emitter_create(char *address, char *iface, int port,
44 int emit_heartbeat, short freq);
46 struct lwes_emitter *
47 lwes_emitter_create_with_ttl(char *address, char *iface, int port,
48 int emit_heartbeat, short freq, int ttl);
50 int
51 lwes_emitter_emit(struct lwes_emitter *emitter, struct lwes_event *event);
53 int
54 lwes_emitter_emitto(char *address, char *iface, int port,
55 struct lwes_emitter *emitter, struct lwes_event *event);
57 int
58 lwes_emitter_destroy(struct lwes_emitter *emitter);
60 struct lwes_event *
61 lwes_event_create(struct lwes_event_type_db *db, char *event_name);
63 struct lwes_event *
64 lwes_event_create_with_encoding(struct lwes_event_type_db *db,
65 char *event_name, short encoding);
67 int
68 lwes_event_set_U_INT_16(struct lwes_event *event, char *attribute_name,
69 unsigned short a_uint16);
71 int
72 lwes_event_get_U_INT_16(struct lwes_event *event, char *attribute_name,
73 unsigned short *a_uint16);
75 int
76 lwes_event_set_INT_16(struct lwes_event *event, char *attribute_name,
77 short a_int16);
79 int
80 lwes_event_get_INT_16(struct lwes_event *event, char *attribute_name,
81 short *a_int16);
83 int
84 lwes_event_set_U_INT_32(struct lwes_event *event, char *attribute_name,
85 unsigned int a_uint32);
87 int
88 lwes_event_get_U_INT_32(struct lwes_event *event, char *attribute_name,
89 unsigned int *a_uint32);
91 int
92 lwes_event_set_INT_32(struct lwes_event *event, char *attribute_name,
93 int a_int32);
95 int
96 lwes_event_get_INT_32(struct lwes_event *event, char *attribute_name,
97 int *a_int32);
99 int
100 lwes_event_set_U_INT_64(struct lwes_event *event, char *attribute_name,
101 unsigned long a_uint64);
104 lwes_event_get_U_INT_64(struct lwes_event *event, char *attribute_name,
105 unsigned long &a_uint64);
107 int
108 lwes_event_set_INT_64(struct lwes_event *event, char *attribute_name,
109 long a_uint64);
112 lwes_event_get_INT_64(struct lwes_event *event, char *attribute_name,
113 long &a_uint64);
116 lwes_event_set_STRING(struct lwes_event *event, char *attribute_name,
117 char *a_string);
120 lwes_event_get_STRING(struct lwes_event *event, char *attribute_name,
121 char **a_string);
124 lwes_event_set_IP_ADDR_w_string(struct lwes_event *event, char *attribute_name,
125 char *an_ip_addr);
128 lwes_event_get_IP_ADDR(struct lwes_event *event, char *attribute_name,
129 struct in_addr *an_in_addr);
132 lwes_event_set_BOOLEAN(struct lwes_event *event, char *attribute_name,
133 int a_boolean);
136 lwes_event_get_BOOLEAN(struct lwes_event *event, char *attribute_name,
137 int *a_boolean);
140 lwes_event_destroy(struct lwes_event *event);
142 %inline %{
144 struct lwes_event *
145 lwes_event_create_no_db(char *event_name)
147 return lwes_event_create(NULL, event_name);