Statistics
| Branch: | Revision:

root / qemu-tool.c @ 827b0813

History | View | Annotate | Download (2 kB)

1
/*
2
 * Compatibility for qemu-img/qemu-nbd
3
 *
4
 * Copyright IBM, Corp. 2008
5
 *
6
 * Authors:
7
 *  Anthony Liguori   <aliguori@us.ibm.com>
8
 *
9
 * This work is licensed under the terms of the GNU GPL, version 2.  See
10
 * the COPYING file in the top-level directory.
11
 *
12
 */
13

    
14
#include "qemu-common.h"
15
#include "monitor.h"
16
#include "qemu-timer.h"
17
#include "qemu-log.h"
18
#include "qemu-error.h"
19

    
20
#include <sys/time.h>
21

    
22
QEMUClock *rt_clock;
23

    
24
FILE *logfile;
25

    
26
struct QEMUBH
27
{
28
    QEMUBHFunc *cb;
29
    void *opaque;
30
};
31

    
32
void qemu_service_io(void)
33
{
34
}
35

    
36
void monitor_printf(Monitor *mon, const char *fmt, ...)
37
{
38
}
39

    
40
void monitor_print_filename(Monitor *mon, const char *filename)
41
{
42
}
43

    
44
void async_context_push(void)
45
{
46
}
47

    
48
void async_context_pop(void)
49
{
50
}
51

    
52
int get_async_context_id(void)
53
{
54
    return 0;
55
}
56

    
57
void monitor_protocol_event(MonitorEvent event, QObject *data)
58
{
59
}
60

    
61
QEMUBH *qemu_bh_new(QEMUBHFunc *cb, void *opaque)
62
{
63
    QEMUBH *bh;
64

    
65
    bh = qemu_malloc(sizeof(*bh));
66
    bh->cb = cb;
67
    bh->opaque = opaque;
68

    
69
    return bh;
70
}
71

    
72
int qemu_bh_poll(void)
73
{
74
    return 0;
75
}
76

    
77
void qemu_bh_schedule(QEMUBH *bh)
78
{
79
    bh->cb(bh->opaque);
80
}
81

    
82
void qemu_bh_cancel(QEMUBH *bh)
83
{
84
}
85

    
86
void qemu_bh_delete(QEMUBH *bh)
87
{
88
    qemu_free(bh);
89
}
90

    
91
int qemu_set_fd_handler2(int fd,
92
                         IOCanRWHandler *fd_read_poll,
93
                         IOHandler *fd_read,
94
                         IOHandler *fd_write,
95
                         void *opaque)
96
{
97
    return 0;
98
}
99

    
100
int64_t qemu_get_clock(QEMUClock *clock)
101
{
102
    qemu_timeval tv;
103
    qemu_gettimeofday(&tv);
104
    return (tv.tv_sec * 1000000000LL + (tv.tv_usec * 1000)) / 1000000;
105
}
106

    
107
Location *loc_push_restore(Location *loc)
108
{
109
    return loc;
110
}
111

    
112
Location *loc_push_none(Location *loc)
113
{
114
    return loc;
115
}
116

    
117
Location *loc_pop(Location *loc)
118
{
119
    return loc;
120
}
121

    
122
Location *loc_save(Location *loc)
123
{
124
    return loc;
125
}
126

    
127
void loc_restore(Location *loc)
128
{
129
}
130

    
131
void error_report(const char *fmt, ...)
132
{
133
    va_list args;
134

    
135
    va_start(args, fmt);
136
    vfprintf(stderr, fmt, args);
137
    va_end(args);
138
}