00001
00002
00003
00004
00005 #if !defined(_INCLUDED_CHKSVC_SERVICE_H_HEADER__)
00006 #define _INCLUDED_CHKSVC_SERVICE_H_HEADER__
00007
00019 typedef struct chksvc_service_t
00020 {
00021 #if defined(HAVE_SSL)
00022 SSL_CTX *ctx;
00023 SSL *ssl;
00024 apr_pollset_t *pdata;
00025 #endif
00026 double begin;
00027 double end;
00028 char *addr;
00029 short port;
00030 char *type;
00031 apr_socket_t *sock;
00032 apr_sockaddr_t *remote_sa;
00033 sul_boolean_t use_ssl;
00034 } chksvc_service_t;
00035
00047 apr_status_t
00048 chksvc_service_create(chksvc_service_t **self, const char *addr, short port,
00049 const char *type, sul_boolean_t use_ssl,
00050 apr_pool_t *pool);
00051
00058 apr_status_t
00059 chksvc_service_open(chksvc_service_t *self);
00060
00069 apr_status_t
00070 chksvc_service_initialize(chksvc_service_t *self, apr_pool_t *pool);
00071
00082 apr_status_t
00083 chksvc_service_set_default_port(chksvc_service_t *self, short port,
00084 short sport);
00085
00093 apr_status_t
00094 chksvc_service_close(chksvc_service_t *self);
00095
00106 apr_status_t
00107 chksvc_service_send(chksvc_service_t *self, char *data, apr_size_t *sz);
00108
00120 apr_status_t
00121 chksvc_service_recv(chksvc_service_t *self, char *data, apr_size_t *sz);
00122
00125 #endif