|
@@ -76,9 +76,9 @@ typedef enum {
|
|
|
} CharDriverFeature;
|
|
|
|
|
|
/* This is the backend as seen by frontend, the actual backend is
|
|
|
- * CharDriverState */
|
|
|
+ * Chardev */
|
|
|
typedef struct CharBackend {
|
|
|
- CharDriverState *chr;
|
|
|
+ Chardev *chr;
|
|
|
IOEventHandler *chr_event;
|
|
|
IOCanReadHandler *chr_can_read;
|
|
|
IOReadHandler *chr_read;
|
|
@@ -89,7 +89,7 @@ typedef struct CharBackend {
|
|
|
|
|
|
typedef struct CharDriver CharDriver;
|
|
|
|
|
|
-struct CharDriverState {
|
|
|
+struct Chardev {
|
|
|
const CharDriver *driver;
|
|
|
QemuMutex chr_write_lock;
|
|
|
CharBackend *be;
|
|
@@ -99,7 +99,7 @@ struct CharDriverState {
|
|
|
int be_open;
|
|
|
guint fd_in_tag;
|
|
|
DECLARE_BITMAP(features, QEMU_CHAR_FEATURE_LAST);
|
|
|
- QTAILQ_ENTRY(CharDriverState) next;
|
|
|
+ QTAILQ_ENTRY(Chardev) next;
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -107,12 +107,12 @@ struct CharDriverState {
|
|
|
* @backend: the common backend config
|
|
|
* @errp: pointer to a NULL-initialized error object
|
|
|
*
|
|
|
- * Allocate and initialize a new CharDriverState.
|
|
|
+ * Allocate and initialize a new Chardev.
|
|
|
*
|
|
|
- * Returns: a newly allocated CharDriverState, or NULL on error.
|
|
|
+ * Returns: a newly allocated Chardev, or NULL on error.
|
|
|
*/
|
|
|
-CharDriverState *qemu_chr_alloc(const CharDriver *driver,
|
|
|
- ChardevCommon *backend, Error **errp);
|
|
|
+Chardev *qemu_chr_alloc(const CharDriver *driver,
|
|
|
+ ChardevCommon *backend, Error **errp);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_new_from_opts:
|
|
@@ -123,8 +123,8 @@ CharDriverState *qemu_chr_alloc(const CharDriver *driver,
|
|
|
*
|
|
|
* Returns: a new character backend
|
|
|
*/
|
|
|
-CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
|
|
|
- Error **errp);
|
|
|
+Chardev *qemu_chr_new_from_opts(QemuOpts *opts,
|
|
|
+ Error **errp);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_parse_common:
|
|
@@ -146,7 +146,7 @@ void qemu_chr_parse_common(QemuOpts *opts, ChardevCommon *backend);
|
|
|
*
|
|
|
* Returns: a new character backend
|
|
|
*/
|
|
|
-CharDriverState *qemu_chr_new(const char *label, const char *filename);
|
|
|
+Chardev *qemu_chr_new(const char *label, const char *filename);
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -184,7 +184,7 @@ int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp);
|
|
|
*
|
|
|
* Returns: a new character backend
|
|
|
*/
|
|
|
-CharDriverState *qemu_chr_new_noreplay(const char *label, const char *filename);
|
|
|
+Chardev *qemu_chr_new_noreplay(const char *label, const char *filename);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_delete:
|
|
@@ -192,14 +192,14 @@ CharDriverState *qemu_chr_new_noreplay(const char *label, const char *filename);
|
|
|
* Destroy a character backend and remove it from the list of
|
|
|
* identified character backends.
|
|
|
*/
|
|
|
-void qemu_chr_delete(CharDriverState *chr);
|
|
|
+void qemu_chr_delete(Chardev *chr);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_free:
|
|
|
*
|
|
|
* Destroy a character backend.
|
|
|
*/
|
|
|
-void qemu_chr_free(CharDriverState *chr);
|
|
|
+void qemu_chr_free(Chardev *chr);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_fe_set_echo:
|
|
@@ -355,7 +355,7 @@ int qemu_chr_fe_set_msgfds(CharBackend *be, int *fds, int num);
|
|
|
*
|
|
|
* Returns: the number of bytes the front end can receive via @qemu_chr_be_write
|
|
|
*/
|
|
|
-int qemu_chr_be_can_write(CharDriverState *s);
|
|
|
+int qemu_chr_be_can_write(Chardev *s);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_be_write:
|
|
@@ -367,7 +367,7 @@ int qemu_chr_be_can_write(CharDriverState *s);
|
|
|
* @buf a buffer to receive data from the front end
|
|
|
* @len the number of bytes to receive from the front end
|
|
|
*/
|
|
|
-void qemu_chr_be_write(CharDriverState *s, uint8_t *buf, int len);
|
|
|
+void qemu_chr_be_write(Chardev *s, uint8_t *buf, int len);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_be_write_impl:
|
|
@@ -377,7 +377,7 @@ void qemu_chr_be_write(CharDriverState *s, uint8_t *buf, int len);
|
|
|
* @buf a buffer to receive data from the front end
|
|
|
* @len the number of bytes to receive from the front end
|
|
|
*/
|
|
|
-void qemu_chr_be_write_impl(CharDriverState *s, uint8_t *buf, int len);
|
|
|
+void qemu_chr_be_write_impl(Chardev *s, uint8_t *buf, int len);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_be_event:
|
|
@@ -386,7 +386,7 @@ void qemu_chr_be_write_impl(CharDriverState *s, uint8_t *buf, int len);
|
|
|
*
|
|
|
* @event the event to send
|
|
|
*/
|
|
|
-void qemu_chr_be_event(CharDriverState *s, int event);
|
|
|
+void qemu_chr_be_event(Chardev *s, int event);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_fe_init:
|
|
@@ -397,7 +397,7 @@ void qemu_chr_be_event(CharDriverState *s, int event);
|
|
|
*
|
|
|
* Returns: false on error.
|
|
|
*/
|
|
|
-bool qemu_chr_fe_init(CharBackend *b, CharDriverState *s, Error **errp);
|
|
|
+bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_fe_get_driver:
|
|
@@ -405,7 +405,7 @@ bool qemu_chr_fe_init(CharBackend *b, CharDriverState *s, Error **errp);
|
|
|
* Returns the driver associated with a CharBackend or NULL if no
|
|
|
* associated CharDriver.
|
|
|
*/
|
|
|
-CharDriverState *qemu_chr_fe_get_driver(CharBackend *be);
|
|
|
+Chardev *qemu_chr_fe_get_driver(CharBackend *be);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_fe_deinit:
|
|
@@ -450,27 +450,27 @@ void qemu_chr_fe_set_handlers(CharBackend *b,
|
|
|
*/
|
|
|
void qemu_chr_fe_take_focus(CharBackend *b);
|
|
|
|
|
|
-void qemu_chr_be_generic_open(CharDriverState *s);
|
|
|
+void qemu_chr_be_generic_open(Chardev *s);
|
|
|
void qemu_chr_fe_accept_input(CharBackend *be);
|
|
|
-int qemu_chr_add_client(CharDriverState *s, int fd);
|
|
|
-CharDriverState *qemu_chr_find(const char *name);
|
|
|
+int qemu_chr_add_client(Chardev *s, int fd);
|
|
|
+Chardev *qemu_chr_find(const char *name);
|
|
|
|
|
|
/**
|
|
|
* @qemu_chr_get_kind:
|
|
|
*
|
|
|
* Returns the kind of char backend, or -1 if unspecified.
|
|
|
*/
|
|
|
-ChardevBackendKind qemu_chr_get_kind(const CharDriverState *chr);
|
|
|
+ChardevBackendKind qemu_chr_get_kind(const Chardev *chr);
|
|
|
|
|
|
-static inline bool qemu_chr_is_ringbuf(const CharDriverState *chr)
|
|
|
+static inline bool qemu_chr_is_ringbuf(const Chardev *chr)
|
|
|
{
|
|
|
return qemu_chr_get_kind(chr) == CHARDEV_BACKEND_KIND_RINGBUF ||
|
|
|
qemu_chr_get_kind(chr) == CHARDEV_BACKEND_KIND_MEMORY;
|
|
|
}
|
|
|
|
|
|
-bool qemu_chr_has_feature(CharDriverState *chr,
|
|
|
+bool qemu_chr_has_feature(Chardev *chr,
|
|
|
CharDriverFeature feature);
|
|
|
-void qemu_chr_set_feature(CharDriverState *chr,
|
|
|
+void qemu_chr_set_feature(Chardev *chr,
|
|
|
CharDriverFeature feature);
|
|
|
QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename);
|
|
|
|
|
@@ -478,29 +478,29 @@ struct CharDriver {
|
|
|
ChardevBackendKind kind;
|
|
|
const char *alias;
|
|
|
void (*parse)(QemuOpts *opts, ChardevBackend *backend, Error **errp);
|
|
|
- CharDriverState *(*create)(const CharDriver *driver,
|
|
|
- const char *id,
|
|
|
- ChardevBackend *backend,
|
|
|
- ChardevReturn *ret, bool *be_opened,
|
|
|
- Error **errp);
|
|
|
+ Chardev *(*create)(const CharDriver *driver,
|
|
|
+ const char *id,
|
|
|
+ ChardevBackend *backend,
|
|
|
+ ChardevReturn *ret, bool *be_opened,
|
|
|
+ Error **errp);
|
|
|
size_t instance_size;
|
|
|
|
|
|
- int (*chr_write)(struct CharDriverState *s, const uint8_t *buf, int len);
|
|
|
- int (*chr_sync_read)(struct CharDriverState *s,
|
|
|
+ int (*chr_write)(struct Chardev *s, const uint8_t *buf, int len);
|
|
|
+ int (*chr_sync_read)(struct Chardev *s,
|
|
|
const uint8_t *buf, int len);
|
|
|
- GSource *(*chr_add_watch)(struct CharDriverState *s, GIOCondition cond);
|
|
|
- void (*chr_update_read_handler)(struct CharDriverState *s,
|
|
|
+ GSource *(*chr_add_watch)(struct Chardev *s, GIOCondition cond);
|
|
|
+ void (*chr_update_read_handler)(struct Chardev *s,
|
|
|
GMainContext *context);
|
|
|
- int (*chr_ioctl)(struct CharDriverState *s, int cmd, void *arg);
|
|
|
- int (*get_msgfds)(struct CharDriverState *s, int* fds, int num);
|
|
|
- int (*set_msgfds)(struct CharDriverState *s, int *fds, int num);
|
|
|
- int (*chr_add_client)(struct CharDriverState *chr, int fd);
|
|
|
- int (*chr_wait_connected)(struct CharDriverState *chr, Error **errp);
|
|
|
- void (*chr_free)(struct CharDriverState *chr);
|
|
|
- void (*chr_disconnect)(struct CharDriverState *chr);
|
|
|
- void (*chr_accept_input)(struct CharDriverState *chr);
|
|
|
- void (*chr_set_echo)(struct CharDriverState *chr, bool echo);
|
|
|
- void (*chr_set_fe_open)(struct CharDriverState *chr, int fe_open);
|
|
|
+ int (*chr_ioctl)(struct Chardev *s, int cmd, void *arg);
|
|
|
+ int (*get_msgfds)(struct Chardev *s, int* fds, int num);
|
|
|
+ int (*set_msgfds)(struct Chardev *s, int *fds, int num);
|
|
|
+ int (*chr_add_client)(struct Chardev *chr, int fd);
|
|
|
+ int (*chr_wait_connected)(struct Chardev *chr, Error **errp);
|
|
|
+ void (*chr_free)(struct Chardev *chr);
|
|
|
+ void (*chr_disconnect)(struct Chardev *chr);
|
|
|
+ void (*chr_accept_input)(struct Chardev *chr);
|
|
|
+ void (*chr_set_echo)(struct Chardev *chr, bool echo);
|
|
|
+ void (*chr_set_fe_open)(struct Chardev *chr, int fe_open);
|
|
|
};
|
|
|
|
|
|
void register_char_driver(const CharDriver *driver);
|
|
@@ -509,7 +509,7 @@ extern int term_escape_char;
|
|
|
|
|
|
|
|
|
/* console.c */
|
|
|
-typedef CharDriverState *(VcHandler)(ChardevVC *vc, Error **errp);
|
|
|
+typedef Chardev *(VcHandler)(ChardevVC *vc, Error **errp);
|
|
|
void register_vc_handler(VcHandler *handler);
|
|
|
|
|
|
#endif
|