15d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#ifndef MONITOR_H
25d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#define MONITOR_H
35d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
45d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#include "qemu-common.h"
55d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#include "qemu-char.h"
65d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#include "block.h"
75d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
85d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnerextern Monitor *cur_mon;
95d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
105d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner/* flags for monitor_init */
115d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#define MONITOR_IS_DEFAULT    0x01
125d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#define MONITOR_USE_READLINE  0x02
135d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
145d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_init(CharDriverState *chr, int flags);
155d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
165d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnerint monitor_suspend(Monitor *mon);
175d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_resume(Monitor *mon);
185d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
195d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
205d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner                                 BlockDriverCompletionFunc *completion_cb,
215d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner                                 void *opaque);
225d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
235d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_vprintf(Monitor *mon, const char *fmt, va_list ap);
245d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_printf(Monitor *mon, const char *fmt, ...)
255d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner    __attribute__ ((__format__ (__printf__, 2, 3)));
265d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_print_filename(Monitor *mon, const char *filename);
275d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turnervoid monitor_flush(Monitor *mon);
285d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner
295d8f37ad78fc66901af50c762029a501561f3b23David 'Digit' Turner#endif /* !MONITOR_H */
30