]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/format-util.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
9 # define PID_PRI PRIi32
10 #elif SIZEOF_PID_T == 2
11 # define PID_PRI PRIi16
13 # error Unknown pid_t size
15 #define PID_FMT "%" PID_PRI
18 # define UID_FMT "%" PRIu32
19 #elif SIZEOF_UID_T == 2
20 # define UID_FMT "%" PRIu16
22 # error Unknown uid_t size
26 # define GID_FMT "%" PRIu32
27 #elif SIZEOF_GID_T == 2
28 # define GID_FMT "%" PRIu16
30 # error Unknown gid_t size
33 #if SIZEOF_TIME_T == 8
34 # define PRI_TIME PRIi64
35 #elif SIZEOF_TIME_T == 4
36 # define PRI_TIME "li"
38 # error Unknown time_t size
41 #if defined __x86_64__ && defined __ILP32__
42 # define PRI_TIMEX PRIi64
44 # define PRI_TIMEX "li"
47 #if SIZEOF_RLIM_T == 8
48 # define RLIM_FMT "%" PRIu64
49 #elif SIZEOF_RLIM_T == 4
50 # define RLIM_FMT "%" PRIu32
52 # error Unknown rlim_t size
56 # define DEV_FMT "%" PRIu64
57 #elif SIZEOF_DEV_T == 4
58 # define DEV_FMT "%" PRIu32
60 # error Unknown dev_t size
64 # define INO_FMT "%" PRIu64
65 #elif SIZEOF_INO_T == 4
66 # define INO_FMT "%" PRIu32
68 # error Unknown ino_t size
71 char *format_ifname(int ifindex
, char buf
[static IF_NAMESIZE
+ 1]);
74 FORMAT_BYTES_USE_IEC
= 1 << 0,
75 FORMAT_BYTES_BELOW_POINT
= 1 << 1,
76 FORMAT_BYTES_TRAILING_B
= 1 << 2,
79 #define FORMAT_BYTES_MAX 8
80 char *format_bytes_full(char *buf
, size_t l
, uint64_t t
, FormatBytesFlag flag
);
81 static inline char *format_bytes(char *buf
, size_t l
, uint64_t t
) {
82 return format_bytes_full(buf
, l
, t
, FORMAT_BYTES_USE_IEC
| FORMAT_BYTES_BELOW_POINT
| FORMAT_BYTES_TRAILING_B
);