Lines Matching refs:info
22 void (*putc)(struct printf_info *info, char ch);
25 static void out(struct printf_info *info, char c) in out() argument
27 *info->bf++ = c; in out()
30 static void out_dgt(struct printf_info *info, char dgt) in out_dgt() argument
32 out(info, dgt + (dgt < 10 ? '0' : 'a' - 10)); in out_dgt()
33 info->zs = 1; in out_dgt()
36 static void div_out(struct printf_info *info, unsigned long *num, in div_out() argument
46 if (info->zs || dgt > 0) in div_out()
47 out_dgt(info, dgt); in div_out()
51 static void string(struct printf_info *info, char *s) in string() argument
56 out(info, ch); in string()
70 static void mac_address_string(struct printf_info *info, u8 *addr, in mac_address_string() argument
85 string(info, mac_addr); in mac_address_string()
124 static void ip4_addr_string(struct printf_info *info, u8 *addr) in ip4_addr_string() argument
142 string(info, ip4_addr); in ip4_addr_string()
161 static void pointer(struct printf_info *info, const char *fmt, void *ptr) in pointer() argument
177 return mac_address_string(info, ptr, false); in pointer()
179 return mac_address_string(info, ptr, true); in pointer()
182 return ip4_addr_string(info, ptr); in pointer()
187 out(info, '?'); in pointer()
196 div_out(info, &num, div); in pointer()
200 static int _vprintf(struct printf_info *info, const char *fmt, va_list va) in _vprintf() argument
210 info->putc(info, ch); in _vprintf()
238 info->bf = buf; in _vprintf()
239 p = info->bf; in _vprintf()
240 info->zs = 0; in _vprintf()
260 out(info, '-'); in _vprintf()
263 out(info, '-'); in _vprintf()
267 out_dgt(info, 0); in _vprintf()
270 div_out(info, &num, div); in _vprintf()
275 pointer(info, fmt, va_arg(va, void *)); in _vprintf()
295 out_dgt(info, 0); in _vprintf()
298 div_out(info, &num, div); in _vprintf()
302 out(info, (char)(va_arg(va, int))); in _vprintf()
310 out(info, '%'); in _vprintf()
313 out(info, '?'); in _vprintf()
317 *info->bf = 0; in _vprintf()
318 info->bf = p; in _vprintf()
319 while (width > 0 && info->bf && *info->bf++) in _vprintf()
322 info->putc(info, lz ? '0' : ' '); in _vprintf()
325 info->putc(info, ch); in _vprintf()
337 static void putc_normal(struct printf_info *info, char ch) in putc_normal() argument
344 struct printf_info info; in vprintf() local
346 info.putc = putc_normal; in vprintf()
347 return _vprintf(&info, fmt, va); in vprintf()
352 struct printf_info info; in printf() local
357 info.putc = putc_normal; in printf()
359 ret = _vprintf(&info, fmt, va); in printf()
366 static void putc_outstr(struct printf_info *info, char ch) in putc_outstr() argument
368 *info->outstr++ = ch; in putc_outstr()
373 struct printf_info info; in sprintf() local
377 info.outstr = buf; in sprintf()
378 info.putc = putc_outstr; in sprintf()
379 _vprintf(&info, fmt, va); in sprintf()
381 *info.outstr = '\0'; in sprintf()
383 return info.outstr - buf; in sprintf()
390 struct printf_info info; in vsnprintf() local
392 info.outstr = buf; in vsnprintf()
393 info.putc = putc_outstr; in vsnprintf()
394 _vprintf(&info, fmt, va); in vsnprintf()
395 *info.outstr = '\0'; in vsnprintf()
397 return info.outstr - buf; in vsnprintf()
404 struct printf_info info; in snprintf() local
408 info.outstr = buf; in snprintf()
409 info.putc = putc_outstr; in snprintf()
410 _vprintf(&info, fmt, va); in snprintf()
412 *info.outstr = '\0'; in snprintf()
414 return info.outstr - buf; in snprintf()