6 int qemu_vsnprintf(char *buf
, int buflen
, const char *fmt
, va_list args
);
7 void qemu_vprintf(const char *fmt
, va_list ap
);
8 void qemu_printf(const char *fmt
, ...);
10 void *qemu_malloc(size_t size
);
11 void *qemu_mallocz(size_t size
);
12 void qemu_free(void *ptr
);
13 char *qemu_strdup(const char *str
);
15 void *qemu_vmalloc(size_t size
);
16 void qemu_vfree(void *ptr
);
18 void *get_mmap_addr(unsigned long size
);
20 /* specific kludges for OS compatibility (should be moved elsewhere) */
21 #if defined(__i386__) && !defined(CONFIG_SOFTMMU) && !defined(CONFIG_USER_ONLY)
23 /* disabled pthread version of longjmp which prevent us from using an
24 alternative signal stack */
25 extern void __longjmp(jmp_buf env
, int val
);
26 #define longjmp __longjmp
30 /* NOTE: it works only because the glibc sigset_t is >= kernel sigset_t */
31 struct qemu_sigaction
{
33 void (*_sa_handler
)(int);
34 void (*_sa_sigaction
)(int, struct siginfo
*, void *);
36 unsigned long sa_flags
;
37 void (*sa_restorer
)(void);
38 sigset_t sa_mask
; /* mask last for extensibility */
41 int qemu_sigaction(int signum
, const struct qemu_sigaction
*act
,
42 struct qemu_sigaction
*oldact
);
47 #define sigaction qemu_sigaction
48 #define sa_handler _u._sa_handler
49 #define sa_sigaction _u._sa_sigaction