mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
Add chardev API qemu_chr_fe_get_msgfds
This extends the existing qemu_chr_fe_get_msgfd by allowing to read a set of fds. The function for receiving the fds - unix_process_msgfd is extended to allocate the needed array size. Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
d39aac7aac
commit
c76bf6bb8f
2 changed files with 78 additions and 22 deletions
|
@ -61,7 +61,7 @@ struct CharDriverState {
|
|||
GSource *(*chr_add_watch)(struct CharDriverState *s, GIOCondition cond);
|
||||
void (*chr_update_read_handler)(struct CharDriverState *s);
|
||||
int (*chr_ioctl)(struct CharDriverState *s, int cmd, void *arg);
|
||||
int (*get_msgfd)(struct CharDriverState *s);
|
||||
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);
|
||||
IOEventHandler *chr_event;
|
||||
|
@ -229,6 +229,19 @@ int qemu_chr_fe_ioctl(CharDriverState *s, int cmd, void *arg);
|
|||
*/
|
||||
int qemu_chr_fe_get_msgfd(CharDriverState *s);
|
||||
|
||||
/**
|
||||
* @qemu_chr_fe_get_msgfds:
|
||||
*
|
||||
* For backends capable of fd passing, return the number of file received
|
||||
* descriptors and fills the fds array up to num elements
|
||||
*
|
||||
* Returns: -1 if fd passing isn't supported or there are no pending file
|
||||
* descriptors. If file descriptors are returned, subsequent calls to
|
||||
* this function will return -1 until a client sends a new set of file
|
||||
* descriptors.
|
||||
*/
|
||||
int qemu_chr_fe_get_msgfds(CharDriverState *s, int *fds, int num);
|
||||
|
||||
/**
|
||||
* @qemu_chr_fe_set_msgfds:
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue