mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-01-01 13:10:43 +00:00
char_device: move SpiceCharDeviceState from the header
In addition, I also removed the no longer used wakeup callback
This commit is contained in:
parent
8bb444ec7a
commit
bf91bdce5c
@ -43,6 +43,29 @@ struct SpiceCharDeviceClientState {
|
||||
uint32_t max_send_queue_size;
|
||||
};
|
||||
|
||||
struct SpiceCharDeviceState {
|
||||
int running;
|
||||
uint32_t refs;
|
||||
|
||||
Ring write_queue;
|
||||
Ring write_bufs_pool;
|
||||
SpiceCharDeviceWriteBuffer *cur_write_buf;
|
||||
uint8_t *cur_write_buf_pos;
|
||||
SpiceTimer *write_to_dev_timer;
|
||||
uint64_t num_self_tokens;
|
||||
|
||||
Ring clients; /* list of SpiceCharDeviceClientState */
|
||||
uint32_t num_clients;
|
||||
|
||||
uint64_t client_tokens_interval; /* frequency of returning tokens to the client */
|
||||
SpiceCharDeviceInstance *sin;
|
||||
|
||||
int during_read_from_device;
|
||||
|
||||
SpiceCharDeviceCallbacks cbs;
|
||||
void *opaque;
|
||||
};
|
||||
|
||||
enum {
|
||||
WRITE_BUFFER_ORIGIN_NONE,
|
||||
WRITE_BUFFER_ORIGIN_CLIENT,
|
||||
|
||||
@ -109,34 +109,6 @@ typedef struct SpiceCharDeviceCallbacks {
|
||||
|
||||
typedef struct SpiceCharDeviceState SpiceCharDeviceState;
|
||||
|
||||
struct SpiceCharDeviceState {
|
||||
int running;
|
||||
uint32_t refs;
|
||||
|
||||
Ring write_queue;
|
||||
Ring write_bufs_pool;
|
||||
SpiceCharDeviceWriteBuffer *cur_write_buf;
|
||||
uint8_t *cur_write_buf_pos;
|
||||
SpiceTimer *write_to_dev_timer;
|
||||
uint64_t num_self_tokens;
|
||||
|
||||
Ring clients;
|
||||
uint32_t num_clients;
|
||||
|
||||
uint64_t client_tokens_interval; /* frequency of returning tokens to the client */
|
||||
SpiceCharDeviceInstance *sin;
|
||||
|
||||
int during_read_from_device;
|
||||
|
||||
SpiceCharDeviceCallbacks cbs;
|
||||
void *opaque;
|
||||
/* tmp till all spice char devices will employ the new SpiceCharDeviceState
|
||||
* implementation. Then, SpiceCharDeviceState will be moved to char_device.c and
|
||||
* this callback will be removed */
|
||||
void (*wakeup)(SpiceCharDeviceInstance *sin);
|
||||
};
|
||||
|
||||
|
||||
SpiceCharDeviceState *spice_char_device_state_create(SpiceCharDeviceInstance *sin,
|
||||
uint32_t client_tokens_interval,
|
||||
uint32_t self_tokens,
|
||||
|
||||
@ -3158,11 +3158,11 @@ static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin)
|
||||
|
||||
SPICE_GNUC_VISIBLE void spice_server_char_device_wakeup(SpiceCharDeviceInstance* sin)
|
||||
{
|
||||
if (sin->st->wakeup) {
|
||||
sin->st->wakeup(sin);
|
||||
} else {
|
||||
spice_char_device_wakeup(sin->st);
|
||||
if (!sin->st) {
|
||||
spice_error("no SpiceCharDeviceState attached to instance %p", sin);
|
||||
return;
|
||||
}
|
||||
spice_char_device_wakeup(sin->st);
|
||||
}
|
||||
|
||||
#define SUBTYPE_VDAGENT "vdagent"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user