}
sscanf(backend,
- "/local/domain/%d/backend/%" TOSTRING(BACKEND_STRING_SIZE)
+ "/local/domain/%d/backend/%" STR(BACKEND_STRING_SIZE)
"[a-z]/%*d/%*d",
&disk->backend_domid, backend_type);
if (!strcmp(backend_type, "tap") ||
_hidden int libxl__gettimeofday(libxl__gc *gc, struct timeval *now_r);
-#define STRINGIFY(x) #x
-#define TOSTRING(x) STRINGIFY(x)
-
/* from libxl_qmp */
typedef struct libxl__qmp_handler libxl__qmp_handler;
#define DSET(dpc,member,enumname,str,valname) do{ \
if (dpc->disk->member != LIBXL_DISK_##enumname##_UNKNOWN && \
dpc->disk->member != LIBXL_DISK_##enumname##_##valname) { \
- xlu__disk_err(dpc, str, TOSTRING(member) " respecified"); \
+ xlu__disk_err(dpc, str, STR(member) " respecified"); \
} else { \
dpc->disk->member = LIBXL_DISK_##enumname##_##valname; \
} \
#define DSET(dpc,member,enumname,str,valname) do{ \
if (dpc->disk->member != LIBXL_DISK_##enumname##_UNKNOWN && \
dpc->disk->member != LIBXL_DISK_##enumname##_##valname) { \
- xlu__disk_err(dpc, str, TOSTRING(member) " respecified"); \
+ xlu__disk_err(dpc, str, STR(member) " respecified"); \
} else { \
dpc->disk->member = LIBXL_DISK_##enumname##_##valname; \
} \
#include "libxlutil.h"
+#include <xen-tools/common-macros.h>
+
struct XLU_ConfigList {
int avalues; /* available slots */
int nvalues; /* actual occupied slots */
void *scanner;
} CfgParseContext;
-
-#define STRINGIFY(x) #x
-#define TOSTRING(x) STRINGIFY(x)
-
#endif /*LIBXLU_INTERNAL_H*/
/*