Commit | Line | Data |
---|---|---|
b67ad18b RD |
1 | If variable is of Type, use printk format specifier: |
2 | --------------------------------------------------------- | |
3 | int %d or %x | |
4 | unsigned int %u or %x | |
5 | long %ld or %lx | |
6 | unsigned long %lu or %lx | |
7 | long long %lld or %llx | |
8 | unsigned long long %llu or %llx | |
9 | size_t %zu or %zx | |
10 | ssize_t %zd or %zx | |
11 | ||
12 | Raw pointer value SHOULD be printed with %p. | |
13 | ||
14 | u64 SHOULD be printed with %llu/%llx, (unsigned long long): | |
15 | ||
16 | printk("%llu", (unsigned long long)u64_var); | |
17 | ||
18 | s64 SHOULD be printed with %lld/%llx, (long long): | |
19 | ||
20 | printk("%lld", (long long)s64_var); | |
21 | ||
22 | If <type> is dependent on a config option for its size (e.g., sector_t, | |
23 | blkcnt_t, phys_addr_t, resource_size_t) or is architecture-dependent | |
24 | for its size (e.g., tcflag_t), use a format specifier of its largest | |
25 | possible type and explicitly cast to it. Example: | |
26 | ||
27 | printk("test: sector number/total blocks: %llu/%llu\n", | |
28 | (unsigned long long)sector, (unsigned long long)blockcount); | |
29 | ||
30 | Reminder: sizeof() result is of type size_t. | |
31 | ||
32 | Thank you for your cooperation and attention. | |
33 | ||
34 | ||
35 | By Randy Dunlap <rdunlap@xenotime.net> |