acl/lib_acl/samples/dict/unix_aio/app_main.h

70 lines
2.9 KiB
C
Raw Normal View History

#ifndef __APP_MAIN_INCLUDE_H__
2014-11-19 00:25:21 +08:00
#define __APP_MAIN_INCLUDE_H__
#include "lib_acl.h"
#ifdef __cplusplus
extern "C" {
#endif
/* 客户端读写超时时间值 */
2014-11-19 00:25:21 +08:00
extern int app_var_client_idle_limit;
/* 用户级的运行函数类型, 当该函数返回值 != 0 时, 框架会自动关闭客户端流 */
2014-11-19 00:25:21 +08:00
typedef int (*APP_RUN_FN)(ACL_ASTREAM *stream, void *run_ctx);
/* 用户级的初始化函数类型 */
2014-11-19 00:25:21 +08:00
typedef void (*APP_INIT_FN)(void*);
typedef void (*APP_EXIT_FN)(void*);
typedef ACL_MASTER_SERVER_THREAD_INIT_FN APP_THREAD_INIT_FN /* void (*)(void*) */;
typedef ACL_MASTER_SERVER_THREAD_EXIT_FN APP_THREAD_EXIT_FN; /* void (*)(void*) */
#define APP_CTL_END 0 /* 参数控制结束标志 */
#define APP_CTL_INIT_FN 1 /* 初始化函数 */
#define APP_CTL_INIT_CTX 2 /* 初始化函数所用的参数 */
#define APP_CTL_CFG_BOOL 3 /* 整数类型的配置参数表 */
#define APP_CTL_CFG_INT 4 /* 整数类型的配置参数表 */
#define APP_CTL_CFG_STR 5 /* 字符串类型的配置参数表 */
#define APP_CTL_EXIT_FN 6 /* 当进程退出时的回调函数 */
#define APP_CTL_EXIT_CTX 7 /* 进程退出时回调函数的参数 */
#define APP_CTL_THREAD_INIT 8 /* 每个线程启动时的回调函数 */
#define APP_CTL_THREAD_INIT_CTX 9 /* 线程启动时回调函数的参数 */
#define APP_CTL_THREAD_EXIT 10 /* 线程退出时的回调函数 */
#define APP_CTL_THREAD_EXIT_CTX 11 /* 线程退出时回调函数的参数 */
#define APP_CTL_DENY_INFO 12 /* 当非法客户端访问时给出的提示信息 */
2014-11-19 00:25:21 +08:00
/*----------------------------------------------------------------------------*/
/* in app_main.c */
/**
* , ,
* (APP_INIT_FN ), 访
* (APP_RUN_FN ).
* .
* @param argc "int main(int argc, char *argv[])" argc
* @param argv "int main(int argc, char *argv[])" argv
* @param run_fn
* @param run_ctx run_fn()
* @param name , : APP_CTL_XXX
* : APP_CTL_XXX, xxx; APP_CTL_END ,
* .
2014-11-19 00:25:21 +08:00
* @example:
* app_main(argc, argv, {run_fn}, {run_ctx},
* APP_CTL_INIT_FN, {run_init_fn},
* APP_CTL_INIT_CTX, {run_init_ctx},
* APP_CTL_END);
* : app_main() , argc, argv, run_fn, run_ctx(NULL), APP_CTL_END
* .
2014-11-19 00:25:21 +08:00
*/
extern void app_main(int argc, char *argv[], APP_RUN_FN run_fn, void *run_ctx, int name, ...);
/*----------------------------------------------------------------------------*/
#ifdef __cplusplus
}
#endif
#endif