1 /*
2 * Wrappers for handling discrepancies in LF64-themed syscalls availability and
3 * necessity between various architectures and kernel versions.
4 *
5 * Copyright (c) 2012-2022 The strace developers.
6 * All rights reserved.
7 *
8 * SPDX-License-Identifier: LGPL-2.1-or-later
9 */
10
11 #ifndef STRACE_LARGEFILE_WRAPPERS_H
12 # define STRACE_LARGEFILE_WRAPPERS_H
13
14 # include "defs.h"
15
16 # ifdef _LARGEFILE64_SOURCE
17 # ifdef HAVE_OPEN64
18 # define open_file open64
19 # else
20 # define open_file open
21 # endif
22 # ifdef HAVE_FOPEN64
23 # define fopen_stream fopen64
24 # else
25 # define fopen_stream fopen
26 # endif
27 # ifdef HAVE_FCNTL64
28 # define fcntl_fd fcntl64
29 # else
30 # define fcntl_fd fcntl
31 # endif
32 # define fstat_fd fstat64
33 # define strace_stat_t struct stat64
34 # define lstat_file lstat64
35 # define stat_file stat64
36 # define struct_dirent struct dirent64
37 # define read_dir readdir64
38 # define struct_rlimit struct rlimit64
39 # define set_rlimit setrlimit64
40 # else
41 # define open_file open
42 # define fopen_stream fopen
43 # define fcntl_fd fcntl
44 # define fstat_fd fstat
45 # define strace_stat_t struct stat
46 # define lstat_file lstat
47 # define stat_file stat
48 # define struct_dirent struct dirent
49 # define read_dir readdir
50 # define struct_rlimit struct rlimit
51 # define set_rlimit setrlimit
52 # endif
53
54 #endif /* STRACE_LARGEFILE_WRAPPERS_H */