chiark / gitweb /
81c59ac8c09097409a07c5bf297b461aea4a698e
[elogind.git] / src / basic / format-util.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5   Copyright © 2015 Ronny Chevalier
6 ***/
7
8 #include <inttypes.h>
9
10 #if SIZEOF_PID_T == 4
11 #  define PID_PRI PRIi32
12 #elif SIZEOF_PID_T == 2
13 #  define PID_PRI PRIi16
14 #else
15 #  error Unknown pid_t size
16 #endif
17 #define PID_FMT "%" PID_PRI
18
19 #if SIZEOF_UID_T == 4
20 #  define UID_FMT "%" PRIu32
21 #elif SIZEOF_UID_T == 2
22 #  define UID_FMT "%" PRIu16
23 #else
24 #  error Unknown uid_t size
25 #endif
26
27 #if SIZEOF_GID_T == 4
28 #  define GID_FMT "%" PRIu32
29 #elif SIZEOF_GID_T == 2
30 #  define GID_FMT "%" PRIu16
31 #else
32 #  error Unknown gid_t size
33 #endif
34
35 #if SIZEOF_TIME_T == 8
36 #  define PRI_TIME PRIi64
37 #elif SIZEOF_TIME_T == 4
38 #  define PRI_TIME "li"
39 #else
40 #  error Unknown time_t size
41 #endif
42
43 #if defined __x86_64__ && defined __ILP32__
44 #  define PRI_TIMEX PRIi64
45 #else
46 #  define PRI_TIMEX "li"
47 #endif
48
49 #if SIZEOF_RLIM_T == 8
50 #  define RLIM_FMT "%" PRIu64
51 #elif SIZEOF_RLIM_T == 4
52 #  define RLIM_FMT "%" PRIu32
53 #else
54 #  error Unknown rlim_t size
55 #endif
56
57 #if SIZEOF_DEV_T == 8
58 #  define DEV_FMT "%" PRIu64
59 #elif SIZEOF_DEV_T == 4
60 #  define DEV_FMT "%" PRIu32
61 #else
62 #  error Unknown dev_t size
63 #endif
64
65 #if SIZEOF_INO_T == 8
66 #  define INO_FMT "%" PRIu64
67 #elif SIZEOF_INO_T == 4
68 #  define INO_FMT "%" PRIu32
69 #else
70 #  error Unknown ino_t size
71 #endif