flock.h 文件

用途

定义文件控制选项。

描述

描述锁定的 /usr/include/sys/flock.h 文件中的 flock 结构包含以下字段:

描述
l_type 描述锁定的类型。 如果 fcntl 子例程的 Command 参数的值为 F_SETLKF_SETLKW,那么l_type字段指示要创建的锁定的类型。 可能的值为:
F_RDLCK
请求了读锁定。
F_WRLCK
请求写锁定。
F_UNLCK
释放潜力, 将除去现有锁定。

如果 fcntl 子例程的 Command 参数的值为 F_GETLK,那么 l_type字段描述现有锁定。 可能的值为:

F_RDLCK
存在冲突的读锁定。
F_WRLCK
存在冲突的写锁定。
F_UNLCK
不存在冲突的锁定。
l_whence 定义起始偏移量。 此字段的值指示相对偏移量的起始点。l_start场,是测量的。 可能的值为:
SEEK_SET
相对偏移量是从文件开头开始测量的。
SEEK_CUR
相对偏移量是从当前位置测量的。
SEEK_END
相对偏移量是从文件末尾测量的。

这些值在 unistd.h 文件中定义。

l_start 定义相对偏移量 (以字节为单位) ,从l_whence
l_len 指定要锁定的连续字节数。
l_sysid 包含已在 fcntl 子例程定义的区域上锁定的节点的标识。 仅当 Command 参数的值为 F_GETLK时,才会返回此字段。
l_pid 包含已在 fcntl 子例程定义的区域上锁定的进程的标识。 仅当 Command 参数的值为 F_GETLK时,才会返回此字段。
l_vfs 指定在系统中标识的节点的文件系统类型。l_sysid

虽然应用程序使用 flock 结构来发出文件锁定请求,但内核在内部使用扩展的 flock 结构 struct eflockeflock 结构与 flock 结构相同,因为它具有相同的字段。 不同之处是l_lenl_start字段是 64 位整数。

/usr/include/sys/flock.h 文件中描述锁定的 flock64 结构包含以下字段:

描述
l_type 描述锁定的类型。 如果 fcntl 子例程的 Command 参数的值为 F_SETLKF_SETLKW,那么l_type字段指示要创建的锁定的类型。 可能的值为:
F_RDLCK
请求了读锁定。
F_WRLCK
请求写锁定。
F_UNLCK
释放潜力, 将除去现有锁定。

如果 fcntl 子例程的 Command 参数的值为 F_GETLK,那么 l_type字段描述现有锁定。 可能的值为:

F_RDLCK
存在冲突的读锁定。
F_WRLCK
存在冲突的写锁定。
F_UNLCK
不存在冲突的锁定。
l_whence 定义起始偏移量。 此字段的值指示相对偏移量的起始点。l_start场,是测量的。 可能的值为:
SEEK_SET
相对偏移量是从文件开头开始测量的。
SEEK_CUR
相对偏移量是从当前位置测量的。
SEEK_END
相对偏移量是从文件末尾测量的。

这些值在 unistd.h 文件中定义。

l_start 定义相对偏移量 (以字节为单位) ,从l_whence。 此字段的类型为off64_t.
l_len 指定要锁定的连续字节数。 此字段的类型为off64_t.
l_sysid 包含已在 fcntl 子例程定义的区域上锁定的节点的标识。 仅当 Command 参数的值为 F_GETLK时,才会返回此字段。
l_pid 包含已在 fcntl 子例程定义的区域上锁定的进程的标识。 仅当 Command 参数的值为 F_GETLK时,才会返回此字段。
l_vfs 指定在系统中标识的节点的文件系统类型。l_sysid