00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __LWES_LISTENER_H
00021 #define __LWES_LISTENER_H
00022
00023 #include "lwes_types.h"
00024 #include "lwes_net_functions.h"
00025 #include "lwes_event.h"
00026
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030
00038 struct lwes_listener
00039 {
00041 struct lwes_net_connection connection;
00043 struct lwes_event_deserialize_tmp *dtmp;
00045 LWES_BYTE_P buffer;
00046 };
00047
00060 struct lwes_listener *
00061 lwes_listener_create
00062 (LWES_SHORT_STRING address,
00063 LWES_SHORT_STRING iface,
00064 LWES_U_INT_32 port);
00065
00092 int
00093 lwes_listener_add_header_fields
00094 (struct lwes_listener *listener,
00095 LWES_BYTE_P bytes,
00096 size_t max,
00097 size_t *len);
00098
00112 int
00113 lwes_listener_event_has_name
00114 (LWES_BYTE_P bytes,
00115 size_t len,
00116 LWES_CONST_SHORT_STRING name);
00117
00129 int
00130 lwes_listener_recv_process_event
00131 (struct lwes_listener *listener,
00132 struct lwes_event *event,
00133 int len);
00134
00142 int
00143 lwes_listener_recv
00144 (struct lwes_listener *listener,
00145 struct lwes_event *event);
00146
00155 int
00156 lwes_listener_recv_by
00157 (struct lwes_listener *listener,
00158 struct lwes_event *event,
00159 unsigned int timeout_ms);
00160
00173 int
00174 lwes_listener_recv_bytes
00175 (struct lwes_listener *listener,
00176 LWES_BYTE_P bytes,
00177 size_t max);
00178
00192 int
00193 lwes_listener_recv_bytes_by
00194 (struct lwes_listener *listener,
00195 LWES_BYTE_P bytes,
00196 size_t max,
00197 unsigned int timeout_ms);
00198
00206 int
00207 lwes_listener_destroy
00208 (struct lwes_listener *listener);
00209
00210 #ifdef __cplusplus
00211 }
00212 #endif
00213
00214 #endif