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:
Philippe Mathieu-Daudé 2020-04-14 15:30:42 +02:00 committed by Michael Roth
parent f62ebb6384
commit 5d3586b834
3 changed files with 26 additions and 6 deletions

18
qga/commands-common.h Normal file
View File

@ -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

View File

@ -26,6 +26,7 @@
#include "qemu/sockets.h"
#include "qemu/base64.h"
#include "qemu/cutils.h"
#include "commands-common.h"
#ifdef HAVE_UTMPX
#include <utmpx.h>
@ -237,12 +238,12 @@ typedef enum {
RW_STATE_WRITING,
} RwState;
typedef struct GuestFileHandle {
struct GuestFileHandle {
uint64_t id;
FILE *fh;
RwState state;
QTAILQ_ENTRY(GuestFileHandle) next;
} GuestFileHandle;
};
static struct {
QTAILQ_HEAD(, GuestFileHandle) filehandles;
@ -268,7 +269,7 @@ static int64_t guest_file_handle_add(FILE *fh, Error **errp)
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;

View File

@ -37,6 +37,7 @@
#include "qemu/queue.h"
#include "qemu/host-utils.h"
#include "qemu/base64.h"
#include "commands-common.h"
#ifndef SHTDN_REASON_FLAG_PLANNED
#define SHTDN_REASON_FLAG_PLANNED 0x80000000
@ -50,11 +51,11 @@
#define INVALID_SET_FILE_POINTER ((DWORD)-1)
typedef struct GuestFileHandle {
struct GuestFileHandle {
int64_t id;
HANDLE fh;
QTAILQ_ENTRY(GuestFileHandle) next;
} GuestFileHandle;
};
static struct {
QTAILQ_HEAD(, GuestFileHandle) filehandles;
@ -126,7 +127,7 @@ static int64_t guest_file_handle_add(HANDLE fh, Error **errp)
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;
QTAILQ_FOREACH(gfh, &guest_file_state.filehandles, next) {