]> granicus.if.org Git - strace/blob - print_timespec.c
Update debian/watch
[strace] / print_timespec.c
1 /*
2  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
3  * Copyright (c) 2016-2019 The strace developers.
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: LGPL-2.1-or-later
7  */
8
9 #include "defs.h"
10
11 #include DEF_MPERS_TYPE(timespec_t)
12
13 #include "kernel_timespec.h"
14
15 #if defined MPERS_IS_mx32
16 # define TIMESPEC_IS_32BIT 0
17 #elif defined MPERS_IS_m32
18 # define TIMESPEC_IS_32BIT 1
19 #elif ARCH_TIMESIZE == 4
20 # define TIMESPEC_IS_32BIT 1
21 #else
22 # define TIMESPEC_IS_32BIT 0
23 #endif
24
25 #if TIMESPEC_IS_32BIT
26 typedef kernel_timespec32_t timespec_t;
27 # define PRINT_TIMESPEC_DATA_SIZE print_timespec32_data_size
28 # define PRINT_TIMESPEC_ARRAY_DATA_SIZE print_timespec32_array_data_size
29 #else
30 typedef kernel_timespec64_t timespec_t;
31 # define PRINT_TIMESPEC_DATA_SIZE print_timespec64_data_size
32 # define PRINT_TIMESPEC_ARRAY_DATA_SIZE print_timespec64_array_data_size
33 #endif
34
35 #include MPERS_DEFS
36
37 MPERS_PRINTER_DECL(bool, print_struct_timespec_data_size,
38                    const void *arg, const size_t size)
39 {
40         return PRINT_TIMESPEC_DATA_SIZE(arg, size);
41 }
42
43 MPERS_PRINTER_DECL(bool, print_struct_timespec_array_data_size,
44                    const void *arg, const unsigned int nmemb,
45                    const size_t size)
46 {
47         return PRINT_TIMESPEC_ARRAY_DATA_SIZE(arg, nmemb, size);
48 }