#include <palacios/vmm_sprintf.h>
-#define NEED_SPRINTF 0
-#define NEED_SNPRINTF 0
-#define NEED_VSPRINTF 0
-#define NEED_VSNPRINTF 0
-#define NEED_VSNRPRINTF 1
typedef addr_t ptrdiff_t; /* ptr1 - ptr2 */
};
+
+#if defined(V3_CONFIG_BUILT_IN_STDIO) && \
+ ( defined(V3_CONFIG_BUILT_IN_SPRINTF) || \
+ defined(V3_CONFIG_BUILT_IN_SNPRINTF) || \
+ defined(V3_CONFIG_BUILT_IN_VSPRINTF) || \
+ defined(V3_CONFIG_BUILT_IN_VSNRPRINTF ))
+
static char * ksprintn(char * nbuf, uint64_t num, int base, int *len, int upper);
static void snprintf_func(int ch, void * arg);
static int kvprintf(char const * fmt, void (*func)(int, void *), void * arg, int radix, va_list ap);
-#if NEED_SPRINTF
+#ifdef V3_CONFIG_BUILT_IN_SPRINTF
/*
* Scaled down version of sprintf(3).
*/
#endif
-#if NEED_VSPRINTF
+#ifdef V3_CONFIG_BUILT_IN_VSPRINTF
/*
* Scaled down version of vsprintf(3).
*/
#endif
-#if NEED_SNPRINTF
+#ifdef V3_CONFIG_BUILT_IN_SNPRINTF
/*
* Scaled down version of snprintf(3).
*/
#endif
-#if NEED_VSNPRINTF
+
/*
* Scaled down version of vsnprintf(3).
*/
}
return (retval);
}
-#endif
-#if NEED_VSNRPRINTF
+
+#ifdef V3_CONFIG_BUILT_IN_VSNRPRINTF
/*
* Kernel version which takes radix argument vsnprintf(3).
*/
}
+#endif // V3_CONFIG_BUILT_IN_STDIO
+
void v3_hexdump(const void * ptr, int length, const char * hdr, int flags) {
cp = ptr;
for (i = 0; i < length; i+= cols) {
if (hdr != NULL)
- PrintDebug("%s", hdr);
+ V3_Print("%s", hdr);
if ((flags & HD_OMIT_COUNT) == 0)
- PrintDebug("%04x ", i);
+ V3_Print("%04x ", i);
if ((flags & HD_OMIT_HEX) == 0) {
for (j = 0; j < cols; j++) {
k = i + j;
if (k < length)
- PrintDebug("%c%02x", delim, cp[k]);
+ V3_Print("%c%02x", delim, cp[k]);
else
- PrintDebug(" ");
+ V3_Print(" ");
}
}
if ((flags & HD_OMIT_CHARS) == 0) {
- PrintDebug(" |");
+ V3_Print(" |");
for (j = 0; j < cols; j++) {
k = i + j;
if (k >= length)
- PrintDebug(" ");
+ V3_Print(" ");
else if (cp[k] >= ' ' && cp[k] <= '~')
- PrintDebug("%c", cp[k]);
+ V3_Print("%c", cp[k]);
else
- PrintDebug(".");
+ V3_Print(".");
}
- PrintDebug("|");
+ V3_Print("|");
}
- PrintDebug("\n");
+ V3_Print("\n");
}
}