summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author杨威 <[email protected]>2022-12-26 15:09:19 +0800
committer杨威 <[email protected]>2022-12-26 15:09:19 +0800
commit84ba71da683501bf01307fc2d19ff79a9feead7f (patch)
tree5c65a2779812c9011a80f0019c246791982c1e20
parent3414147c737fb33cb40d254a4eada40024b8904f (diff)
🦄 refactor(plugin callback fun_type_t): 直接使用enum替代int作为参数
-rw-r--r--include/private/plugin.h2
-rw-r--r--include/private/stream_manage.h3
-rw-r--r--include/private/stream_register.h4
-rw-r--r--src/dealpkt/callapp.c10
4 files changed, 11 insertions, 8 deletions
diff --git a/include/private/plugin.h b/include/private/plugin.h
index 0de42a9..dc72f31 100644
--- a/include/private/plugin.h
+++ b/include/private/plugin.h
@@ -113,7 +113,7 @@ typedef struct {
extern plug_global_entry_t g_plug_global_entry[SAPP_MAX_PLUG_ENTRY_NUM];
extern int g_plug_global_entry_index;
extern void* g_plugin_runtime_handle;
-extern int stream_register_fun(int funtype,char (*x)(void), int entry_id);
+extern int stream_register_fun(enum fun_type_t funtype,char (*x)(void), int entry_id);
void plugin_call_flagstate();
int process_conf_entryname();
diff --git a/include/private/stream_manage.h b/include/private/stream_manage.h
index caea3d1..df85d0a 100644
--- a/include/private/stream_manage.h
+++ b/include/private/stream_manage.h
@@ -2,6 +2,7 @@
#define _STREAM_MANAGE_H_
#include "stream_internal.h"
+#include "stream_register.h"
#include "timeout.h"
#ifdef __cplusplus
@@ -117,7 +118,7 @@ struct global_stream
typedef struct _stStreamFunInfo
{
char appState;
- int funtype;/* 2014-12-31 lqy add */
+ enum fun_type_t funtype;/* 2014-12-31 lqy add */
int entry_id; /* ȫ��Ψһ��id, ����ÿ�������ں�����ִ��ʱ��ͳ�� */
char (*pfun)(void);
void *pAppInfo;
diff --git a/include/private/stream_register.h b/include/private/stream_register.h
index 7a71362..4fb7c8c 100644
--- a/include/private/stream_register.h
+++ b/include/private/stream_register.h
@@ -31,7 +31,7 @@ enum fun_type_t{
typedef struct _stFunArray
{
- int funtype; /* ��ipͷ��ʼ, or ������ԭʼ�� */
+ enum fun_type_t funtype; /* ��ipͷ��ʼ, or ������ԭʼ�� */
int entry_id; /* ȫ��Ψһ��id, ����ÿ�������ں�����ִ��ʱ��ͳ�� */
union
{
@@ -59,7 +59,7 @@ int stream_register_ipv6 (IPv6_CB_FUN_T fun);
int stream_register_ip_frag (IPv4_CB_FUN_T x);
int stream_register_ipv6_frag(IPv6_CB_FUN_T fun);
-int stream_register_fun(int funtype,char (*x)(void), int entry_id);
+int stream_register_fun(enum fun_type_t funtype,char (*x)(void), int entry_id);
//ҵ���ص��ӿ�
char PROT_PROCESS(stSessionInfo* session_info, void **pme, int thread_seq,struct streaminfo *a_stream,const void *a_packet);
diff --git a/src/dealpkt/callapp.c b/src/dealpkt/callapp.c
index 6124c8c..5af7e54 100644
--- a/src/dealpkt/callapp.c
+++ b/src/dealpkt/callapp.c
@@ -1,6 +1,8 @@
#include "sapp_api.h"
#include "sapp_private_api.h"
+#include "stream_register.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -57,7 +59,7 @@ static int g_OverlayUdpFunNum=0;
static stFunArray g_OverlayUdpFun[MAX_FUN_NUM];
-static inline int is_raw_cb(int cb_type);
+static inline int is_raw_cb(enum fun_type_t cb_type);
extern int G_TCP_FLOW_STAT_PROJECT_ID;
@@ -73,7 +75,7 @@ extern void timestamp_record(enum timestamp_level level, const raw_pkt_t *raw_pk
/* 2014-12-31 lqy add
TODO, ��Щ���ò��û��destroy�ӿ�.
*/
-int stream_register_funtoArray(int funtype,char (*x)(void),stFunArray *pArrary,int *pNum, int plug_entry_id)
+int stream_register_funtoArray(enum fun_type_t funtype,char (*x)(void),stFunArray *pArrary,int *pNum, int plug_entry_id)
{
if(*pNum>=MAX_FUN_NUM)
{
@@ -89,7 +91,7 @@ int stream_register_funtoArray(int funtype,char (*x)(void),stFunArray *pArrary,i
return 0;
}
-int stream_register_fun(int funtype,char (*x)(void), int plug_entry_id)
+int stream_register_fun(enum fun_type_t funtype,char (*x)(void), int plug_entry_id)
{
int ret=0;
switch(funtype)
@@ -1199,7 +1201,7 @@ const static raw_cb_fun_identify_t g_raw_cb_fun_identify_array[__FUN_TYPE_MAX]
};
-static inline int is_raw_cb(int cb_type)
+static inline int is_raw_cb(enum fun_type_t cb_type)
{
assert(cb_type < __FUN_TYPE_MAX);
return g_raw_cb_fun_identify_array[cb_type].is_raw;