acl
3.5.3.0
acl_myflock.h
浏览该文件的文档.
1
#ifndef ACL_FLOCK_INCLUDE_H
2
#define ACL_FLOCK_INCLUDE_H
3
4
#ifdef __cplusplus
5
extern
"C"
{
6
#endif
7
8
#include "
acl_define.h
"
9
10
/**
11
* 对打开的文件句柄进行加锁
12
* @param fd {ACL_FILE_HANDLE} 文件句柄
13
* @param lock_style {int} 系统提供的API加锁类型(仅对UNIX有效)
14
* ACL_FLOCK_STYLE_FLOCK or ACL_FLOCK_STYLE_FCNTL
15
* @param operation {int} 加锁操作方式, ACL_FLOCK_OP_XXX
16
* @return {int} 0: 加锁成功; -1: 加锁失败
17
*/
18
ACL_API
int
acl_myflock
(ACL_FILE_HANDLE fd,
int
lock_style,
int
operation);
19
20
/*
21
* Lock styles.
22
*/
23
#define ACL_FLOCK_STYLE_FLOCK 1
/**< 调用 flock 函数加锁(unix) */
24
#define ACL_FLOCK_STYLE_FCNTL 2
/**< 调用 fcntl 函数加锁(unix) */
25
26
/*
27
* Lock request types.
28
*/
29
#define ACL_FLOCK_OP_NONE 0
/**< 解锁 */
30
#define ACL_FLOCK_OP_SHARED 1
/**< 共享锁 */
31
#define ACL_FLOCK_OP_EXCLUSIVE 2
/**< 排它独享锁 */
32
33
/**
34
* 无等待加锁, 可以与 ACL_FLOCK_OP_SHARED, 或 ACL_FLOCK_OP_EXCLUSIVE 相与,
35
* 可以与 ACL_FLOCK_OP_SHARED 相与
36
*/
37
#define ACL_FLOCK_OP_NOWAIT 4
38
39
/**
40
* 加锁方式的位集合
41
*/
42
#define ACL_FLOCK_OP_BITS \
43
(ACL_FLOCK_OP_SHARED | ACL_FLOCK_OP_EXCLUSIVE | ACL_FLOCK_OP_NOWAIT)
44
45
#ifdef __cplusplus
46
}
47
#endif
48
49
#endif
acl_define.h
acl_myflock
ACL_API int acl_myflock(ACL_FILE_HANDLE fd, int lock_style, int operation)
include
acl
stdlib
acl_myflock.h
生成于 2021年 九月 10日 星期五 11:14:43 , 为 acl使用
1.8.15