blob: e0a884fc9067f8d300e1431fb308fbcd7ec47a84 [file] [log] [blame]
// WARNING: This file is machine generated by fidlc.
#pragma once
#include <stdalign.h>
#include <stdbool.h>
#include <stdint.h>
#include <zircon/fidl.h>
#include <zircon/syscalls/object.h>
#include <zircon/types.h>
#if defined(__cplusplus)
extern "C" {
#endif
// Forward declarations
typedef uint32_t fuchsia_io_SeekOrigin;
#define fuchsia_io_SeekOrigin_Start UINT32_C(0)
#define fuchsia_io_SeekOrigin_Current UINT32_C(1)
#define fuchsia_io_SeekOrigin_End UINT32_C(2)
#define fuchsia_io_FileReadOrdinal ((uint32_t)2181038081)
typedef struct fuchsia_io_FileReadRequest fuchsia_io_FileReadRequest;
typedef struct fuchsia_io_FileReadResponse fuchsia_io_FileReadResponse;
#define fuchsia_io_FileReadAtOrdinal ((uint32_t)2181038082)
typedef struct fuchsia_io_FileReadAtRequest fuchsia_io_FileReadAtRequest;
typedef struct fuchsia_io_FileReadAtResponse fuchsia_io_FileReadAtResponse;
#define fuchsia_io_FileWriteOrdinal ((uint32_t)2181038083)
typedef struct fuchsia_io_FileWriteRequest fuchsia_io_FileWriteRequest;
typedef struct fuchsia_io_FileWriteResponse fuchsia_io_FileWriteResponse;
#define fuchsia_io_FileWriteAtOrdinal ((uint32_t)2181038084)
typedef struct fuchsia_io_FileWriteAtRequest fuchsia_io_FileWriteAtRequest;
typedef struct fuchsia_io_FileWriteAtResponse fuchsia_io_FileWriteAtResponse;
#define fuchsia_io_FileSeekOrdinal ((uint32_t)2181038085)
typedef struct fuchsia_io_FileSeekRequest fuchsia_io_FileSeekRequest;
typedef struct fuchsia_io_FileSeekResponse fuchsia_io_FileSeekResponse;
#define fuchsia_io_FileTruncateOrdinal ((uint32_t)2181038086)
typedef struct fuchsia_io_FileTruncateRequest fuchsia_io_FileTruncateRequest;
typedef struct fuchsia_io_FileTruncateResponse fuchsia_io_FileTruncateResponse;
#define fuchsia_io_FileGetFlagsOrdinal ((uint32_t)2181038087)
typedef struct fuchsia_io_FileGetFlagsRequest fuchsia_io_FileGetFlagsRequest;
typedef struct fuchsia_io_FileGetFlagsResponse fuchsia_io_FileGetFlagsResponse;
#define fuchsia_io_FileSetFlagsOrdinal ((uint32_t)2181038088)
typedef struct fuchsia_io_FileSetFlagsRequest fuchsia_io_FileSetFlagsRequest;
typedef struct fuchsia_io_FileSetFlagsResponse fuchsia_io_FileSetFlagsResponse;
#define fuchsia_io_FileGetVmoOrdinal ((uint32_t)2181038089)
typedef struct fuchsia_io_FileGetVmoRequest fuchsia_io_FileGetVmoRequest;
typedef struct fuchsia_io_FileGetVmoResponse fuchsia_io_FileGetVmoResponse;
#define fuchsia_io_FileGetVmoAtOrdinal ((uint32_t)2181038090)
typedef struct fuchsia_io_FileGetVmoAtRequest fuchsia_io_FileGetVmoAtRequest;
typedef struct fuchsia_io_FileGetVmoAtResponse fuchsia_io_FileGetVmoAtResponse;
typedef struct fuchsia_io_DirectoryObject fuchsia_io_DirectoryObject;
typedef struct fuchsia_io_Service fuchsia_io_Service;
typedef struct fuchsia_io_Pipe fuchsia_io_Pipe;
#define fuchsia_io_DirectoryOpenOrdinal ((uint32_t)2197815297)
typedef struct fuchsia_io_DirectoryOpenRequest fuchsia_io_DirectoryOpenRequest;
#define fuchsia_io_DirectoryUnlinkOrdinal ((uint32_t)2197815298)
typedef struct fuchsia_io_DirectoryUnlinkRequest fuchsia_io_DirectoryUnlinkRequest;
typedef struct fuchsia_io_DirectoryUnlinkResponse fuchsia_io_DirectoryUnlinkResponse;
#define fuchsia_io_DirectoryReadDirentsOrdinal ((uint32_t)2197815299)
typedef struct fuchsia_io_DirectoryReadDirentsRequest fuchsia_io_DirectoryReadDirentsRequest;
typedef struct fuchsia_io_DirectoryReadDirentsResponse fuchsia_io_DirectoryReadDirentsResponse;
#define fuchsia_io_DirectoryRewindOrdinal ((uint32_t)2197815300)
typedef struct fuchsia_io_DirectoryRewindRequest fuchsia_io_DirectoryRewindRequest;
typedef struct fuchsia_io_DirectoryRewindResponse fuchsia_io_DirectoryRewindResponse;
#define fuchsia_io_DirectoryGetTokenOrdinal ((uint32_t)2197815301)
typedef struct fuchsia_io_DirectoryGetTokenRequest fuchsia_io_DirectoryGetTokenRequest;
typedef struct fuchsia_io_DirectoryGetTokenResponse fuchsia_io_DirectoryGetTokenResponse;
#define fuchsia_io_DirectoryRenameOrdinal ((uint32_t)2197815302)
typedef struct fuchsia_io_DirectoryRenameRequest fuchsia_io_DirectoryRenameRequest;
typedef struct fuchsia_io_DirectoryRenameResponse fuchsia_io_DirectoryRenameResponse;
#define fuchsia_io_DirectoryLinkOrdinal ((uint32_t)2197815303)
typedef struct fuchsia_io_DirectoryLinkRequest fuchsia_io_DirectoryLinkRequest;
typedef struct fuchsia_io_DirectoryLinkResponse fuchsia_io_DirectoryLinkResponse;
typedef struct fuchsia_io_Vmofile fuchsia_io_Vmofile;
typedef struct fuchsia_io_NodeAttributes fuchsia_io_NodeAttributes;
#define fuchsia_io_NodeSyncOrdinal ((uint32_t)2164260865)
typedef struct fuchsia_io_NodeSyncRequest fuchsia_io_NodeSyncRequest;
typedef struct fuchsia_io_NodeSyncResponse fuchsia_io_NodeSyncResponse;
#define fuchsia_io_NodeGetAttrOrdinal ((uint32_t)2164260866)
typedef struct fuchsia_io_NodeGetAttrRequest fuchsia_io_NodeGetAttrRequest;
typedef struct fuchsia_io_NodeGetAttrResponse fuchsia_io_NodeGetAttrResponse;
#define fuchsia_io_NodeSetAttrOrdinal ((uint32_t)2164260867)
typedef struct fuchsia_io_NodeSetAttrRequest fuchsia_io_NodeSetAttrRequest;
typedef struct fuchsia_io_NodeSetAttrResponse fuchsia_io_NodeSetAttrResponse;
#define fuchsia_io_NodeIoctlOrdinal ((uint32_t)2164260868)
typedef struct fuchsia_io_NodeIoctlRequest fuchsia_io_NodeIoctlRequest;
typedef struct fuchsia_io_NodeIoctlResponse fuchsia_io_NodeIoctlResponse;
typedef struct fuchsia_io_Device fuchsia_io_Device;
typedef struct fuchsia_io_FileObject fuchsia_io_FileObject;
typedef struct fuchsia_io_ObjectInfo fuchsia_io_ObjectInfo;
#define fuchsia_io_ObjectCloneOrdinal ((uint32_t)2147483649)
typedef struct fuchsia_io_ObjectCloneRequest fuchsia_io_ObjectCloneRequest;
#define fuchsia_io_ObjectCloseOrdinal ((uint32_t)2147483650)
typedef struct fuchsia_io_ObjectCloseRequest fuchsia_io_ObjectCloseRequest;
typedef struct fuchsia_io_ObjectCloseResponse fuchsia_io_ObjectCloseResponse;
#define fuchsia_io_ObjectListInterfacesOrdinal ((uint32_t)2147483652)
typedef struct fuchsia_io_ObjectListInterfacesRequest fuchsia_io_ObjectListInterfacesRequest;
typedef struct fuchsia_io_ObjectListInterfacesResponse fuchsia_io_ObjectListInterfacesResponse;
#define fuchsia_io_ObjectBindOrdinal ((uint32_t)2147483653)
typedef struct fuchsia_io_ObjectBindRequest fuchsia_io_ObjectBindRequest;
#define fuchsia_io_ObjectDescribeOrdinal ((uint32_t)2147483654)
typedef struct fuchsia_io_ObjectDescribeRequest fuchsia_io_ObjectDescribeRequest;
typedef struct fuchsia_io_ObjectDescribeResponse fuchsia_io_ObjectDescribeResponse;
#define fuchsia_io_ObjectOnOpenOrdinal ((uint32_t)2147483655)
typedef struct fuchsia_io_ObjectOnOpenEvent fuchsia_io_ObjectOnOpenEvent;
// Extern declarations
extern const fidl_type_t fuchsia_io_FileReadRequestTable;
extern const fidl_type_t fuchsia_io_FileReadResponseTable;
extern const fidl_type_t fuchsia_io_FileReadAtRequestTable;
extern const fidl_type_t fuchsia_io_FileReadAtResponseTable;
extern const fidl_type_t fuchsia_io_FileWriteRequestTable;
extern const fidl_type_t fuchsia_io_FileWriteResponseTable;
extern const fidl_type_t fuchsia_io_FileWriteAtRequestTable;
extern const fidl_type_t fuchsia_io_FileWriteAtResponseTable;
extern const fidl_type_t fuchsia_io_FileSeekRequestTable;
extern const fidl_type_t fuchsia_io_FileSeekResponseTable;
extern const fidl_type_t fuchsia_io_FileTruncateRequestTable;
extern const fidl_type_t fuchsia_io_FileTruncateResponseTable;
extern const fidl_type_t fuchsia_io_FileGetFlagsRequestTable;
extern const fidl_type_t fuchsia_io_FileGetFlagsResponseTable;
extern const fidl_type_t fuchsia_io_FileSetFlagsRequestTable;
extern const fidl_type_t fuchsia_io_FileSetFlagsResponseTable;
extern const fidl_type_t fuchsia_io_FileGetVmoRequestTable;
extern const fidl_type_t fuchsia_io_FileGetVmoResponseTable;
extern const fidl_type_t fuchsia_io_FileGetVmoAtRequestTable;
extern const fidl_type_t fuchsia_io_FileGetVmoAtResponseTable;
extern const fidl_type_t fuchsia_io_DirectoryOpenRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryUnlinkRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryUnlinkResponseTable;
extern const fidl_type_t fuchsia_io_DirectoryReadDirentsRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryReadDirentsResponseTable;
extern const fidl_type_t fuchsia_io_DirectoryRewindRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryRewindResponseTable;
extern const fidl_type_t fuchsia_io_DirectoryGetTokenRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryGetTokenResponseTable;
extern const fidl_type_t fuchsia_io_DirectoryRenameRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryRenameResponseTable;
extern const fidl_type_t fuchsia_io_DirectoryLinkRequestTable;
extern const fidl_type_t fuchsia_io_DirectoryLinkResponseTable;
extern const fidl_type_t fuchsia_io_NodeSyncRequestTable;
extern const fidl_type_t fuchsia_io_NodeSyncResponseTable;
extern const fidl_type_t fuchsia_io_NodeGetAttrRequestTable;
extern const fidl_type_t fuchsia_io_NodeGetAttrResponseTable;
extern const fidl_type_t fuchsia_io_NodeSetAttrRequestTable;
extern const fidl_type_t fuchsia_io_NodeSetAttrResponseTable;
extern const fidl_type_t fuchsia_io_NodeIoctlRequestTable;
extern const fidl_type_t fuchsia_io_NodeIoctlResponseTable;
extern const fidl_type_t fuchsia_io_ObjectCloneRequestTable;
extern const fidl_type_t fuchsia_io_ObjectCloseRequestTable;
extern const fidl_type_t fuchsia_io_ObjectCloseResponseTable;
extern const fidl_type_t fuchsia_io_ObjectListInterfacesRequestTable;
extern const fidl_type_t fuchsia_io_ObjectListInterfacesResponseTable;
extern const fidl_type_t fuchsia_io_ObjectBindRequestTable;
extern const fidl_type_t fuchsia_io_ObjectDescribeRequestTable;
extern const fidl_type_t fuchsia_io_ObjectDescribeResponseTable;
extern const fidl_type_t fuchsia_io_ObjectOnOpenEventTable;
// Declarations
struct fuchsia_io_FileReadRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint64_t count;
};
struct fuchsia_io_FileReadResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
fidl_vector_t data;
};
struct fuchsia_io_FileReadAtRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint64_t count;
uint64_t offset;
};
struct fuchsia_io_FileReadAtResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
fidl_vector_t data;
};
struct fuchsia_io_FileWriteRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_vector_t data;
};
struct fuchsia_io_FileWriteResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
uint64_t actual;
};
struct fuchsia_io_FileWriteAtRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_vector_t data;
uint64_t offset;
};
struct fuchsia_io_FileWriteAtResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
uint64_t actual;
};
struct fuchsia_io_FileSeekRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
int64_t offset;
fuchsia_io_SeekOrigin start;
};
struct fuchsia_io_FileSeekResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
uint64_t offset;
};
struct fuchsia_io_FileTruncateRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint64_t length;
};
struct fuchsia_io_FileTruncateResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_FileGetFlagsRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_FileGetFlagsResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
uint32_t flags;
};
struct fuchsia_io_FileSetFlagsRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t flags;
};
struct fuchsia_io_FileSetFlagsResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_FileGetVmoRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t flags;
};
struct fuchsia_io_FileGetVmoResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
zx_handle_t vmo;
};
struct fuchsia_io_FileGetVmoAtRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t flags;
uint64_t offset;
uint64_t length;
};
struct fuchsia_io_FileGetVmoAtResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
zx_handle_t vmo;
};
struct fuchsia_io_DirectoryObject {
FIDL_ALIGNDECL
uint8_t reserved;
};
struct fuchsia_io_Service {
FIDL_ALIGNDECL
uint8_t reserved;
};
struct fuchsia_io_Pipe {
FIDL_ALIGNDECL
zx_handle_t socket;
};
struct fuchsia_io_DirectoryOpenRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t flags;
uint32_t mode;
fidl_string_t path;
zx_handle_t object;
};
struct fuchsia_io_DirectoryUnlinkRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_string_t path;
};
struct fuchsia_io_DirectoryUnlinkResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_DirectoryReadDirentsRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint64_t max_out;
};
struct fuchsia_io_DirectoryReadDirentsResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
fidl_vector_t dirents;
};
struct fuchsia_io_DirectoryRewindRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_DirectoryRewindResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_DirectoryGetTokenRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_DirectoryGetTokenResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
zx_handle_t token;
};
struct fuchsia_io_DirectoryRenameRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_string_t src;
zx_handle_t dst_parent_token;
fidl_string_t dst;
};
struct fuchsia_io_DirectoryRenameResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_DirectoryLinkRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_string_t src;
zx_handle_t dst_parent_token;
fidl_string_t dst;
};
struct fuchsia_io_DirectoryLinkResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_Vmofile {
FIDL_ALIGNDECL
zx_handle_t vmo;
uint64_t offset;
uint64_t length;
};
struct fuchsia_io_NodeAttributes {
FIDL_ALIGNDECL
uint32_t mode;
uint64_t id;
uint64_t content_size;
uint64_t storage_size;
uint64_t link_count;
uint64_t creation_time;
uint64_t modification_time;
};
struct fuchsia_io_NodeSyncRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_NodeSyncResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_NodeGetAttrRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_NodeGetAttrResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
fuchsia_io_NodeAttributes attributes;
};
struct fuchsia_io_NodeSetAttrRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t flags;
fuchsia_io_NodeAttributes attributes;
};
struct fuchsia_io_NodeSetAttrResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_NodeIoctlRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t opcode;
uint64_t max_out;
fidl_vector_t handles;
fidl_vector_t in;
};
struct fuchsia_io_NodeIoctlResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
fidl_vector_t handles;
fidl_vector_t out;
};
struct fuchsia_io_Device {
FIDL_ALIGNDECL
zx_handle_t event;
};
struct fuchsia_io_FileObject {
FIDL_ALIGNDECL
zx_handle_t event;
};
struct fuchsia_io_ObjectInfo {
FIDL_ALIGNDECL
fidl_union_tag_t tag;
union {
fuchsia_io_Service service;
fuchsia_io_FileObject file;
fuchsia_io_DirectoryObject directory;
fuchsia_io_Pipe pipe;
fuchsia_io_Vmofile vmofile;
fuchsia_io_Device device;
};
};
#define fuchsia_io_ObjectInfoTagservice UINT32_C(0)
#define fuchsia_io_ObjectInfoTagfile UINT32_C(1)
#define fuchsia_io_ObjectInfoTagdirectory UINT32_C(2)
#define fuchsia_io_ObjectInfoTagpipe UINT32_C(3)
#define fuchsia_io_ObjectInfoTagvmofile UINT32_C(4)
#define fuchsia_io_ObjectInfoTagdevice UINT32_C(5)
struct fuchsia_io_ObjectCloneRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
uint32_t flags;
zx_handle_t object;
};
struct fuchsia_io_ObjectCloseRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_ObjectCloseResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
};
struct fuchsia_io_ObjectListInterfacesRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_ObjectListInterfacesResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_vector_t interfaces;
};
struct fuchsia_io_ObjectBindRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fidl_string_t iface;
};
struct fuchsia_io_ObjectDescribeRequest {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
};
struct fuchsia_io_ObjectDescribeResponse {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
fuchsia_io_ObjectInfo info;
};
struct fuchsia_io_ObjectOnOpenEvent {
FIDL_ALIGNDECL
fidl_message_header_t hdr;
zx_status_t s;
fuchsia_io_ObjectInfo* info;
};
#if defined(__cplusplus)
}
#endif