1 /* Basic tests for custom printf strings, such as %i (ipaddr) and %r */
8 #include <printf-ext.h>
10 #include <sys/types.h>
23 0x20, 0x0, 0x0a, 0xff,
24 0xfe, 0xa7, 0x0f, 0x7c
28 0xff, 0xff, 0xff, 0xff,
29 0xff, 0xff, 0xff, 0xff,
30 0xff, 0xff, 0xff, 0xff,
35 0x90, 0xe6, 0xba, 0x12, 0x48, 0x64
38 int main(int argc, char **argv)
41 if (register_printf_specifier('i', printf_ipaddr, printf_ipaddr_info))
42 printf("Failed to register 'i'\n");
43 if (register_printf_specifier('M', printf_ipmask, printf_ipmask_info))
44 printf("Failed to register 'M'\n");
45 if (register_printf_specifier('E', printf_ethaddr, printf_ethaddr_info))
46 printf("Failed to register 'E'\n");
48 printf("IPv4 addr %i\n", v4addr);
49 printf("IPv6 addr %i\n", v6addr);
50 printf("IPv6 mask %M\n", v6mask);
51 printf("IPv4 addr as mask %M\n", v4addr);
52 printf("IPv6 addr as mask %M\n", v6addr);
53 printf("ethaddr %E\n", ethaddr);
54 printf("ethaddr null %E\n", 0);
56 ret = open("/9/proc/no/such/file", 0, 0);
57 printf("Open ret %d, errstr: %r\n", ret);
58 printf("%s %i %M %d %s %r %E\n", "testing a few,", v6addr, v6mask, 1337,
59 "more cowbell", ethaddr);