1f08c3bdfSopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
2f08c3bdfSopenharmony_ci/*
3f08c3bdfSopenharmony_ci * Copyright (c) Linux Test Project, 2001-2009
4f08c3bdfSopenharmony_ci * Copyright (c) International Business Machines Corp., 2001
5f08c3bdfSopenharmony_ci */
6f08c3bdfSopenharmony_ci
7f08c3bdfSopenharmony_ci#include <stdio.h>
8f08c3bdfSopenharmony_ci#include <sys/stat.h>
9f08c3bdfSopenharmony_ci#include <errno.h>
10f08c3bdfSopenharmony_ci#include <sys/types.h>
11f08c3bdfSopenharmony_ci#include <fcntl.h>
12f08c3bdfSopenharmony_ci#include <unistd.h>
13f08c3bdfSopenharmony_ci
14f08c3bdfSopenharmony_ciint		lock_reg(int, int, off_t, int, off_t, int);
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ci#define read_lock(fd, offset, whence, len) \
17f08c3bdfSopenharmony_ci			lock_reg(fd, F_RDLCK, offset, whence, len, F_SETLK)
18f08c3bdfSopenharmony_ci#define write_lock(fd, offset, whence, len) \
19f08c3bdfSopenharmony_ci			lock_reg(fd, F_WRLCK, offset, whence, len, F_SETLK)
20f08c3bdfSopenharmony_ci#define un_lock(fd, offset, whence, len) \
21f08c3bdfSopenharmony_ci			lock_reg(fd, F_UNLCK, offset, whence, len, F_SETLK)
22f08c3bdfSopenharmony_ci#define readb_lock(fd, offset, whence, len) \
23f08c3bdfSopenharmony_ci			lock_reg(fd, F_RDLCK, offset, whence, len, F_SETLKW)
24f08c3bdfSopenharmony_ci#define writeb_lock(fd, offset, whence, len) \
25f08c3bdfSopenharmony_ci			lock_reg(fd, F_WRLCK, offset, whence, len, F_SETLKW)
26f08c3bdfSopenharmony_ci#define unb_lock(fd, offset, whence, len) \
27f08c3bdfSopenharmony_ci			lock_reg(fd, F_UNLCK, offset, whence, len, F_SETLKW)
28