source: trunk/packages/xen-3.1/xen-3.1/tools/ioemu/osdep.h @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 1.4 KB
Line 
1#ifndef QEMU_OSDEP_H
2#define QEMU_OSDEP_H
3
4#include <stdarg.h>
5
6int qemu_vsnprintf(char *buf, int buflen, const char *fmt, va_list args);
7void qemu_vprintf(const char *fmt, va_list ap);
8void qemu_printf(const char *fmt, ...);
9
10void *qemu_malloc(size_t size);
11void *qemu_mallocz(size_t size);
12void qemu_free(void *ptr);
13char *qemu_strdup(const char *str);
14
15void *qemu_vmalloc(size_t size);
16void qemu_vfree(void *ptr);
17
18void *get_mmap_addr(unsigned long size);
19
20/* specific kludges for OS compatibility (should be moved elsewhere) */
21#if defined(__i386__) && !defined(CONFIG_SOFTMMU) && !defined(CONFIG_USER_ONLY)
22
23/* disabled pthread version of longjmp which prevent us from using an
24   alternative signal stack */
25extern void __longjmp(jmp_buf env, int val);
26#define longjmp __longjmp
27
28#include <signal.h>
29
30struct siginfo;
31
32/* NOTE: it works only because the glibc sigset_t is >= kernel sigset_t */
33struct qemu_sigaction {
34    union {
35        void (*_sa_handler)(int);
36        void (*_sa_sigaction)(int, struct siginfo *, void *);
37    } _u;
38    unsigned long sa_flags;
39    void (*sa_restorer)(void);
40    sigset_t sa_mask;           /* mask last for extensibility */
41};
42
43int qemu_sigaction(int signum, const struct qemu_sigaction *act, 
44                   struct qemu_sigaction *oldact);
45
46#undef sigaction
47#undef sa_handler
48#undef sa_sigaction
49#define sigaction qemu_sigaction
50#define sa_handler      _u._sa_handler
51#define sa_sigaction    _u._sa_sigaction
52
53#endif
54
55#endif
Note: See TracBrowser for help on using the repository browser.