diff options
| author | 杨威 <[email protected]> | 2022-12-26 15:09:19 +0800 |
|---|---|---|
| committer | 杨威 <[email protected]> | 2022-12-26 15:09:19 +0800 |
| commit | 84ba71da683501bf01307fc2d19ff79a9feead7f (patch) | |
| tree | 5c65a2779812c9011a80f0019c246791982c1e20 | |
| parent | 3414147c737fb33cb40d254a4eada40024b8904f (diff) | |
🦄 refactor(plugin callback fun_type_t): 直接使用enum替代int作为参数
| -rw-r--r-- | include/private/plugin.h | 2 | ||||
| -rw-r--r-- | include/private/stream_manage.h | 3 | ||||
| -rw-r--r-- | include/private/stream_register.h | 4 | ||||
| -rw-r--r-- | src/dealpkt/callapp.c | 10 |
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;
|
