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 24 #ifndef __VSPRINTF_H 25 #define __VSPRINTF_H 26 27 ulong simple_strtoul(const char *cp, char **endp, unsigned int base); 28 int strict_strtoul(const char *cp, unsigned int base, unsigned long *res); 29 unsigned long long simple_strtoull(const char *cp, char **endp, 30 unsigned int base); 31 long simple_strtol(const char *cp, char **endp, unsigned int base); 32 void panic(const char *fmt, ...) 33 __attribute__ ((format (__printf__, 1, 2), noreturn)); 34 int sprintf(char *buf, const char *fmt, ...) 35 __attribute__ ((format (__printf__, 2, 3))); 36 int vsprintf(char *buf, const char *fmt, va_list args); 37 char *simple_itoa(ulong i); 38 39 #ifdef CONFIG_SYS_VSNPRINTF 40 int snprintf(char *buf, size_t size, const char *fmt, ...) 41 __attribute__ ((format (__printf__, 3, 4))); 42 int scnprintf(char *buf, size_t size, const char *fmt, ...) 43 __attribute__ ((format (__printf__, 3, 4))); 44 int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); 45 int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); 46 #else 47 /* 48 * Use macros to silently drop the size parameter. Note that the 'cn' 49 * versions are the same as the 'n' versions since the functions assume 50 * there is always enough buffer space when !CONFIG_SYS_VSNPRINTF 51 */ 52 #define snprintf(buf, size, fmt, args...) sprintf(buf, fmt, ##args) 53 #define scnprintf(buf, size, fmt, args...) sprintf(buf, fmt, ##args) 54 #define vsnprintf(buf, size, fmt, args...) vsprintf(buf, fmt, ##args) 55 #define vscnprintf(buf, size, fmt, args...) vsprintf(buf, fmt, ##args) 56 #endif /* CONFIG_SYS_VSNPRINTF */ 57 58 #endif 59