00001 /* $Id$ */ 00002 00003 #ifndef __HI_CLIENT_H__ 00004 #define __HI_CLIENT_H__ 00005 00006 00007 #ifdef HAVE_CONFIG_H 00008 #include "config.h" 00009 #endif 00010 00011 #include <sys/types.h> 00012 00013 #include "hi_include.h" 00014 #include "hi_eo.h" 00015 #include "hi_eo_events.h" 00016 00017 typedef struct s_HI_CLIENT_REQ 00018 { 00019 /* 00020 u_char *method; 00021 int method_size; 00022 */ 00023 00024 u_char *uri; 00025 u_char *uri_norm; 00026 u_int uri_size; 00027 u_int uri_norm_size; 00028 00029 /* 00030 u_char *param; 00031 u_int param_size; 00032 u_int param_norm; 00033 */ 00034 00035 /* 00036 u_char *ver; 00037 u_int ver_size; 00038 00039 u_char *hdr; 00040 u_int hdr_size; 00041 00042 u_char *payload; 00043 u_int payload_size; 00044 */ 00045 00046 u_char *pipeline_req; 00047 00048 } HI_CLIENT_REQ; 00049 00050 typedef struct s_HI_CLIENT 00051 { 00052 HI_CLIENT_REQ request; 00053 int (*state)(void *, unsigned char, int); 00054 HI_CLIENT_EVENTS event_list; 00055 00056 } HI_CLIENT; 00057 00058 int hi_client_inspection(void *Session, unsigned char *data, int dsize); 00059 int hi_client_init(HTTPINSPECT_GLOBAL_CONF *GlobalConf); 00060 00061 #endif