diff options
Diffstat (limited to 'Documentation/printk-formats.txt')
| -rw-r--r-- | Documentation/printk-formats.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Documentation/printk-formats.txt b/Documentation/printk-formats.txt new file mode 100644 index 000000000000..1b5a5ddbc3ef --- /dev/null +++ b/Documentation/printk-formats.txt | |||
| @@ -0,0 +1,35 @@ | |||
| 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> | ||
