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