| /* |
| * Compatibility for qemu-img/qemu-nbd |
| * |
| * Copyright IBM, Corp. 2008 |
| * |
| * Authors: |
| * Anthony Liguori <aliguori@us.ibm.com> |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2. See |
| * the COPYING file in the top-level directory. |
| * |
| */ |
| |
| #include "qemu-common.h" |
| #include "monitor.h" |
| #include "sysemu.h" |
| #include "qemu-timer.h" |
| #include "qemu-log.h" |
| |
| #include <sys/time.h> |
| |
| QEMUClock *rt_clock; |
| |
| FILE *logfile; |
| |
| struct QEMUBH |
| { |
| QEMUBHFunc *cb; |
| void *opaque; |
| }; |
| |
| void qemu_service_io(void) |
| { |
| } |
| |
| Monitor *cur_mon; |
| |
| void monitor_printf(Monitor *mon, const char *fmt, ...) |
| { |
| } |
| |
| void monitor_print_filename(Monitor *mon, const char *filename) |
| { |
| } |
| |
| QEMUBH *qemu_bh_new(QEMUBHFunc *cb, void *opaque) |
| { |
| QEMUBH *bh; |
| |
| bh = qemu_malloc(sizeof(*bh)); |
| bh->cb = cb; |
| bh->opaque = opaque; |
| |
| return bh; |
| } |
| |
| int qemu_bh_poll(void) |
| { |
| return 0; |
| } |
| |
| void qemu_bh_schedule(QEMUBH *bh) |
| { |
| bh->cb(bh->opaque); |
| } |
| |
| void qemu_bh_cancel(QEMUBH *bh) |
| { |
| } |
| |
| void qemu_bh_delete(QEMUBH *bh) |
| { |
| qemu_free(bh); |
| } |
| |
| int qemu_set_fd_handler2(int fd, |
| IOCanRWHandler *fd_read_poll, |
| IOHandler *fd_read, |
| IOHandler *fd_write, |
| void *opaque) |
| { |
| return 0; |
| } |
| |
| int64_t qemu_get_clock(QEMUClock *clock) |
| { |
| qemu_timeval tv; |
| qemu_gettimeofday(&tv); |
| return (tv.tv_sec * 1000000000LL + (tv.tv_usec * 1000)) / 1000000; |
| } |