Statistics
| Branch: | Revision:

root / qemu-tool.c @ 67d8cec3

History | View | Annotate | Download (1.3 kB)

1 03ff3ca3 aliguori
/*
2 03ff3ca3 aliguori
 * Compatibility for qemu-img/qemu-nbd
3 03ff3ca3 aliguori
 *
4 03ff3ca3 aliguori
 * Copyright IBM, Corp. 2008
5 03ff3ca3 aliguori
 *
6 03ff3ca3 aliguori
 * Authors:
7 03ff3ca3 aliguori
 *  Anthony Liguori   <aliguori@us.ibm.com>
8 03ff3ca3 aliguori
 *
9 03ff3ca3 aliguori
 * This work is licensed under the terms of the GNU GPL, version 2.  See
10 03ff3ca3 aliguori
 * the COPYING file in the top-level directory.
11 03ff3ca3 aliguori
 *
12 03ff3ca3 aliguori
 */
13 03ff3ca3 aliguori
14 03ff3ca3 aliguori
#include "qemu-common.h"
15 03ff3ca3 aliguori
#include "console.h"
16 03ff3ca3 aliguori
#include "sysemu.h"
17 03ff3ca3 aliguori
#include "qemu-timer.h"
18 03ff3ca3 aliguori
19 03ff3ca3 aliguori
#include <sys/time.h>
20 03ff3ca3 aliguori
21 03ff3ca3 aliguori
QEMUClock *rt_clock;
22 03ff3ca3 aliguori
23 03ff3ca3 aliguori
struct QEMUBH
24 03ff3ca3 aliguori
{
25 03ff3ca3 aliguori
    QEMUBHFunc *cb;
26 03ff3ca3 aliguori
    void *opaque;
27 03ff3ca3 aliguori
};
28 03ff3ca3 aliguori
29 03ff3ca3 aliguori
void term_printf(const char *fmt, ...)
30 03ff3ca3 aliguori
{
31 03ff3ca3 aliguori
}
32 03ff3ca3 aliguori
33 03ff3ca3 aliguori
void term_print_filename(const char *filename)
34 03ff3ca3 aliguori
{
35 03ff3ca3 aliguori
}
36 03ff3ca3 aliguori
37 03ff3ca3 aliguori
QEMUBH *qemu_bh_new(QEMUBHFunc *cb, void *opaque)
38 03ff3ca3 aliguori
{
39 03ff3ca3 aliguori
    QEMUBH *bh;
40 03ff3ca3 aliguori
41 03ff3ca3 aliguori
    bh = qemu_malloc(sizeof(*bh));
42 03ff3ca3 aliguori
    if (bh) {
43 03ff3ca3 aliguori
        bh->cb = cb;
44 03ff3ca3 aliguori
        bh->opaque = opaque;
45 03ff3ca3 aliguori
    }
46 03ff3ca3 aliguori
47 03ff3ca3 aliguori
    return bh;
48 03ff3ca3 aliguori
}
49 03ff3ca3 aliguori
50 03ff3ca3 aliguori
int qemu_bh_poll(void)
51 03ff3ca3 aliguori
{
52 03ff3ca3 aliguori
    return 0;
53 03ff3ca3 aliguori
}
54 03ff3ca3 aliguori
55 03ff3ca3 aliguori
void qemu_bh_schedule(QEMUBH *bh)
56 03ff3ca3 aliguori
{
57 03ff3ca3 aliguori
    bh->cb(bh->opaque);
58 03ff3ca3 aliguori
}
59 03ff3ca3 aliguori
60 03ff3ca3 aliguori
void qemu_bh_cancel(QEMUBH *bh)
61 03ff3ca3 aliguori
{
62 03ff3ca3 aliguori
}
63 03ff3ca3 aliguori
64 03ff3ca3 aliguori
void qemu_bh_delete(QEMUBH *bh)
65 03ff3ca3 aliguori
{
66 03ff3ca3 aliguori
    qemu_free(bh);
67 03ff3ca3 aliguori
}
68 03ff3ca3 aliguori
69 03ff3ca3 aliguori
int qemu_set_fd_handler2(int fd,
70 03ff3ca3 aliguori
                         IOCanRWHandler *fd_read_poll,
71 03ff3ca3 aliguori
                         IOHandler *fd_read,
72 03ff3ca3 aliguori
                         IOHandler *fd_write,
73 03ff3ca3 aliguori
                         void *opaque)
74 03ff3ca3 aliguori
{
75 03ff3ca3 aliguori
    return 0;
76 03ff3ca3 aliguori
}
77 03ff3ca3 aliguori
78 03ff3ca3 aliguori
int64_t qemu_get_clock(QEMUClock *clock)
79 03ff3ca3 aliguori
{
80 03ff3ca3 aliguori
    struct timeval tv;
81 03ff3ca3 aliguori
    gettimeofday(&tv, NULL);
82 03ff3ca3 aliguori
    return (tv.tv_sec * 1000000000LL + (tv.tv_usec * 1000)) / 1000000;
83 03ff3ca3 aliguori
}