• Home
  • Raw
  • Download

Lines Matching refs:spec

393 	     struct printf_spec spec)  in number()  argument
399 int need_pfx = ((spec.flags & SPECIAL) && spec.base != 10); in number()
405 locase = (spec.flags & SMALL); in number()
406 if (spec.flags & LEFT) in number()
407 spec.flags &= ~ZEROPAD; in number()
409 if (spec.flags & SIGN) { in number()
413 spec.field_width--; in number()
414 } else if (spec.flags & PLUS) { in number()
416 spec.field_width--; in number()
417 } else if (spec.flags & SPACE) { in number()
419 spec.field_width--; in number()
423 if (spec.base == 16) in number()
424 spec.field_width -= 2; in number()
426 spec.field_width--; in number()
431 if (num < spec.base) in number()
433 else if (spec.base != 10) { /* 8 or 16 */ in number()
434 int mask = spec.base - 1; in number()
437 if (spec.base == 16) in number()
448 if (i > spec.precision) in number()
449 spec.precision = i; in number()
451 spec.field_width -= spec.precision; in number()
452 if (!(spec.flags & (ZEROPAD | LEFT))) { in number()
453 while (--spec.field_width >= 0) { in number()
467 if (spec.base == 16 || !is_zero) { in number()
472 if (spec.base == 16) { in number()
479 if (!(spec.flags & LEFT)) { in number()
480 char c = ' ' + (spec.flags & ZEROPAD); in number()
482 while (--spec.field_width >= 0) { in number()
489 while (i <= --spec.precision) { in number()
501 while (--spec.field_width >= 0) { in number()
511 char *string(char *buf, char *end, const char *s, struct printf_spec spec) in string() argument
518 len = strnlen(s, spec.precision); in string()
520 if (!(spec.flags & LEFT)) { in string()
521 while (len < spec.field_width--) { in string()
532 while (len < spec.field_width--) { in string()
560 char *dentry_name(char *buf, char *end, const struct dentry *d, struct printf_spec spec, in dentry_name() argument
588 for (n = 0; n != spec.precision; n++, buf++) { in dentry_name()
600 if (n < spec.field_width) { in dentry_name()
602 unsigned spaces = spec.field_width - n; in dentry_name()
603 if (!(spec.flags & LEFT)) { in dentry_name()
618 struct printf_spec spec, const char *fmt) in symbol_string() argument
637 return string(buf, end, sym, spec); in symbol_string()
639 spec.field_width = 2 * sizeof(void *); in symbol_string()
640 spec.flags |= SPECIAL | SMALL | ZEROPAD; in symbol_string()
641 spec.base = 16; in symbol_string()
643 return number(buf, end, value, spec); in symbol_string()
649 struct printf_spec spec, const char *fmt) in resource_string() argument
752 return string(buf, end, sym, spec); in resource_string()
756 char *hex_string(char *buf, char *end, u8 *addr, struct printf_spec spec, in hex_string() argument
763 if (spec.field_width == 0) in hex_string()
769 return string(buf, end, NULL, spec); in hex_string()
786 if (spec.field_width > 0) in hex_string()
787 len = min_t(int, spec.field_width, 64); in hex_string()
809 struct printf_spec spec, const char *fmt) in bitmap_string() argument
812 int nr_bits = max_t(int, spec.field_width, 0); in bitmap_string()
817 spec = (struct printf_spec){ .flags = SMALL | ZEROPAD, .base = 16 }; in bitmap_string()
840 spec.field_width = DIV_ROUND_UP(chunksz, 4); in bitmap_string()
841 buf = number(buf, end, val, spec); in bitmap_string()
850 struct printf_spec spec, const char *fmt) in bitmap_list_string() argument
852 int nr_bits = max_t(int, spec.field_width, 0); in bitmap_list_string()
858 spec = (struct printf_spec){ .base = 10 }; in bitmap_list_string()
874 buf = number(buf, end, rbot, spec); in bitmap_list_string()
880 buf = number(buf, end, rtop, spec); in bitmap_list_string()
890 struct printf_spec spec, const char *fmt) in mac_address_string() argument
923 return string(buf, end, mac_addr, spec); in mac_address_string()
1077 struct printf_spec spec, const char *fmt) in ip6_addr_string() argument
1086 return string(buf, end, ip6_addr, spec); in ip6_addr_string()
1091 struct printf_spec spec, const char *fmt) in ip4_addr_string() argument
1097 return string(buf, end, ip4_addr, spec); in ip4_addr_string()
1102 struct printf_spec spec, const char *fmt) in ip6_addr_string_sa() argument
1146 p = number(p, pend, ntohs(sa->sin6_port), spec); in ip6_addr_string_sa()
1151 IPV6_FLOWINFO_MASK), spec); in ip6_addr_string_sa()
1155 p = number(p, pend, sa->sin6_scope_id, spec); in ip6_addr_string_sa()
1159 return string(buf, end, ip6_addr, spec); in ip6_addr_string_sa()
1164 struct printf_spec spec, const char *fmt) in ip4_addr_string_sa() argument
1190 p = number(p, pend, ntohs(sa->sin_port), spec); in ip4_addr_string_sa()
1194 return string(buf, end, ip4_addr, spec); in ip4_addr_string_sa()
1198 char *escaped_string(char *buf, char *end, u8 *addr, struct printf_spec spec, in escaped_string() argument
1206 if (spec.field_width == 0) in escaped_string()
1210 return string(buf, end, NULL, spec); /* NULL pointer */ in escaped_string()
1245 len = spec.field_width < 0 ? 1 : spec.field_width; in escaped_string()
1259 struct printf_spec spec, const char *fmt) in uuid_string() argument
1301 return string(buf, end, uuid, spec); in uuid_string()
1306 struct printf_spec spec) in netdev_feature_string() argument
1308 spec.flags |= SPECIAL | SMALL | ZEROPAD; in netdev_feature_string()
1309 if (spec.field_width == -1) in netdev_feature_string()
1310 spec.field_width = 2 + 2 * sizeof(netdev_features_t); in netdev_feature_string()
1311 spec.base = 16; in netdev_feature_string()
1313 return number(buf, end, *(const netdev_features_t *)addr, spec); in netdev_feature_string()
1318 struct printf_spec spec, const char *fmt) in address_val() argument
1322 spec.flags |= SPECIAL | SMALL | ZEROPAD; in address_val()
1323 spec.base = 16; in address_val()
1328 spec.field_width = sizeof(dma_addr_t) * 2 + 2; in address_val()
1333 spec.field_width = sizeof(phys_addr_t) * 2 + 2; in address_val()
1337 return number(buf, end, num, spec); in address_val()
1341 char *clock(char *buf, char *end, struct clk *clk, struct printf_spec spec, in clock() argument
1345 return string(buf, end, NULL, spec); in clock()
1351 return string(buf, end, __clk_get_name(clk), spec); in clock()
1353 spec.base = 16; in clock()
1354 spec.field_width = sizeof(unsigned long) * 2 + 2; in clock()
1355 spec.flags |= SPECIAL | SMALL | ZEROPAD; in clock()
1356 return number(buf, end, (unsigned long)clk, spec); in clock()
1457 struct printf_spec spec) in pointer() argument
1466 if (spec.field_width == -1) in pointer()
1467 spec.field_width = default_width; in pointer()
1468 return string(buf, end, "(null)", spec); in pointer()
1479 return symbol_string(buf, end, ptr, spec, fmt); in pointer()
1482 return resource_string(buf, end, ptr, spec, fmt); in pointer()
1484 return hex_string(buf, end, ptr, spec, fmt); in pointer()
1488 return bitmap_list_string(buf, end, ptr, spec, fmt); in pointer()
1490 return bitmap_string(buf, end, ptr, spec, fmt); in pointer()
1496 return mac_address_string(buf, end, ptr, spec, fmt); in pointer()
1508 return ip6_addr_string(buf, end, ptr, spec, fmt); in pointer()
1510 return ip4_addr_string(buf, end, ptr, spec, fmt); in pointer()
1520 return ip4_addr_string_sa(buf, end, &sa->v4, spec, fmt); in pointer()
1522 return ip6_addr_string_sa(buf, end, &sa->v6, spec, fmt); in pointer()
1524 return string(buf, end, "(invalid address)", spec); in pointer()
1529 return escaped_string(buf, end, ptr, spec, fmt); in pointer()
1531 return uuid_string(buf, end, ptr, spec, fmt); in pointer()
1549 if (spec.field_width == -1) in pointer()
1550 spec.field_width = default_width; in pointer()
1551 return string(buf, end, "pK-error", spec); in pointer()
1587 return netdev_feature_string(buf, end, ptr, spec); in pointer()
1591 return address_val(buf, end, ptr, spec, fmt); in pointer()
1593 return dentry_name(buf, end, ptr, spec, fmt); in pointer()
1595 return clock(buf, end, ptr, spec, fmt); in pointer()
1599 spec, fmt); in pointer()
1601 spec.flags |= SMALL; in pointer()
1602 if (spec.field_width == -1) { in pointer()
1603 spec.field_width = default_width; in pointer()
1604 spec.flags |= ZEROPAD; in pointer()
1606 spec.base = 16; in pointer()
1608 return number(buf, end, (unsigned long) ptr, spec); in pointer()
1632 int format_decode(const char *fmt, struct printf_spec *spec) in format_decode() argument
1637 if (spec->type == FORMAT_TYPE_WIDTH) { in format_decode()
1638 if (spec->field_width < 0) { in format_decode()
1639 spec->field_width = -spec->field_width; in format_decode()
1640 spec->flags |= LEFT; in format_decode()
1642 spec->type = FORMAT_TYPE_NONE; in format_decode()
1647 if (spec->type == FORMAT_TYPE_PRECISION) { in format_decode()
1648 if (spec->precision < 0) in format_decode()
1649 spec->precision = 0; in format_decode()
1651 spec->type = FORMAT_TYPE_NONE; in format_decode()
1656 spec->type = FORMAT_TYPE_NONE; in format_decode()
1668 spec->flags = 0; in format_decode()
1676 case '-': spec->flags |= LEFT; break; in format_decode()
1677 case '+': spec->flags |= PLUS; break; in format_decode()
1678 case ' ': spec->flags |= SPACE; break; in format_decode()
1679 case '#': spec->flags |= SPECIAL; break; in format_decode()
1680 case '0': spec->flags |= ZEROPAD; break; in format_decode()
1689 spec->field_width = -1; in format_decode()
1692 spec->field_width = skip_atoi(&fmt); in format_decode()
1695 spec->type = FORMAT_TYPE_WIDTH; in format_decode()
1701 spec->precision = -1; in format_decode()
1705 spec->precision = skip_atoi(&fmt); in format_decode()
1706 if (spec->precision < 0) in format_decode()
1707 spec->precision = 0; in format_decode()
1710 spec->type = FORMAT_TYPE_PRECISION; in format_decode()
1717 spec->qualifier = -1; in format_decode()
1720 spec->qualifier = *fmt++; in format_decode()
1721 if (unlikely(spec->qualifier == *fmt)) { in format_decode()
1722 if (spec->qualifier == 'l') { in format_decode()
1723 spec->qualifier = 'L'; in format_decode()
1725 } else if (spec->qualifier == 'h') { in format_decode()
1726 spec->qualifier = 'H'; in format_decode()
1733 spec->base = 10; in format_decode()
1736 spec->type = FORMAT_TYPE_CHAR; in format_decode()
1740 spec->type = FORMAT_TYPE_STR; in format_decode()
1744 spec->type = FORMAT_TYPE_PTR; in format_decode()
1748 spec->type = FORMAT_TYPE_PERCENT_CHAR; in format_decode()
1753 spec->base = 8; in format_decode()
1757 spec->flags |= SMALL; in format_decode()
1760 spec->base = 16; in format_decode()
1765 spec->flags |= SIGN; in format_decode()
1779 spec->type = FORMAT_TYPE_INVALID; in format_decode()
1783 if (spec->qualifier == 'L') in format_decode()
1784 spec->type = FORMAT_TYPE_LONG_LONG; in format_decode()
1785 else if (spec->qualifier == 'l') { in format_decode()
1787 spec->type = FORMAT_TYPE_ULONG + (spec->flags & SIGN); in format_decode()
1788 } else if (_tolower(spec->qualifier) == 'z') { in format_decode()
1789 spec->type = FORMAT_TYPE_SIZE_T; in format_decode()
1790 } else if (spec->qualifier == 't') { in format_decode()
1791 spec->type = FORMAT_TYPE_PTRDIFF; in format_decode()
1792 } else if (spec->qualifier == 'H') { in format_decode()
1794 spec->type = FORMAT_TYPE_UBYTE + (spec->flags & SIGN); in format_decode()
1795 } else if (spec->qualifier == 'h') { in format_decode()
1797 spec->type = FORMAT_TYPE_USHORT + (spec->flags & SIGN); in format_decode()
1800 spec->type = FORMAT_TYPE_UINT + (spec->flags & SIGN); in format_decode()
1838 struct printf_spec spec = {0}; in vsnprintf() local
1856 int read = format_decode(fmt, &spec); in vsnprintf()
1860 switch (spec.type) { in vsnprintf()
1873 spec.field_width = va_arg(args, int); in vsnprintf()
1877 spec.precision = va_arg(args, int); in vsnprintf()
1883 if (!(spec.flags & LEFT)) { in vsnprintf()
1884 while (--spec.field_width > 0) { in vsnprintf()
1895 while (--spec.field_width > 0) { in vsnprintf()
1904 str = string(str, end, va_arg(args, char *), spec); in vsnprintf()
1909 spec); in vsnprintf()
1932 switch (spec.type) { in vsnprintf()
1943 if (spec.flags & SIGN) in vsnprintf()
1970 str = number(str, end, num, spec); in vsnprintf()
2139 struct printf_spec spec = {0}; in vbin_printf() local
2166 int read = format_decode(fmt, &spec); in vbin_printf()
2170 switch (spec.type) { in vbin_printf()
2208 switch (spec.type) { in vbin_printf()
2267 struct printf_spec spec = {0}; in bstr_printf() local
2300 int read = format_decode(fmt, &spec); in bstr_printf()
2304 switch (spec.type) { in bstr_printf()
2317 spec.field_width = get_arg(int); in bstr_printf()
2321 spec.precision = get_arg(int); in bstr_printf()
2327 if (!(spec.flags & LEFT)) { in bstr_printf()
2328 while (--spec.field_width > 0) { in bstr_printf()
2338 while (--spec.field_width > 0) { in bstr_printf()
2349 str = string(str, end, (char *)str_arg, spec); in bstr_printf()
2354 str = pointer(fmt, str, end, get_arg(void *), spec); in bstr_printf()
2371 switch (spec.type) { in bstr_printf()
2405 str = number(str, end, num, spec); in bstr_printf()