printk-formats.txt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  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. Raw pointer value SHOULD be printed with %p.
  12. u64 SHOULD be printed with %llu/%llx, (unsigned long long):
  13. printk("%llu", (unsigned long long)u64_var);
  14. s64 SHOULD be printed with %lld/%llx, (long long):
  15. printk("%lld", (long long)s64_var);
  16. If <type> is dependent on a config option for its size (e.g., sector_t,
  17. blkcnt_t, phys_addr_t, resource_size_t) or is architecture-dependent
  18. for its size (e.g., tcflag_t), use a format specifier of its largest
  19. possible type and explicitly cast to it. Example:
  20. printk("test: sector number/total blocks: %llu/%llu\n",
  21. (unsigned long long)sector, (unsigned long long)blockcount);
  22. Reminder: sizeof() result is of type size_t.
  23. Thank you for your cooperation and attention.
  24. By Randy Dunlap <rdunlap@xenotime.net>