char: add qemu_chr_fe_event()
Teach the chardev frontend to send event. This is used by the Spice port chardev currently. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									f7d4805264
								
							
						
					
					
						commit
						d61b0c9a2f
					
				@ -69,6 +69,7 @@ struct CharDriverState {
 | 
				
			|||||||
    void (*chr_accept_input)(struct CharDriverState *chr);
 | 
					    void (*chr_accept_input)(struct CharDriverState *chr);
 | 
				
			||||||
    void (*chr_set_echo)(struct CharDriverState *chr, bool echo);
 | 
					    void (*chr_set_echo)(struct CharDriverState *chr, bool echo);
 | 
				
			||||||
    void (*chr_set_fe_open)(struct CharDriverState *chr, int fe_open);
 | 
					    void (*chr_set_fe_open)(struct CharDriverState *chr, int fe_open);
 | 
				
			||||||
 | 
					    void (*chr_fe_event)(struct CharDriverState *chr, int event);
 | 
				
			||||||
    void *opaque;
 | 
					    void *opaque;
 | 
				
			||||||
    char *label;
 | 
					    char *label;
 | 
				
			||||||
    char *filename;
 | 
					    char *filename;
 | 
				
			||||||
@ -137,6 +138,15 @@ void qemu_chr_fe_set_echo(struct CharDriverState *chr, bool echo);
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
void qemu_chr_fe_set_open(struct CharDriverState *chr, int fe_open);
 | 
					void qemu_chr_fe_set_open(struct CharDriverState *chr, int fe_open);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @qemu_chr_fe_event:
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Send an event from the front end to the back end.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @event the event to send
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void qemu_chr_fe_event(CharDriverState *s, int event);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @qemu_chr_fe_printf:
 | 
					 * @qemu_chr_fe_printf:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 | 
				
			|||||||
@ -3353,6 +3353,13 @@ void qemu_chr_fe_set_open(struct CharDriverState *chr, int fe_open)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void qemu_chr_fe_event(struct CharDriverState *chr, int event)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (chr->chr_fe_event) {
 | 
				
			||||||
 | 
					        chr->chr_fe_event(chr, event);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond,
 | 
					int qemu_chr_fe_add_watch(CharDriverState *s, GIOCondition cond,
 | 
				
			||||||
                          GIOFunc func, void *user_data)
 | 
					                          GIOFunc func, void *user_data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user