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
18
qga/commands-common.h
Normal file
18
qga/commands-common.h
Normal 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
|
@ -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;
|
||||
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user