/* This file is auto-generated from ../src/logging/log_protocol.x */

#include <rpc/rpc.h>
#include "internal.h"

#pragma once

#include "internal.h"

#include "virxdrdefs.h"

typedef char virLogManagerProtocolUUID[VIR_UUID_BUFLEN];
void xdr_virLogManagerProtocolUUID_clear(virLogManagerProtocolUUID *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolUUID, xdr_virLogManagerProtocolUUID_clear);

#define VIR_LOG_MANAGER_PROTOCOL_STRING_MAX 4194304

typedef char *virLogManagerProtocolNonNullString;
void xdr_virLogManagerProtocolNonNullString_clear(virLogManagerProtocolNonNullString *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolNonNullString, xdr_virLogManagerProtocolNonNullString_clear);

typedef virLogManagerProtocolNonNullString *virLogManagerProtocolString;
void xdr_virLogManagerProtocolString_clear(virLogManagerProtocolString *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolString, xdr_virLogManagerProtocolString_clear);

struct virLogManagerProtocolDomain {
    virLogManagerProtocolUUID uuid;
    virLogManagerProtocolNonNullString name;
};
typedef struct virLogManagerProtocolDomain virLogManagerProtocolDomain;
void xdr_virLogManagerProtocolDomain_clear(virLogManagerProtocolDomain *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomain, xdr_virLogManagerProtocolDomain_clear);

struct virLogManagerProtocolLogFilePosition {
    uint64_t inode;
    uint64_t offset;
};
typedef struct virLogManagerProtocolLogFilePosition virLogManagerProtocolLogFilePosition;
void xdr_virLogManagerProtocolLogFilePosition_clear(virLogManagerProtocolLogFilePosition *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolLogFilePosition, xdr_virLogManagerProtocolLogFilePosition_clear);

enum virLogManagerProtocolDomainOpenLogFileFlags {
    VIR_LOG_MANAGER_PROTOCOL_DOMAIN_OPEN_LOG_FILE_TRUNCATE = 1,
};
typedef enum virLogManagerProtocolDomainOpenLogFileFlags virLogManagerProtocolDomainOpenLogFileFlags;

struct virLogManagerProtocolDomainOpenLogFileArgs {
    virLogManagerProtocolNonNullString driver;
    virLogManagerProtocolDomain dom;
    virLogManagerProtocolNonNullString path;
    u_int flags;
};
typedef struct virLogManagerProtocolDomainOpenLogFileArgs virLogManagerProtocolDomainOpenLogFileArgs;
void xdr_virLogManagerProtocolDomainOpenLogFileArgs_clear(virLogManagerProtocolDomainOpenLogFileArgs *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainOpenLogFileArgs, xdr_virLogManagerProtocolDomainOpenLogFileArgs_clear);

struct virLogManagerProtocolDomainOpenLogFileRet {
    virLogManagerProtocolLogFilePosition pos;
};
typedef struct virLogManagerProtocolDomainOpenLogFileRet virLogManagerProtocolDomainOpenLogFileRet;
void xdr_virLogManagerProtocolDomainOpenLogFileRet_clear(virLogManagerProtocolDomainOpenLogFileRet *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainOpenLogFileRet, xdr_virLogManagerProtocolDomainOpenLogFileRet_clear);

struct virLogManagerProtocolDomainGetLogFilePositionArgs {
    virLogManagerProtocolNonNullString path;
    u_int flags;
};
typedef struct virLogManagerProtocolDomainGetLogFilePositionArgs virLogManagerProtocolDomainGetLogFilePositionArgs;
void xdr_virLogManagerProtocolDomainGetLogFilePositionArgs_clear(virLogManagerProtocolDomainGetLogFilePositionArgs *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainGetLogFilePositionArgs, xdr_virLogManagerProtocolDomainGetLogFilePositionArgs_clear);

struct virLogManagerProtocolDomainGetLogFilePositionRet {
    virLogManagerProtocolLogFilePosition pos;
};
typedef struct virLogManagerProtocolDomainGetLogFilePositionRet virLogManagerProtocolDomainGetLogFilePositionRet;
void xdr_virLogManagerProtocolDomainGetLogFilePositionRet_clear(virLogManagerProtocolDomainGetLogFilePositionRet *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainGetLogFilePositionRet, xdr_virLogManagerProtocolDomainGetLogFilePositionRet_clear);

struct virLogManagerProtocolDomainReadLogFileArgs {
    virLogManagerProtocolNonNullString path;
    virLogManagerProtocolLogFilePosition pos;
    uint64_t maxlen;
    u_int flags;
};
typedef struct virLogManagerProtocolDomainReadLogFileArgs virLogManagerProtocolDomainReadLogFileArgs;
void xdr_virLogManagerProtocolDomainReadLogFileArgs_clear(virLogManagerProtocolDomainReadLogFileArgs *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainReadLogFileArgs, xdr_virLogManagerProtocolDomainReadLogFileArgs_clear);

