/*
 * Simple test of fcntl
 */

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
	int fd = open(argv[0], O_RDONLY);
	struct flock l;
	long flags;

	(void)argc;

	if (fd < 0) {
		perror("open");
		exit(1);
	}

	/* Get the flags on this FD */

	if ((flags = fcntl(fd, F_GETFL)) == -1) {
		perror("F_GETFL");
		exit(1);
	}

	if (flags != (O_RDONLY | O_LARGEFILE))
		fprintf(stderr, "flags = %#lx\n", flags);

	/* Set a lock on this FD */
	memset(&l, 0, sizeof l);
	l.l_type = F_RDLCK;
	l.l_whence = SEEK_SET;
	l.l_start = 123;
	l.l_len = 456;

	if (fcntl(fd, F_SETLK, &l) == -1) {
		perror("F_SETLK");
		exit(1);
	}

	/* Eventually, fork and try to conflict with this lock... */

	return 0;
}
