strace/xlat/fcntlcmds.in
Dmitry V. Levin 2154702865 fcntl: skip F_GETLK64, F_SETLK64, and F_SETLKW64 in fcntl syscall parser
As the kernel recognizes F_GETLK64, F_SETLK64, and F_SETLKW64 commands
in fcntl64 syscall only, do not parse their structures in fcntl parser.

* xlat/fcntlcmds.in: Move F_GETLK64, F_SETLK64, and F_SETLKW64 ...
* xlat/fcntl64cmds.in: ... here.
* fcntl.c: Include "xlat/fcntl64cmds.h".
(print_fcntl): Move printing of first two syscall arguments
and handling of F_GETLK64, F_SETLK64, and F_SETLKW64 commands ...
(SYS_FUNC(fcntl), SYS_FUNC(fcntl64)): ... here.
* tests/fcntl.c: New file, based on struct_flock.c.
* tests/fcntl64.c: Likewise.
* tests/struct_flock.c (test_flock_einval, create_sample): New functions.
(test_flock): Use test_flock_einval.
(test_flock64, main): Remove.
* tests/fcntl.test: New test.
* tests/fcntl64.test: Likewise.
* tests/struct_flock.test: Remove.
* tests/Makefile.am (check_PROGRAMS): Add fcntl and fcntl64,
remove struct_flock.
(TESTS): Add fcntl.test and fcntl64.test, remove struct_flock.test.
(EXTRA_DIST) Add struct_flock.c.
* tests/.gitignore: Add fcntl and fcntl64, remove struct_flock.
2015-12-05 19:35:51 +00:00

31 lines
484 B
Plaintext

/* asm-generic/fcntl.h */
F_DUPFD 0
F_GETFD 1
F_SETFD 2
F_GETFL 3
F_SETFL 4
F_GETLK 5
F_SETLK 6
F_SETLKW 7
F_SETOWN 8
F_GETOWN 9
F_SETSIG 10
F_GETSIG 11
F_SETOWN_EX 15
F_GETOWN_EX 16
F_GETOWNER_UIDS 17
F_OFD_GETLK 36
F_OFD_SETLK 37
F_OFD_SETLKW 38
/* linux/fcntl.h */
F_SETLEASE (1024 + 0)
F_GETLEASE (1024 + 1)
F_NOTIFY (1024 + 2)
F_CANCELLK (1024 + 5)
F_DUPFD_CLOEXEC (1024 + 6)
F_SETPIPE_SZ (1024 + 7)
F_GETPIPE_SZ (1024 + 8)
F_ADD_SEALS (1024 + 9)
F_GET_SEALS (1024 + 10)