acl  3.5.3.0
util.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 
4 namespace acl
5 {
6 
7 /**
8  * 获得上次系统调用出错时的错误号
9  * @return {int} 错误号
10  */
11 ACL_CPP_API int last_error(void);
12 
13 /**
14  * 手工设置错误号
15  * @param errnum {int} 错误号
16  */
17 ACL_CPP_API void set_error(int errnum);
18 
19 /**
20  * 获得上次系统调用出错时的错误描述信息,该函数内部采用了线程局部变量,所以是线程
21  * 安全的,但使用起来更简单些
22  * @return {const char *} 返回错误提示信息
23  */
24 ACL_CPP_API const char* last_serror(void);
25 
26 /**
27  * 获得上次系统调用出错时的错误描述信息
28  * @param buf {char*} 存储错误描述信息的内存缓冲区
29  * @param size {int} buffer 的空间大小
30  * @return {const char*} 返回的地址应与 buffer 相同
31  */
32 ACL_CPP_API const char* last_serror(char* buf, size_t size);
33 
34 /**
35  * 类似于标准C的 strerror, 但该函数是跨平台且是线程安全的,获得对应某个错误
36  * 号的错误描述信息
37  * @param errnum {int} 错误号
38  * @param buf {char*} 存储错误描述信息的内存缓冲区
39  * @param size {int} buffer 缓冲区的大小
40  * @return {const char*} 返回的地址应与 buffer 相同
41 */
42 ACL_CPP_API const char* string_error(int errnum, char* buf, size_t size);
43 
44 ACL_CPP_API int strncasecmp_(const char *s1, const char *s2, size_t n);
45 ACL_CPP_API void assert_(bool n);
46 ACL_CPP_API void meter_time(const char *filename, int line, const char *info);
47 ACL_CPP_API long long get_curr_stamp(void);
48 ACL_CPP_API double stamp_sub(const struct timeval& from,
49  const struct timeval& sub);
50 
51 } // namespace acl
ACL_CPP_API void meter_time(const char *filename, int line, const char *info)
ACL_CPP_API int strncasecmp_(const char *s1, const char *s2, size_t n)
ACL_CPP_API int last_error(void)
ACL_CPP_API void assert_(bool n)
ACL_CPP_API const char * last_serror(void)
ACL_CPP_API const char * string_error(int errnum, char *buf, size_t size)
ACL_CPP_API double stamp_sub(const struct timeval &from, const struct timeval &sub)
#define ACL_CPP_API
ACL_CPP_API long long get_curr_stamp(void)
ACL_CPP_API void set_error(int errnum)