Lines Matching refs:info
23 void (*putc)(struct printf_info *info, char ch);
26 static void putc_normal(struct printf_info *info, char ch) in putc_normal() argument
31 static void out(struct printf_info *info, char c) in out() argument
33 *info->bf++ = c; in out()
36 static void out_dgt(struct printf_info *info, char dgt) in out_dgt() argument
38 out(info, dgt + (dgt < 10 ? '0' : 'a' - 10)); in out_dgt()
39 info->zs = 1; in out_dgt()
42 static void div_out(struct printf_info *info, unsigned long *num, in div_out() argument
52 if (info->zs || dgt > 0) in div_out()
53 out_dgt(info, dgt); in div_out()
57 static void string(struct printf_info *info, char *s) in string() argument
62 out(info, ch); in string()
76 static void mac_address_string(struct printf_info *info, u8 *addr, in mac_address_string() argument
91 string(info, mac_addr); in mac_address_string()
130 static void ip4_addr_string(struct printf_info *info, u8 *addr) in ip4_addr_string() argument
148 string(info, ip4_addr); in ip4_addr_string()
166 static void pointer(struct printf_info *info, const char *fmt, void *ptr) in pointer() argument
187 return mac_address_string(info, ptr, false); in pointer()
189 return mac_address_string(info, ptr, true); in pointer()
192 return ip4_addr_string(info, ptr); in pointer()
200 div_out(info, &num, div); in pointer()
204 static int _vprintf(struct printf_info *info, const char *fmt, va_list va) in _vprintf() argument
214 info->putc(info, ch); in _vprintf()
241 info->bf = buf; in _vprintf()
242 p = info->bf; in _vprintf()
243 info->zs = 0; in _vprintf()
262 out(info, '-'); in _vprintf()
265 out(info, '-'); in _vprintf()
269 out_dgt(info, 0); in _vprintf()
272 div_out(info, &num, div); in _vprintf()
284 out_dgt(info, 0); in _vprintf()
287 div_out(info, &num, div); in _vprintf()
291 out(info, (char)(va_arg(va, int))); in _vprintf()
297 pointer(info, fmt, va_arg(va, void *)); in _vprintf()
302 out(info, '%'); in _vprintf()
307 *info->bf = 0; in _vprintf()
308 info->bf = p; in _vprintf()
309 while (*info->bf++ && width > 0) in _vprintf()
312 info->putc(info, lz ? '0' : ' '); in _vprintf()
315 info->putc(info, ch); in _vprintf()
326 struct printf_info info; in vprintf() local
328 info.putc = putc_normal; in vprintf()
329 return _vprintf(&info, fmt, va); in vprintf()
334 struct printf_info info; in printf() local
339 info.putc = putc_normal; in printf()
341 ret = _vprintf(&info, fmt, va); in printf()
347 static void putc_outstr(struct printf_info *info, char ch) in putc_outstr() argument
349 *info->outstr++ = ch; in putc_outstr()
354 struct printf_info info; in sprintf() local
359 info.outstr = buf; in sprintf()
360 info.putc = putc_outstr; in sprintf()
361 ret = _vprintf(&info, fmt, va); in sprintf()
363 *info.outstr = '\0'; in sprintf()
371 struct printf_info info; in snprintf() local
376 info.outstr = buf; in snprintf()
377 info.putc = putc_outstr; in snprintf()
378 ret = _vprintf(&info, fmt, va); in snprintf()
380 *info.outstr = '\0'; in snprintf()