acl/app/gid/gid_server/include/gid_oper.h
zsxxsz cc05b877a2 first commit acl to github
first commit acl to github
2013-08-18 17:42:25 +08:00

52 lines
1.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __GID_OPER_INCLUDE_H__
#define __GID_OPER_INCLUDE_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "lib_acl.h"
#define GID_OK 200 /* 正常 */
#define GID_ERR_SID 500 /* 会话 ID 号不对 */
#define GID_ERR_OVERRIDE 501 /* 达到最大分配值 */
#define GID_ERR_SAVE 502 /* 存储至磁盘时出错 */
/**
* 根据错误号获得字符串描述
* @param errnum {int} 错误号
* @return {const char*} 错误描述
*/
const char *gid_serror(int errnum);
/**
* 获取下一个GID号
* @param path {const char*} 文件存储路径
* @param tag {const char*} ID标识号
* @param step {unsigned int} 每次的步进值
* @param errnum {int*} 若非空,则记录出错原因
* @return {acl_int64}, 如果返回值 < 0则表示分配失败
* 出错原因参考 errnum 的返回值
*/
acl_int64 gid_next(const char *path, const char *tag,
unsigned int step, int *errnum);
/**
* 初始化,程序启动后应调用此函数初始化内部库
* @param fh_limit {int} 缓存的文件句柄的最大个数
* @param sync_gid {int} 每产生一个新的 gid 后是否同时同步至磁盘
* @param debug_section {int} 调用用的标签值
*/
void gid_init(int fh_limit, int sync_gid, int debug_section);
/**
* 程序退出前必须调用此函数,以使内存中数据刷新至磁盘
*/
void gid_finish(void);
#ifdef __cplusplus
}
#endif
#endif