acl/lib_acl/include/unit_test/acl_test_global.h

241 lines
6.9 KiB
C
Raw Normal View History

2014-11-19 00:25:21 +08:00
#ifndef ACL_TEST_GLOBAL_INCLUDE_H
#define ACL_TEST_GLOBAL_INCLUDE_H
# ifdef __plusplus
extern "C" {
# endif
#include "stdlib/acl_define.h"
#include "stdlib/acl_loadcfg.h"
#include "stdlib/acl_array.h"
#include "acl_test_struct.h"
/*----------------------- <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> -----------------------------------*/
/* in acl_test_cfg.c */
ACL_API ACL_ARRAY *aut_parse_args_list(const char *str_in);
ACL_API void aut_free_args_list(ACL_ARRAY *a);
/* in acl_test_cfg_general.c */
ACL_API int aut_cfg_add_general_line(const ACL_CFG_LINE *line);
/* in acl_test_inner.c*/
ACL_API AUT_LINE *aut_add_inner_cmd(const ACL_CFG_LINE *line);
/* in acl_test_outer.c */
ACL_API AUT_LINE *aut_add_outer_cmd(const ACL_CFG_LINE *line);
/* in acl_test_token.c */
ACL_API AUT_CMD_TOKEN *aut_line_peer_token(const AUT_LINE *test_line);
ACL_API AUT_LINE *aut_line_peer(const AUT_LINE *test_line);
/* in acl_test_misc.c */
ACL_API void aut_line_free(void *ctx);
/*------------------ <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>Ե<EFBFBD><D4B5>õ<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> ----------------------------*/
/* in acl_test_cfg.c */
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
* @param pathname <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
* @return 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>, -1 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>
*/
ACL_API int aut_cfg_parse(const char *pathname);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: 0, ʧ<EFBFBD><EFBFBD>: -1
*/
ACL_API int aut_cfg_print(void);
/* in acl_test_misc.c */
ACL_API AUT_LINE *aut_line_new(const ACL_CFG_LINE *cfg_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>Զ<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
* @param cmd_name <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: <EFBFBD>ǿ<EFBFBD>ָ<EFBFBD><EFBFBD>, ʧ<EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
*/
ACL_API const ACL_ARRAY *aut_args_get(const char *cmd_name);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
* @return <EFBFBD>ɹ<EFBFBD>: >0, ʧ<EFBFBD><EFBFBD>: -1
*/
ACL_API int aut_size(void);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ֵȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>нָ<EFBFBD><EFBFBD>
* @param idx <EFBFBD>±<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD>ɹ<EFBFBD>: <EFBFBD>ǿսָ<EFBFBD><EFBFBD>, ʧ<EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
*
*/
ACL_API AUT_LINE *aut_index(int idx);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD> test_line <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @param cmd_name: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD> 0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ط<EFBFBD> 0
*/
ACL_API int aut_line_cmdcmp(const AUT_LINE *test_line, const char *cmd_name);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @param result: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>ֵ
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD> 0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ط<EFBFBD> 0
*/
ACL_API int aut_line_resultcmp(const AUT_LINE *test_line, int result);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ȡ<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>к<EFBFBD>λ<EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: >=0, <EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ϊ<EFBFBD>к<EFBFBD>, ʧ<EFBFBD><EFBFBD>: < 0
*/
ACL_API int aut_line_number(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>к<EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: >=0, <EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>Ϊ<EFBFBD>к<EFBFBD>, ʧ<EFBFBD><EFBFBD>: < 0
*/
ACL_API int aut_line_valid_linenum(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD> 0, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ط<EFBFBD> 0
*/
ACL_API const char *aut_line_cmdname(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: >= 0, ʧ<EFBFBD><EFBFBD>: -1
*/
ACL_API int aut_line_argc(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>еIJ<EFBFBD><EFBFBD><EFBFBD>ֵ
* @param test_line AUT_LINE <EFBFBD>ָ<EFBFBD><EFBFBD>
* @param name Ҫ<EFBFBD><EFBFBD><EFBFBD>ҵĹؽ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: <EFBFBD>ǿ<EFBFBD>ָ<EFBFBD><EFBFBD>, ʧ<EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
*/
ACL_API const char *aut_line_getvalue(const AUT_LINE *test_line, const char *name);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: <EFBFBD>ǿ<EFBFBD>ָ<EFBFBD><EFBFBD>, ʧ<EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
*/
ACL_API const char *aut_line_argstr(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>ֵ
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>ֵ
* ˵<EFBFBD><EFBFBD>: û<EFBFBD>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>򷵻<EFBFBD> -1, <EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD> -1 ֵ<EFBFBD><EFBFBD>
* <EFBFBD>Ƿ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>ֵ
*/
ACL_API int aut_line_result(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD>: 1, <EFBFBD><EFBFBD>: 0
*/
ACL_API int aut_line_stop(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD>: 1, <EFBFBD><EFBFBD>: 0
*/
ACL_API int aut_line_reserved(AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD><EFBFBD>԰<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD> test_line ֮<EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @param arg: <EFBFBD>û<EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ӵIJ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: 0, ʧ<EFBFBD><EFBFBD>: -1
*/
ACL_API int aut_line_add_arg(AUT_LINE *test_line, void *arg);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD> test_line ɾ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @param free_fn: <EFBFBD>û<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
ACL_API void aut_line_del_arg(AUT_LINE *test_line, void (*free_fn) (void *));
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD> test_line <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: <EFBFBD>ǿ<EFBFBD>ָ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>
*/
ACL_API void *aut_line_get_arg(const AUT_LINE *test_line);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĽ<EFBFBD>β<EFBFBD><EFBFBD>
* @param start_linenum <EFBFBD><EFBFBD><EFBFBD>ʼִ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
* @return >= 0 ok; < 0 δ<EFBFBD>ҵ<EFBFBD>
*/
ACL_API int aut_end_linenum(int start_linenum);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>ӵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> test_line <EFBFBD><EFBFBD>, һֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>
* test_line.
* @param test_line: <EFBFBD><EFBFBD>ijһ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽָ<EFBFBD><EFBFBD>
* @param flag: defined as AUT_FLAG_ in acl_test_struct.h
* @return != NULL, ok find it; == NULL, not found.
*/
ACL_API const AUT_LINE *aut_lookup_from_line(const AUT_LINE *test_line, int flag);
/* in acl_test_runner.c */
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>еĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
* @return <EFBFBD>ɹ<EFBFBD>: 0, ʧ<EFBFBD><EFBFBD>: -1
*/
ACL_API int aut_start(void);
/**
* <EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ô˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>һЩ<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>Դ
*/
ACL_API void aut_stop(void);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
* @param test_fn_tab <EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
ACL_API void aut_register(const AUT_FN_ITEM test_fn_tab[]);
/* in acl_test_loop.c */
ACL_API AUT_LINE *aut_loop_make_begin(const ACL_CFG_LINE *cfg_line);
ACL_API AUT_LINE *aut_loop_make_break(const ACL_CFG_LINE *cfg_line);
ACL_API AUT_LINE *aut_loop_make_end(const ACL_CFG_LINE *cfg_line);
ACL_API const AUT_LINE *aut_loop_end(const AUT_LINE *test_begin);
ACL_API int aut_loop_count(const AUT_LINE *test_line);
ACL_API int aut_loop_from(const AUT_LINE *test_line);
ACL_API int aut_loop_to(const AUT_LINE *test_line);
/* in acl_test_log.c */
ACL_API int aut_log_open(const char *pathname);
ACL_API void aut_log_info(const char *format, ...);
ACL_API void aut_log_warn(const char *format, ...);
ACL_API void aut_log_error(const char *format, ...);
ACL_API void aut_log_fatal(const char *format, ...);
ACL_API void aut_log_panic(const char *format, ...);
# ifdef __plusplus
}
# endif
#endif