STRACE_PRINTF("%s%s=%#llx", (prefix_), #field_, \
zero_extend_signed_to_ull((where_).field_))
+#define PRINT_FIELD_0X(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=%#0*llx", (prefix_), #field_, \
+ (int) sizeof((where_).field_) * 2, \
+ zero_extend_signed_to_ull((where_).field_))
+
#define PRINT_FIELD_COOKIE(prefix_, where_, field_) \
STRACE_PRINTF("%s%s=[%llu, %llu]", (prefix_), #field_, \
zero_extend_signed_to_ull((where_).field_[0]), \
zero_extend_signed_to_ull((where_).field_)); \
} while (0)
-#define PRINT_FIELD_QUOTED_STRING(prefix_, where_, field_, len_, style_) \
+#define PRINT_FIELD_STRING(prefix_, where_, field_, len_, style_) \
do { \
STRACE_PRINTF("%s%s=", (prefix_), #field_); \
print_quoted_string((const char *)(where_).field_, len_, style_); \
} while (0)
+#define PRINT_FIELD_INET_ADDR(prefix_, where_, field_, af_) \
+ do { \
+ STRACE_PRINTF(prefix_); \
+ print_inet_addr((af_), &(where_).field_, \
+ sizeof((where_).field_), #field_); \
+ } while (0)
+
+#define PRINT_FIELD_INET4_ADDR(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=inet_addr(\"%s\")", (prefix_), #field_, \
+ inet_ntoa((where_).field_))
+
+#define PRINT_FIELD_NET_PORT(prefix_, where_, field_) \
+ STRACE_PRINTF("%s%s=htons(%u)", (prefix_), #field_, \
+ ntohs((where_).field_))
+
+#define PRINT_FIELD_IFINDEX(prefix_, where_, field_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ print_ifindex((where_).field_); \
+ } while (0)
+
+#define PRINT_FIELD_SOCKADDR(prefix_, where_, field_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ print_sockaddr(&(where_).field_, \
+ sizeof((where_).field_)); \
+ } while (0)
+
+#define PRINT_FIELD_DEV(prefix_, where_, field_) \
+ do { \
+ STRACE_PRINTF("%s%s=", (prefix_), #field_); \
+ print_dev_t((where_).field_); \
+ } while (0)
+
#endif /* !STRACE_PRINT_FIELDS_H */