struct virLogManagerProtocolDomainReadLogFileRet {
    virLogManagerProtocolNonNullString data;
};
typedef struct virLogManagerProtocolDomainReadLogFileRet virLogManagerProtocolDomainReadLogFileRet;
void xdr_virLogManagerProtocolDomainReadLogFileRet_clear(virLogManagerProtocolDomainReadLogFileRet *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainReadLogFileRet, xdr_virLogManagerProtocolDomainReadLogFileRet_clear);

struct virLogManagerProtocolDomainAppendLogFileArgs {
    virLogManagerProtocolNonNullString driver;
    virLogManagerProtocolDomain dom;
    virLogManagerProtocolNonNullString path;
    virLogManagerProtocolNonNullString message;
    u_int flags;
};
typedef struct virLogManagerProtocolDomainAppendLogFileArgs virLogManagerProtocolDomainAppendLogFileArgs;
void xdr_virLogManagerProtocolDomainAppendLogFileArgs_clear(virLogManagerProtocolDomainAppendLogFileArgs *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainAppendLogFileArgs, xdr_virLogManagerProtocolDomainAppendLogFileArgs_clear);

struct virLogManagerProtocolDomainAppendLogFileRet {
    int ret;
};
typedef struct virLogManagerProtocolDomainAppendLogFileRet virLogManagerProtocolDomainAppendLogFileRet;
void xdr_virLogManagerProtocolDomainAppendLogFileRet_clear(virLogManagerProtocolDomainAppendLogFileRet *objp);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virLogManagerProtocolDomainAppendLogFileRet, xdr_virLogManagerProtocolDomainAppendLogFileRet_clear);

#define VIR_LOG_MANAGER_PROTOCOL_PROGRAM 0x87539319

#define VIR_LOG_MANAGER_PROTOCOL_PROGRAM_VERSION 1

enum virLogManagerProtocolProcedure {
    VIR_LOG_MANAGER_PROTOCOL_PROC_DOMAIN_OPEN_LOG_FILE = 1,
    VIR_LOG_MANAGER_PROTOCOL_PROC_DOMAIN_GET_LOG_FILE_POSITION = 2,
    VIR_LOG_MANAGER_PROTOCOL_PROC_DOMAIN_READ_LOG_FILE = 3,
    VIR_LOG_MANAGER_PROTOCOL_PROC_DOMAIN_APPEND_LOG_FILE = 4,
};
typedef enum virLogManagerProtocolProcedure virLogManagerProtocolProcedure;

extern  bool_t xdr_virLogManagerProtocolUUID(XDR *, virLogManagerProtocolUUID);

extern  bool_t xdr_virLogManagerProtocolNonNullString(XDR *, virLogManagerProtocolNonNullString*);

extern  bool_t xdr_virLogManagerProtocolString(XDR *, virLogManagerProtocolString*);

extern  bool_t xdr_virLogManagerProtocolDomain(XDR *, virLogManagerProtocolDomain*);

extern  bool_t xdr_virLogManagerProtocolLogFilePosition(XDR *, virLogManagerProtocolLogFilePosition*);

extern  bool_t xdr_virLogManagerProtocolDomainOpenLogFileFlags(XDR *, virLogManagerProtocolDomainOpenLogFileFlags*);

extern  bool_t xdr_virLogManagerProtocolDomainOpenLogFileArgs(XDR *, virLogManagerProtocolDomainOpenLogFileArgs*);

extern  bool_t xdr_virLogManagerProtocolDomainOpenLogFileRet(XDR *, virLogManagerProtocolDomainOpenLogFileRet*);

extern  bool_t xdr_virLogManagerProtocolDomainGetLogFilePositionArgs(XDR *, virLogManagerProtocolDomainGetLogFilePositionArgs*);

extern  bool_t xdr_virLogManagerProtocolDomainGetLogFilePositionRet(XDR *, virLogManagerProtocolDomainGetLogFilePositionRet*);

extern  bool_t xdr_virLogManagerProtocolDomainReadLogFileArgs(XDR *, virLogManagerProtocolDomainReadLogFileArgs*);

extern  bool_t xdr_virLogManagerProtocolDomainReadLogFileRet(XDR *, virLogManagerProtocolDomainReadLogFileRet*);

extern  bool_t xdr_virLogManagerProtocolDomainAppendLogFileArgs(XDR *, virLogManagerProtocolDomainAppendLogFileArgs*);

extern  bool_t xdr_virLogManagerProtocolDomainAppendLogFileRet(XDR *, virLogManagerProtocolDomainAppendLogFileRet*);

extern  bool_t xdr_virLogManagerProtocolProcedure(XDR *, virLogManagerProtocolProcedure*);

