--- /dev/null
+/*
+ * 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
#include "qemu/sockets.h"
#include "qemu/base64.h"
#include "qemu/cutils.h"
+#include "commands-common.h"
#ifdef HAVE_UTMPX
#include <utmpx.h>
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;
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;
#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
#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;
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) {