mirror of https://github.com/xemu-project/xemu.git
qga: Extract guest_file_handle_find() to commands-common.h
As we are going to reuse this method, declare it in common header. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
f62ebb6384
commit
5d3586b834
|
@ -0,0 +1,18 @@
|
||||||
|
/*
|
||||||
|
* QEMU Guest Agent common/cross-platform common commands
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 Red Hat, Inc.
|
||||||
|
*
|
||||||
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
* See the COPYING file in the top-level directory.
|
||||||
|
*/
|
||||||
|
#ifndef QGA_COMMANDS_COMMON_H
|
||||||
|
#define QGA_COMMANDS_COMMON_H
|
||||||
|
|
||||||
|
#include "qga-qapi-types.h"
|
||||||
|
|
||||||
|
typedef struct GuestFileHandle GuestFileHandle;
|
||||||
|
|
||||||
|
GuestFileHandle *guest_file_handle_find(int64_t id, Error **errp);
|
||||||
|
|
||||||
|
#endif
|
|
@ -26,6 +26,7 @@
|
||||||
#include "qemu/sockets.h"
|
#include "qemu/sockets.h"
|
||||||
#include "qemu/base64.h"
|
#include "qemu/base64.h"
|
||||||
#include "qemu/cutils.h"
|
#include "qemu/cutils.h"
|
||||||
|
#include "commands-common.h"
|
||||||
|
|
||||||
#ifdef HAVE_UTMPX
|
#ifdef HAVE_UTMPX
|
||||||
#include <utmpx.h>
|
#include <utmpx.h>
|
||||||
|
@ -237,12 +238,12 @@ typedef enum {
|
||||||
RW_STATE_WRITING,
|
RW_STATE_WRITING,
|
||||||
} RwState;
|
} RwState;
|
||||||
|
|
||||||
typedef struct GuestFileHandle {
|
struct GuestFileHandle {
|
||||||
uint64_t id;
|
uint64_t id;
|
||||||
FILE *fh;
|
FILE *fh;
|
||||||
RwState state;
|
RwState state;
|
||||||
QTAILQ_ENTRY(GuestFileHandle) next;
|
QTAILQ_ENTRY(GuestFileHandle) next;
|
||||||
} GuestFileHandle;
|
};
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
QTAILQ_HEAD(, GuestFileHandle) filehandles;
|
QTAILQ_HEAD(, GuestFileHandle) filehandles;
|
||||||
|
@ -268,7 +269,7 @@ static int64_t guest_file_handle_add(FILE *fh, Error **errp)
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GuestFileHandle *guest_file_handle_find(int64_t id, Error **errp)
|
GuestFileHandle *guest_file_handle_find(int64_t id, Error **errp)
|
||||||
{
|
{
|
||||||
GuestFileHandle *gfh;
|
GuestFileHandle *gfh;
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "qemu/queue.h"
|
#include "qemu/queue.h"
|
||||||
#include "qemu/host-utils.h"
|
#include "qemu/host-utils.h"
|
||||||
#include "qemu/base64.h"
|
#include "qemu/base64.h"
|
||||||
|
#include "commands-common.h"
|
||||||
|
|
||||||
#ifndef SHTDN_REASON_FLAG_PLANNED
|
#ifndef SHTDN_REASON_FLAG_PLANNED
|
||||||
#define SHTDN_REASON_FLAG_PLANNED 0x80000000
|
#define SHTDN_REASON_FLAG_PLANNED 0x80000000
|
||||||
|
@ -50,11 +51,11 @@
|
||||||
|
|
||||||
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
|
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
|
||||||
|
|
||||||
typedef struct GuestFileHandle {
|
struct GuestFileHandle {
|
||||||
int64_t id;
|
int64_t id;
|
||||||
HANDLE fh;
|
HANDLE fh;
|
||||||
QTAILQ_ENTRY(GuestFileHandle) next;
|
QTAILQ_ENTRY(GuestFileHandle) next;
|
||||||
} GuestFileHandle;
|
};
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
QTAILQ_HEAD(, GuestFileHandle) filehandles;
|
QTAILQ_HEAD(, GuestFileHandle) filehandles;
|
||||||
|
@ -126,7 +127,7 @@ static int64_t guest_file_handle_add(HANDLE fh, Error **errp)
|
||||||
return handle;
|
return handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GuestFileHandle *guest_file_handle_find(int64_t id, Error **errp)
|
GuestFileHandle *guest_file_handle_find(int64_t id, Error **errp)
|
||||||
{
|
{
|
||||||
GuestFileHandle *gfh;
|
GuestFileHandle *gfh;
|
||||||
QTAILQ_FOREACH(gfh, &guest_file_state.filehandles, next) {
|
QTAILQ_FOREACH(gfh, &guest_file_state.filehandles, next) {
|
||||||
|
|
Loading…
Reference in New Issue