vsprintf.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * (C) Copyright 2000-2009
  3. * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. *
  5. * See file CREDITS for list of people who contributed to this
  6. * project.
  7. *
  8. * This program is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU General Public License as
  10. * published by the Free Software Foundation; either version 2 of
  11. * the License, or (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program; if not, write to the Free Software
  20. * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21. * MA 02111-1307 USA
  22. */
  23. #ifndef __VSPRINTF_H
  24. #define __VSPRINTF_H
  25. ulong simple_strtoul(const char *cp, char **endp, unsigned int base);
  26. int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
  27. unsigned long long simple_strtoull(const char *cp, char **endp,
  28. unsigned int base);
  29. long simple_strtol(const char *cp, char **endp, unsigned int base);
  30. void panic(const char *fmt, ...)
  31. __attribute__ ((format (__printf__, 1, 2), noreturn));
  32. int sprintf(char *buf, const char *fmt, ...)
  33. __attribute__ ((format (__printf__, 2, 3)));
  34. int vsprintf(char *buf, const char *fmt, va_list args);
  35. char *simple_itoa(ulong i);
  36. #ifdef CONFIG_SYS_VSNPRINTF
  37. int snprintf(char *buf, size_t size, const char *fmt, ...)
  38. __attribute__ ((format (__printf__, 3, 4)));
  39. int scnprintf(char *buf, size_t size, const char *fmt, ...)
  40. __attribute__ ((format (__printf__, 3, 4)));
  41. int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
  42. int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
  43. #else
  44. /*
  45. * Use macros to silently drop the size parameter. Note that the 'cn'
  46. * versions are the same as the 'n' versions since the functions assume
  47. * there is always enough buffer space when !CONFIG_SYS_VSNPRINTF
  48. */
  49. #define snprintf(buf, size, fmt, args...) sprintf(buf, fmt, ##args)
  50. #define scnprintf(buf, size, fmt, args...) sprintf(buf, fmt, ##args)
  51. #define vsnprintf(buf, size, fmt, args...) vsprintf(buf, fmt, ##args)
  52. #define vscnprintf(buf, size, fmt, args...) vsprintf(buf, fmt, ##args)
  53. #endif /* CONFIG_SYS_VSNPRINTF */
  54. #endif