cutil-flock.c

来自「Linux环境下常用功能的实现」· C语言 代码 · 共 90 行

C
90
字号
#include "cutil.h"/** * cutil_flock_set_read * @nFileDescriptor: 要求设置读锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 *  * 设置文件的读锁 *  * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_set_read(int nFileDescriptor, int nStart, int nOffSet){	struct flock struFileLock;	struFileLock.l_type = F_RDLCK;	struFileLock.l_whence = SEEK_SET;	struFileLock.l_start = nStart;	struFileLock.l_len = nOffSet;	return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}/** * cutil_flock_unset_read * @nFileDescriptor: 要求设置读锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 *  * 清除设置文件的读锁 *  * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_unset_read(int nFileDescriptor, int nStart, int nOffSet){	struct flock struFileLock;	struFileLock.l_type = F_UNLCK;	struFileLock.l_whence = SEEK_SET;	struFileLock.l_start = nStart;	struFileLock.l_len = nOffSet;	return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}/** * cutil_flock_set_write * @nFileDescriptor: 要求设置写锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 *  * 设置文件的写锁 *  * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_set_write(int nFileDescriptor, int nStart, int nOffSet){	struct flock struFileLock;	struFileLock.l_type = F_WRLCK;	struFileLock.l_whence = SEEK_SET;	struFileLock.l_start = nStart;	struFileLock.l_len = nOffSet;	return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}/** * cutil_flock_unset_write * @nFileDescriptor: 要求设置写锁的文件描述符 * @nStart: 起始位置 * @nOffSet: 要求设置的长度 *  * 设置文件的写锁 *  * Returns: 成功操作返回转换后长度 失败操作返回-1 */int cutil_flock_unset_write(int nFileDescriptor, int nStart, int nOffSet){	struct flock struFileLock;	struFileLock.l_type = F_UNLCK;	struFileLock.l_whence = SEEK_SET;	struFileLock.l_start = nStart;	struFileLock.l_len = nOffSet;	return fcntl(nFileDescriptor, F_SETLK, &struFileLock);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?