blob: 26d33bd8794c7f0e89118f67ee9b8231628e1523 [file] [log] [blame]
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build fuchsia
package io
import (
_bindings "syscall/zx/fidl"
_zx "syscall/zx"
)
const (
KOpenRightReadable uint32 = 0x00000001
KOpenRightWritable uint32 = 0x00000002
KOpenRightAdmin uint32 = 0x00000004
KOpenFlagCreate uint32 = 0x00010000
KOpenFlagCreateIfAbsent uint32 = 0x00020000
KOpenFlagTruncate uint32 = 0x00040000
KOpenFlagDirectory uint32 = 0x00080000
KOpenFlagAppend uint32 = 0x00100000
KOpenFlagNoRemote uint32 = 0x00200000
KOpenFlagNodeReference uint32 = 0x00400000
KOpenFlagDescribe uint32 = 0x00800000
KOpenFlagStatus uint32 = 0x01000000
KModeProtectionMask uint32 = 0x00FFF
KModeTypeMask uint32 = 0xFF000
KModeTypeDirectory uint32 = 0x04000
KModeTypeBlockDevice uint32 = 0x06000
KModeTypeFile uint32 = 0x08000
KModeTypeSocket uint32 = 0x0C000
KModeTypeService uint32 = 0x10000
KMaxIoctlHandles uint64 = 2
KMaxBuf uint64 = 8192
KNodeAttributeFlagCreationTime uint32 = 0x00000001
KNodeAttributeFlagModificationTime uint32 = 0x00000002
KVmoFlagRead uint32 = 0x00000001
KVmoFlagWrite uint32 = 0x00000002
KVmoFlagExec uint32 = 0x00000004
KVmoFlagPrivate uint32 = 0x00010000
KDirentTypeUnknown uint32 = 0
KDirentTypeDirectory uint32 = 4
KDirentTypeBlockDevice uint32 = 6
KDirentTypeFile uint32 = 8
KDirentTypeSocket uint32 = 12
KDirentTypeService uint32 = 16
)
type SeekOrigin uint32
const (
SeekOriginStart SeekOrigin = 0
SeekOriginCurrent SeekOrigin = 1
SeekOriginEnd SeekOrigin = 2
)
type Service struct {
Reserved uint8
}
// Implements Payload.
func (_ *Service) InlineAlignment() int {
return 1
}
// Implements Payload.
func (_ *Service) InlineSize() int {
return 1
}
type FileObject struct {
Event _zx.Event `fidl:"*"`
}
// Implements Payload.
func (_ *FileObject) InlineAlignment() int {
return 4
}
// Implements Payload.
func (_ *FileObject) InlineSize() int {
return 4
}
type DirectoryObject struct {
Reserved uint8
}
// Implements Payload.
func (_ *DirectoryObject) InlineAlignment() int {
return 1
}
// Implements Payload.
func (_ *DirectoryObject) InlineSize() int {
return 1
}
type Pipe struct {
Socket _zx.Socket
}
// Implements Payload.
func (_ *Pipe) InlineAlignment() int {
return 4
}
// Implements Payload.
func (_ *Pipe) InlineSize() int {
return 4
}
type Vmofile struct {
Vmo _zx.VMO
Offset uint64
Length uint64
}
// Implements Payload.
func (_ *Vmofile) InlineAlignment() int {
return 8
}
// Implements Payload.
func (_ *Vmofile) InlineSize() int {
return 24
}
type Device struct {
Event _zx.Event `fidl:"*"`
}
// Implements Payload.
func (_ *Device) InlineAlignment() int {
return 4
}
// Implements Payload.
func (_ *Device) InlineSize() int {
return 4
}
type NodeAttributes struct {
Mode uint32
Id uint64
ContentSize uint64
StorageSize uint64
LinkCount uint64
CreationTime uint64
ModificationTime uint64
}
// Implements Payload.
func (_ *NodeAttributes) InlineAlignment() int {
return 8
}
// Implements Payload.
func (_ *NodeAttributes) InlineSize() int {
return 56
}
type ObjectInfoTag uint32
const (
ObjectInfoService ObjectInfoTag = iota
ObjectInfoFile ObjectInfoTag = iota
ObjectInfoDirectory ObjectInfoTag = iota
ObjectInfoPipe ObjectInfoTag = iota
ObjectInfoVmofile ObjectInfoTag = iota
ObjectInfoDevice ObjectInfoTag = iota
)
// ObjectInfo is a FIDL union.
type ObjectInfo struct {
ObjectInfoTag `fidl:"tag"`
Service Service
File FileObject
Directory DirectoryObject
Pipe Pipe
Vmofile Vmofile
Device Device
}
// Implements Payload.
func (_ *ObjectInfo) InlineAlignment() int {
return 8
}
// Implements Payload.
func (_ *ObjectInfo) InlineSize() int {
return 32
}
func (u *ObjectInfo) Which() ObjectInfoTag {
return u.ObjectInfoTag
}
func (u *ObjectInfo) SetService(service Service) {
u.ObjectInfoTag = ObjectInfoService
u.Service = service
}
func (u *ObjectInfo) SetFile(file FileObject) {
u.ObjectInfoTag = ObjectInfoFile
u.File = file
}
func (u *ObjectInfo) SetDirectory(directory DirectoryObject) {
u.ObjectInfoTag = ObjectInfoDirectory
u.Directory = directory
}
func (u *ObjectInfo) SetPipe(pipe Pipe) {
u.ObjectInfoTag = ObjectInfoPipe
u.Pipe = pipe
}
func (u *ObjectInfo) SetVmofile(vmofile Vmofile) {
u.ObjectInfoTag = ObjectInfoVmofile
u.Vmofile = vmofile
}
func (u *ObjectInfo) SetDevice(device Device) {
u.ObjectInfoTag = ObjectInfoDevice
u.Device = device
}
// Request for Clone.
type ObjectCloneRequest struct {
Flags uint32
Object ObjectInterfaceRequest
}
// Implements Payload.
func (_ *ObjectCloneRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectCloneRequest) InlineSize() int {
return 8
}
// Clone has no response.
// Request for Close.
type ObjectCloseRequest struct {
}
// Implements Payload.
func (_ *ObjectCloseRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectCloseRequest) InlineSize() int {
return 0
}
// Response for Close.
type ObjectCloseResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *ObjectCloseResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectCloseResponse) InlineSize() int {
return 4
}
// Request for ListInterfaces.
type ObjectListInterfacesRequest struct {
}
// Implements Payload.
func (_ *ObjectListInterfacesRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectListInterfacesRequest) InlineSize() int {
return 0
}
// Response for ListInterfaces.
type ObjectListInterfacesResponse struct {
Interfaces []string
}
// Implements Payload.
func (_ *ObjectListInterfacesResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectListInterfacesResponse) InlineSize() int {
return 16
}
// Request for Bind.
type ObjectBindRequest struct {
Iface string
}
// Implements Payload.
func (_ *ObjectBindRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectBindRequest) InlineSize() int {
return 16
}
// Bind has no response.
// Request for Describe.
type ObjectDescribeRequest struct {
}
// Implements Payload.
func (_ *ObjectDescribeRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectDescribeRequest) InlineSize() int {
return 0
}
// Response for Describe.
type ObjectDescribeResponse struct {
Info ObjectInfo
}
// Implements Payload.
func (_ *ObjectDescribeResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectDescribeResponse) InlineSize() int {
return 32
}
// Request for OnOpen.
// OnOpen has no request.
// Response for OnOpen.
type ObjectOnOpenResponse struct {
S _zx.Status
Info *ObjectInfo
}
// Implements Payload.
func (_ *ObjectOnOpenResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *ObjectOnOpenResponse) InlineSize() int {
return 16
}
type ObjectInterface _bindings.Proxy
func (p *ObjectInterface) Clone(flags uint32,object ObjectInterfaceRequest) error {
req_ := ObjectCloneRequest{
Flags: flags,
Object: object,
}
err := ((*_bindings.Proxy)(p)).Send(2147483649, &req_)
return err
}
func (p *ObjectInterface) Close() (_zx.Status, error) {
req_ := ObjectCloseRequest{
}
resp_ := ObjectCloseResponse{}
err := ((*_bindings.Proxy)(p)).Call(2147483650, &req_, &resp_)
return resp_.S, err
}
func (p *ObjectInterface) ListInterfaces() ([]string, error) {
req_ := ObjectListInterfacesRequest{
}
resp_ := ObjectListInterfacesResponse{}
err := ((*_bindings.Proxy)(p)).Call(2147483652, &req_, &resp_)
return resp_.Interfaces, err
}
func (p *ObjectInterface) Bind(iface string) error {
req_ := ObjectBindRequest{
Iface: iface,
}
err := ((*_bindings.Proxy)(p)).Send(2147483653, &req_)
return err
}
func (p *ObjectInterface) Describe() (ObjectInfo, error) {
req_ := ObjectDescribeRequest{
}
resp_ := ObjectDescribeResponse{}
err := ((*_bindings.Proxy)(p)).Call(2147483654, &req_, &resp_)
return resp_.Info, err
}
func (p *ObjectInterface) ExpectOnOpen() (_zx.Status, *ObjectInfo, error) {
resp_ := ObjectOnOpenResponse{}
err := ((*_bindings.Proxy)(p)).Recv(2147483655, &resp_)
return resp_.S, resp_.Info, err
}
// Object server interface.
type Object interface {
Clone(flags uint32,object ObjectInterfaceRequest) error
Close() (_zx.Status, error)
ListInterfaces() ([]string, error)
Bind(iface string) error
Describe() (ObjectInfo, error)
}
type ObjectInterfaceRequest _bindings.InterfaceRequest
func NewObjectInterfaceRequest() (ObjectInterfaceRequest, *ObjectInterface, error) {
req, cli, err := _bindings.NewInterfaceRequest()
return ObjectInterfaceRequest(req), (*ObjectInterface)(cli), err
}
type ObjectStub struct {
Impl Object
}
func (s *ObjectStub) Dispatch(ord uint32, b_ []byte, h_ []_zx.Handle) (_bindings.Payload, error) {
switch ord {
case 2147483649:
in_ := ObjectCloneRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Clone(in_.Flags,in_.Object)
return nil, err_
case 2147483650:
in_ := ObjectCloseRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectCloseResponse{}
s, err_ := s.Impl.Close()
out_.S = s
return &out_, err_
case 2147483652:
in_ := ObjectListInterfacesRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectListInterfacesResponse{}
interfaces, err_ := s.Impl.ListInterfaces()
out_.Interfaces = interfaces
return &out_, err_
case 2147483653:
in_ := ObjectBindRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Bind(in_.Iface)
return nil, err_
case 2147483654:
in_ := ObjectDescribeRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectDescribeResponse{}
info, err_ := s.Impl.Describe()
out_.Info = info
return &out_, err_
}
return nil, _bindings.ErrUnknownOrdinal
}
type ObjectService struct {
_bindings.BindingSet
}
func (s *ObjectService) Add(impl Object, c _zx.Channel, onError func(error)) (_bindings.BindingKey, error) {
return s.BindingSet.Add(&ObjectStub{Impl: impl}, c, onError)
}
func (s *ObjectService) EventProxyFor(key _bindings.BindingKey) (*ObjectEventProxy, bool) {
pxy, err := s.BindingSet.ProxyFor(key)
return (*ObjectEventProxy)(pxy), err
}
type ObjectEventProxy _bindings.Proxy
func (p *ObjectEventProxy) OnOpen(s _zx.Status,info *ObjectInfo) error {
event_ := ObjectOnOpenResponse{
S: s,
Info: info,
}
return ((*_bindings.Proxy)(p)).Send(2147483655, &event_)
}
// Request for Sync.
type NodeSyncRequest struct {
}
// Implements Payload.
func (_ *NodeSyncRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeSyncRequest) InlineSize() int {
return 0
}
// Response for Sync.
type NodeSyncResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *NodeSyncResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeSyncResponse) InlineSize() int {
return 4
}
// Request for GetAttr.
type NodeGetAttrRequest struct {
}
// Implements Payload.
func (_ *NodeGetAttrRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeGetAttrRequest) InlineSize() int {
return 0
}
// Response for GetAttr.
type NodeGetAttrResponse struct {
S _zx.Status
Attributes NodeAttributes
}
// Implements Payload.
func (_ *NodeGetAttrResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeGetAttrResponse) InlineSize() int {
return 64
}
// Request for SetAttr.
type NodeSetAttrRequest struct {
Flags uint32
Attributes NodeAttributes
}
// Implements Payload.
func (_ *NodeSetAttrRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeSetAttrRequest) InlineSize() int {
return 64
}
// Response for SetAttr.
type NodeSetAttrResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *NodeSetAttrResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeSetAttrResponse) InlineSize() int {
return 4
}
// Request for Ioctl.
type NodeIoctlRequest struct {
Opcode uint32
MaxOut uint64
Handles []_zx.Handle `fidl:"2"`
In []uint8 `fidl:"8192"`
}
// Implements Payload.
func (_ *NodeIoctlRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeIoctlRequest) InlineSize() int {
return 48
}
// Response for Ioctl.
type NodeIoctlResponse struct {
S _zx.Status
Handles []_zx.Handle `fidl:"2"`
Out []uint8 `fidl:"8192"`
}
// Implements Payload.
func (_ *NodeIoctlResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *NodeIoctlResponse) InlineSize() int {
return 40
}
type NodeInterface _bindings.Proxy
func (p *NodeInterface) Sync() (_zx.Status, error) {
req_ := NodeSyncRequest{
}
resp_ := NodeSyncResponse{}
err := ((*_bindings.Proxy)(p)).Call(2164260865, &req_, &resp_)
return resp_.S, err
}
func (p *NodeInterface) GetAttr() (_zx.Status, NodeAttributes, error) {
req_ := NodeGetAttrRequest{
}
resp_ := NodeGetAttrResponse{}
err := ((*_bindings.Proxy)(p)).Call(2164260866, &req_, &resp_)
return resp_.S, resp_.Attributes, err
}
func (p *NodeInterface) SetAttr(flags uint32,attributes NodeAttributes) (_zx.Status, error) {
req_ := NodeSetAttrRequest{
Flags: flags,
Attributes: attributes,
}
resp_ := NodeSetAttrResponse{}
err := ((*_bindings.Proxy)(p)).Call(2164260867, &req_, &resp_)
return resp_.S, err
}
func (p *NodeInterface) Ioctl(opcode uint32,maxOut uint64,handles []_zx.Handle,in []uint8) (_zx.Status, []_zx.Handle, []uint8, error) {
req_ := NodeIoctlRequest{
Opcode: opcode,
MaxOut: maxOut,
Handles: handles,
In: in,
}
resp_ := NodeIoctlResponse{}
err := ((*_bindings.Proxy)(p)).Call(2164260868, &req_, &resp_)
return resp_.S, resp_.Handles, resp_.Out, err
}
// Node server interface.
type Node interface {
Clone(flags uint32,object ObjectInterfaceRequest) error
Close() (_zx.Status, error)
ListInterfaces() ([]string, error)
Bind(iface string) error
Describe() (ObjectInfo, error)
Sync() (_zx.Status, error)
GetAttr() (_zx.Status, NodeAttributes, error)
SetAttr(flags uint32,attributes NodeAttributes) (_zx.Status, error)
Ioctl(opcode uint32,maxOut uint64,handles []_zx.Handle,in []uint8) (_zx.Status, []_zx.Handle, []uint8, error)
}
type NodeInterfaceRequest _bindings.InterfaceRequest
func NewNodeInterfaceRequest() (NodeInterfaceRequest, *NodeInterface, error) {
req, cli, err := _bindings.NewInterfaceRequest()
return NodeInterfaceRequest(req), (*NodeInterface)(cli), err
}
type NodeStub struct {
Impl Node
}
func (s *NodeStub) Dispatch(ord uint32, b_ []byte, h_ []_zx.Handle) (_bindings.Payload, error) {
switch ord {
case 2147483649:
in_ := ObjectCloneRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Clone(in_.Flags,in_.Object)
return nil, err_
case 2147483650:
in_ := ObjectCloseRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectCloseResponse{}
s, err_ := s.Impl.Close()
out_.S = s
return &out_, err_
case 2147483652:
in_ := ObjectListInterfacesRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectListInterfacesResponse{}
interfaces, err_ := s.Impl.ListInterfaces()
out_.Interfaces = interfaces
return &out_, err_
case 2147483653:
in_ := ObjectBindRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Bind(in_.Iface)
return nil, err_
case 2147483654:
in_ := ObjectDescribeRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectDescribeResponse{}
info, err_ := s.Impl.Describe()
out_.Info = info
return &out_, err_
case 2164260865:
in_ := NodeSyncRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeSyncResponse{}
s, err_ := s.Impl.Sync()
out_.S = s
return &out_, err_
case 2164260866:
in_ := NodeGetAttrRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeGetAttrResponse{}
s, attributes, err_ := s.Impl.GetAttr()
out_.S = s
out_.Attributes = attributes
return &out_, err_
case 2164260867:
in_ := NodeSetAttrRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeSetAttrResponse{}
s, err_ := s.Impl.SetAttr(in_.Flags,in_.Attributes)
out_.S = s
return &out_, err_
case 2164260868:
in_ := NodeIoctlRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeIoctlResponse{}
s, handles, out, err_ := s.Impl.Ioctl(in_.Opcode,in_.MaxOut,in_.Handles,in_.In)
out_.S = s
out_.Handles = handles
out_.Out = out
return &out_, err_
}
return nil, _bindings.ErrUnknownOrdinal
}
type NodeService struct {
_bindings.BindingSet
}
func (s *NodeService) Add(impl Node, c _zx.Channel, onError func(error)) (_bindings.BindingKey, error) {
return s.BindingSet.Add(&NodeStub{Impl: impl}, c, onError)
}
func (s *NodeService) EventProxyFor(key _bindings.BindingKey) (*NodeEventProxy, bool) {
pxy, err := s.BindingSet.ProxyFor(key)
return (*NodeEventProxy)(pxy), err
}
type NodeEventProxy _bindings.Proxy
func (p *NodeEventProxy) OnOpen(s _zx.Status,info *ObjectInfo) error {
event_ := ObjectOnOpenResponse{
S: s,
Info: info,
}
return ((*_bindings.Proxy)(p)).Send(2147483655, &event_)
}
// Request for Read.
type FileReadRequest struct {
Count uint64
}
// Implements Payload.
func (_ *FileReadRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileReadRequest) InlineSize() int {
return 8
}
// Response for Read.
type FileReadResponse struct {
S _zx.Status
Data []uint8 `fidl:"8192"`
}
// Implements Payload.
func (_ *FileReadResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileReadResponse) InlineSize() int {
return 24
}
// Request for ReadAt.
type FileReadAtRequest struct {
Count uint64
Offset uint64
}
// Implements Payload.
func (_ *FileReadAtRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileReadAtRequest) InlineSize() int {
return 16
}
// Response for ReadAt.
type FileReadAtResponse struct {
S _zx.Status
Data []uint8 `fidl:"8192"`
}
// Implements Payload.
func (_ *FileReadAtResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileReadAtResponse) InlineSize() int {
return 24
}
// Request for Write.
type FileWriteRequest struct {
Data []uint8 `fidl:"8192"`
}
// Implements Payload.
func (_ *FileWriteRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileWriteRequest) InlineSize() int {
return 16
}
// Response for Write.
type FileWriteResponse struct {
S _zx.Status
Actual uint64
}
// Implements Payload.
func (_ *FileWriteResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileWriteResponse) InlineSize() int {
return 16
}
// Request for WriteAt.
type FileWriteAtRequest struct {
Data []uint8 `fidl:"8192"`
Offset uint64
}
// Implements Payload.
func (_ *FileWriteAtRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileWriteAtRequest) InlineSize() int {
return 24
}
// Response for WriteAt.
type FileWriteAtResponse struct {
S _zx.Status
Actual uint64
}
// Implements Payload.
func (_ *FileWriteAtResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileWriteAtResponse) InlineSize() int {
return 16
}
// Request for Seek.
type FileSeekRequest struct {
Offset int64
Start SeekOrigin
}
// Implements Payload.
func (_ *FileSeekRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileSeekRequest) InlineSize() int {
return 16
}
// Response for Seek.
type FileSeekResponse struct {
S _zx.Status
Offset uint64
}
// Implements Payload.
func (_ *FileSeekResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileSeekResponse) InlineSize() int {
return 16
}
// Request for Truncate.
type FileTruncateRequest struct {
Length uint64
}
// Implements Payload.
func (_ *FileTruncateRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileTruncateRequest) InlineSize() int {
return 8
}
// Response for Truncate.
type FileTruncateResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *FileTruncateResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileTruncateResponse) InlineSize() int {
return 4
}
// Request for GetFlags.
type FileGetFlagsRequest struct {
}
// Implements Payload.
func (_ *FileGetFlagsRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileGetFlagsRequest) InlineSize() int {
return 0
}
// Response for GetFlags.
type FileGetFlagsResponse struct {
S _zx.Status
Flags uint32
}
// Implements Payload.
func (_ *FileGetFlagsResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileGetFlagsResponse) InlineSize() int {
return 8
}
// Request for SetFlags.
type FileSetFlagsRequest struct {
Flags uint32
}
// Implements Payload.
func (_ *FileSetFlagsRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileSetFlagsRequest) InlineSize() int {
return 4
}
// Response for SetFlags.
type FileSetFlagsResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *FileSetFlagsResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileSetFlagsResponse) InlineSize() int {
return 4
}
// Request for GetVmo.
type FileGetVmoRequest struct {
Flags uint32
}
// Implements Payload.
func (_ *FileGetVmoRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileGetVmoRequest) InlineSize() int {
return 4
}
// Response for GetVmo.
type FileGetVmoResponse struct {
S _zx.Status
Vmo _zx.VMO
}
// Implements Payload.
func (_ *FileGetVmoResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileGetVmoResponse) InlineSize() int {
return 8
}
// Request for GetVmoAt.
type FileGetVmoAtRequest struct {
Flags uint32
Offset uint64
Length uint64
}
// Implements Payload.
func (_ *FileGetVmoAtRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileGetVmoAtRequest) InlineSize() int {
return 24
}
// Response for GetVmoAt.
type FileGetVmoAtResponse struct {
S _zx.Status
Vmo _zx.VMO
}
// Implements Payload.
func (_ *FileGetVmoAtResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *FileGetVmoAtResponse) InlineSize() int {
return 8
}
type FileInterface _bindings.Proxy
func (p *FileInterface) Read(count uint64) (_zx.Status, []uint8, error) {
req_ := FileReadRequest{
Count: count,
}
resp_ := FileReadResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038081, &req_, &resp_)
return resp_.S, resp_.Data, err
}
func (p *FileInterface) ReadAt(count uint64,offset uint64) (_zx.Status, []uint8, error) {
req_ := FileReadAtRequest{
Count: count,
Offset: offset,
}
resp_ := FileReadAtResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038082, &req_, &resp_)
return resp_.S, resp_.Data, err
}
func (p *FileInterface) Write(data []uint8) (_zx.Status, uint64, error) {
req_ := FileWriteRequest{
Data: data,
}
resp_ := FileWriteResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038083, &req_, &resp_)
return resp_.S, resp_.Actual, err
}
func (p *FileInterface) WriteAt(data []uint8,offset uint64) (_zx.Status, uint64, error) {
req_ := FileWriteAtRequest{
Data: data,
Offset: offset,
}
resp_ := FileWriteAtResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038084, &req_, &resp_)
return resp_.S, resp_.Actual, err
}
func (p *FileInterface) Seek(offset int64,start SeekOrigin) (_zx.Status, uint64, error) {
req_ := FileSeekRequest{
Offset: offset,
Start: start,
}
resp_ := FileSeekResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038085, &req_, &resp_)
return resp_.S, resp_.Offset, err
}
func (p *FileInterface) Truncate(length uint64) (_zx.Status, error) {
req_ := FileTruncateRequest{
Length: length,
}
resp_ := FileTruncateResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038086, &req_, &resp_)
return resp_.S, err
}
func (p *FileInterface) GetFlags() (_zx.Status, uint32, error) {
req_ := FileGetFlagsRequest{
}
resp_ := FileGetFlagsResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038087, &req_, &resp_)
return resp_.S, resp_.Flags, err
}
func (p *FileInterface) SetFlags(flags uint32) (_zx.Status, error) {
req_ := FileSetFlagsRequest{
Flags: flags,
}
resp_ := FileSetFlagsResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038088, &req_, &resp_)
return resp_.S, err
}
func (p *FileInterface) GetVmo(flags uint32) (_zx.Status, _zx.VMO, error) {
req_ := FileGetVmoRequest{
Flags: flags,
}
resp_ := FileGetVmoResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038089, &req_, &resp_)
return resp_.S, resp_.Vmo, err
}
func (p *FileInterface) GetVmoAt(flags uint32,offset uint64,length uint64) (_zx.Status, _zx.VMO, error) {
req_ := FileGetVmoAtRequest{
Flags: flags,
Offset: offset,
Length: length,
}
resp_ := FileGetVmoAtResponse{}
err := ((*_bindings.Proxy)(p)).Call(2181038090, &req_, &resp_)
return resp_.S, resp_.Vmo, err
}
// File server interface.
type File interface {
Clone(flags uint32,object ObjectInterfaceRequest) error
Close() (_zx.Status, error)
ListInterfaces() ([]string, error)
Bind(iface string) error
Describe() (ObjectInfo, error)
Sync() (_zx.Status, error)
GetAttr() (_zx.Status, NodeAttributes, error)
SetAttr(flags uint32,attributes NodeAttributes) (_zx.Status, error)
Ioctl(opcode uint32,maxOut uint64,handles []_zx.Handle,in []uint8) (_zx.Status, []_zx.Handle, []uint8, error)
Read(count uint64) (_zx.Status, []uint8, error)
ReadAt(count uint64,offset uint64) (_zx.Status, []uint8, error)
Write(data []uint8) (_zx.Status, uint64, error)
WriteAt(data []uint8,offset uint64) (_zx.Status, uint64, error)
Seek(offset int64,start SeekOrigin) (_zx.Status, uint64, error)
Truncate(length uint64) (_zx.Status, error)
GetFlags() (_zx.Status, uint32, error)
SetFlags(flags uint32) (_zx.Status, error)
GetVmo(flags uint32) (_zx.Status, _zx.VMO, error)
GetVmoAt(flags uint32,offset uint64,length uint64) (_zx.Status, _zx.VMO, error)
}
type FileInterfaceRequest _bindings.InterfaceRequest
func NewFileInterfaceRequest() (FileInterfaceRequest, *FileInterface, error) {
req, cli, err := _bindings.NewInterfaceRequest()
return FileInterfaceRequest(req), (*FileInterface)(cli), err
}
type FileStub struct {
Impl File
}
func (s *FileStub) Dispatch(ord uint32, b_ []byte, h_ []_zx.Handle) (_bindings.Payload, error) {
switch ord {
case 2147483649:
in_ := ObjectCloneRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Clone(in_.Flags,in_.Object)
return nil, err_
case 2147483650:
in_ := ObjectCloseRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectCloseResponse{}
s, err_ := s.Impl.Close()
out_.S = s
return &out_, err_
case 2147483652:
in_ := ObjectListInterfacesRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectListInterfacesResponse{}
interfaces, err_ := s.Impl.ListInterfaces()
out_.Interfaces = interfaces
return &out_, err_
case 2147483653:
in_ := ObjectBindRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Bind(in_.Iface)
return nil, err_
case 2147483654:
in_ := ObjectDescribeRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectDescribeResponse{}
info, err_ := s.Impl.Describe()
out_.Info = info
return &out_, err_
case 2164260865:
in_ := NodeSyncRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeSyncResponse{}
s, err_ := s.Impl.Sync()
out_.S = s
return &out_, err_
case 2164260866:
in_ := NodeGetAttrRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeGetAttrResponse{}
s, attributes, err_ := s.Impl.GetAttr()
out_.S = s
out_.Attributes = attributes
return &out_, err_
case 2164260867:
in_ := NodeSetAttrRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeSetAttrResponse{}
s, err_ := s.Impl.SetAttr(in_.Flags,in_.Attributes)
out_.S = s
return &out_, err_
case 2164260868:
in_ := NodeIoctlRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeIoctlResponse{}
s, handles, out, err_ := s.Impl.Ioctl(in_.Opcode,in_.MaxOut,in_.Handles,in_.In)
out_.S = s
out_.Handles = handles
out_.Out = out
return &out_, err_
case 2181038081:
in_ := FileReadRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileReadResponse{}
s, data, err_ := s.Impl.Read(in_.Count)
out_.S = s
out_.Data = data
return &out_, err_
case 2181038082:
in_ := FileReadAtRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileReadAtResponse{}
s, data, err_ := s.Impl.ReadAt(in_.Count,in_.Offset)
out_.S = s
out_.Data = data
return &out_, err_
case 2181038083:
in_ := FileWriteRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileWriteResponse{}
s, actual, err_ := s.Impl.Write(in_.Data)
out_.S = s
out_.Actual = actual
return &out_, err_
case 2181038084:
in_ := FileWriteAtRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileWriteAtResponse{}
s, actual, err_ := s.Impl.WriteAt(in_.Data,in_.Offset)
out_.S = s
out_.Actual = actual
return &out_, err_
case 2181038085:
in_ := FileSeekRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileSeekResponse{}
s, offset, err_ := s.Impl.Seek(in_.Offset,in_.Start)
out_.S = s
out_.Offset = offset
return &out_, err_
case 2181038086:
in_ := FileTruncateRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileTruncateResponse{}
s, err_ := s.Impl.Truncate(in_.Length)
out_.S = s
return &out_, err_
case 2181038087:
in_ := FileGetFlagsRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileGetFlagsResponse{}
s, flags, err_ := s.Impl.GetFlags()
out_.S = s
out_.Flags = flags
return &out_, err_
case 2181038088:
in_ := FileSetFlagsRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileSetFlagsResponse{}
s, err_ := s.Impl.SetFlags(in_.Flags)
out_.S = s
return &out_, err_
case 2181038089:
in_ := FileGetVmoRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileGetVmoResponse{}
s, vmo, err_ := s.Impl.GetVmo(in_.Flags)
out_.S = s
out_.Vmo = vmo
return &out_, err_
case 2181038090:
in_ := FileGetVmoAtRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := FileGetVmoAtResponse{}
s, vmo, err_ := s.Impl.GetVmoAt(in_.Flags,in_.Offset,in_.Length)
out_.S = s
out_.Vmo = vmo
return &out_, err_
}
return nil, _bindings.ErrUnknownOrdinal
}
type FileService struct {
_bindings.BindingSet
}
func (s *FileService) Add(impl File, c _zx.Channel, onError func(error)) (_bindings.BindingKey, error) {
return s.BindingSet.Add(&FileStub{Impl: impl}, c, onError)
}
func (s *FileService) EventProxyFor(key _bindings.BindingKey) (*FileEventProxy, bool) {
pxy, err := s.BindingSet.ProxyFor(key)
return (*FileEventProxy)(pxy), err
}
type FileEventProxy _bindings.Proxy
func (p *FileEventProxy) OnOpen(s _zx.Status,info *ObjectInfo) error {
event_ := ObjectOnOpenResponse{
S: s,
Info: info,
}
return ((*_bindings.Proxy)(p)).Send(2147483655, &event_)
}
// Request for Open.
type DirectoryOpenRequest struct {
Flags uint32
Mode uint32
Path string
Object ObjectInterfaceRequest
}
// Implements Payload.
func (_ *DirectoryOpenRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryOpenRequest) InlineSize() int {
return 32
}
// Open has no response.
// Request for Unlink.
type DirectoryUnlinkRequest struct {
Path string
}
// Implements Payload.
func (_ *DirectoryUnlinkRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryUnlinkRequest) InlineSize() int {
return 16
}
// Response for Unlink.
type DirectoryUnlinkResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *DirectoryUnlinkResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryUnlinkResponse) InlineSize() int {
return 4
}
// Request for ReadDirents.
type DirectoryReadDirentsRequest struct {
MaxOut uint64
}
// Implements Payload.
func (_ *DirectoryReadDirentsRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryReadDirentsRequest) InlineSize() int {
return 8
}
// Response for ReadDirents.
type DirectoryReadDirentsResponse struct {
S _zx.Status
Dirents []uint8 `fidl:"8192"`
}
// Implements Payload.
func (_ *DirectoryReadDirentsResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryReadDirentsResponse) InlineSize() int {
return 24
}
// Request for Rewind.
type DirectoryRewindRequest struct {
}
// Implements Payload.
func (_ *DirectoryRewindRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryRewindRequest) InlineSize() int {
return 0
}
// Response for Rewind.
type DirectoryRewindResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *DirectoryRewindResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryRewindResponse) InlineSize() int {
return 4
}
// Request for GetToken.
type DirectoryGetTokenRequest struct {
}
// Implements Payload.
func (_ *DirectoryGetTokenRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryGetTokenRequest) InlineSize() int {
return 0
}
// Response for GetToken.
type DirectoryGetTokenResponse struct {
S _zx.Status
Token _zx.Handle
}
// Implements Payload.
func (_ *DirectoryGetTokenResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryGetTokenResponse) InlineSize() int {
return 8
}
// Request for Rename.
type DirectoryRenameRequest struct {
Src string
DstParentToken _zx.Handle
Dst string
}
// Implements Payload.
func (_ *DirectoryRenameRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryRenameRequest) InlineSize() int {
return 40
}
// Response for Rename.
type DirectoryRenameResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *DirectoryRenameResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryRenameResponse) InlineSize() int {
return 4
}
// Request for Link.
type DirectoryLinkRequest struct {
Src string
DstParentToken _zx.Handle
Dst string
}
// Implements Payload.
func (_ *DirectoryLinkRequest) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryLinkRequest) InlineSize() int {
return 40
}
// Response for Link.
type DirectoryLinkResponse struct {
S _zx.Status
}
// Implements Payload.
func (_ *DirectoryLinkResponse) InlineAlignment() int {
return 0
}
// Implements Payload.
func (_ *DirectoryLinkResponse) InlineSize() int {
return 4
}
type DirectoryInterface _bindings.Proxy
func (p *DirectoryInterface) Open(flags uint32,mode uint32,path string,object ObjectInterfaceRequest) error {
req_ := DirectoryOpenRequest{
Flags: flags,
Mode: mode,
Path: path,
Object: object,
}
err := ((*_bindings.Proxy)(p)).Send(2197815297, &req_)
return err
}
func (p *DirectoryInterface) Unlink(path string) (_zx.Status, error) {
req_ := DirectoryUnlinkRequest{
Path: path,
}
resp_ := DirectoryUnlinkResponse{}
err := ((*_bindings.Proxy)(p)).Call(2197815298, &req_, &resp_)
return resp_.S, err
}
func (p *DirectoryInterface) ReadDirents(maxOut uint64) (_zx.Status, []uint8, error) {
req_ := DirectoryReadDirentsRequest{
MaxOut: maxOut,
}
resp_ := DirectoryReadDirentsResponse{}
err := ((*_bindings.Proxy)(p)).Call(2197815299, &req_, &resp_)
return resp_.S, resp_.Dirents, err
}
func (p *DirectoryInterface) Rewind() (_zx.Status, error) {
req_ := DirectoryRewindRequest{
}
resp_ := DirectoryRewindResponse{}
err := ((*_bindings.Proxy)(p)).Call(2197815300, &req_, &resp_)
return resp_.S, err
}
func (p *DirectoryInterface) GetToken() (_zx.Status, _zx.Handle, error) {
req_ := DirectoryGetTokenRequest{
}
resp_ := DirectoryGetTokenResponse{}
err := ((*_bindings.Proxy)(p)).Call(2197815301, &req_, &resp_)
return resp_.S, resp_.Token, err
}
func (p *DirectoryInterface) Rename(src string,dstParentToken _zx.Handle,dst string) (_zx.Status, error) {
req_ := DirectoryRenameRequest{
Src: src,
DstParentToken: dstParentToken,
Dst: dst,
}
resp_ := DirectoryRenameResponse{}
err := ((*_bindings.Proxy)(p)).Call(2197815302, &req_, &resp_)
return resp_.S, err
}
func (p *DirectoryInterface) Link(src string,dstParentToken _zx.Handle,dst string) (_zx.Status, error) {
req_ := DirectoryLinkRequest{
Src: src,
DstParentToken: dstParentToken,
Dst: dst,
}
resp_ := DirectoryLinkResponse{}
err := ((*_bindings.Proxy)(p)).Call(2197815303, &req_, &resp_)
return resp_.S, err
}
// Directory server interface.
type Directory interface {
Clone(flags uint32,object ObjectInterfaceRequest) error
Close() (_zx.Status, error)
ListInterfaces() ([]string, error)
Bind(iface string) error
Describe() (ObjectInfo, error)
Sync() (_zx.Status, error)
GetAttr() (_zx.Status, NodeAttributes, error)
SetAttr(flags uint32,attributes NodeAttributes) (_zx.Status, error)
Ioctl(opcode uint32,maxOut uint64,handles []_zx.Handle,in []uint8) (_zx.Status, []_zx.Handle, []uint8, error)
Open(flags uint32,mode uint32,path string,object ObjectInterfaceRequest) error
Unlink(path string) (_zx.Status, error)
ReadDirents(maxOut uint64) (_zx.Status, []uint8, error)
Rewind() (_zx.Status, error)
GetToken() (_zx.Status, _zx.Handle, error)
Rename(src string,dstParentToken _zx.Handle,dst string) (_zx.Status, error)
Link(src string,dstParentToken _zx.Handle,dst string) (_zx.Status, error)
}
type DirectoryInterfaceRequest _bindings.InterfaceRequest
func NewDirectoryInterfaceRequest() (DirectoryInterfaceRequest, *DirectoryInterface, error) {
req, cli, err := _bindings.NewInterfaceRequest()
return DirectoryInterfaceRequest(req), (*DirectoryInterface)(cli), err
}
type DirectoryStub struct {
Impl Directory
}
func (s *DirectoryStub) Dispatch(ord uint32, b_ []byte, h_ []_zx.Handle) (_bindings.Payload, error) {
switch ord {
case 2147483649:
in_ := ObjectCloneRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Clone(in_.Flags,in_.Object)
return nil, err_
case 2147483650:
in_ := ObjectCloseRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectCloseResponse{}
s, err_ := s.Impl.Close()
out_.S = s
return &out_, err_
case 2147483652:
in_ := ObjectListInterfacesRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectListInterfacesResponse{}
interfaces, err_ := s.Impl.ListInterfaces()
out_.Interfaces = interfaces
return &out_, err_
case 2147483653:
in_ := ObjectBindRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Bind(in_.Iface)
return nil, err_
case 2147483654:
in_ := ObjectDescribeRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := ObjectDescribeResponse{}
info, err_ := s.Impl.Describe()
out_.Info = info
return &out_, err_
case 2164260865:
in_ := NodeSyncRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeSyncResponse{}
s, err_ := s.Impl.Sync()
out_.S = s
return &out_, err_
case 2164260866:
in_ := NodeGetAttrRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeGetAttrResponse{}
s, attributes, err_ := s.Impl.GetAttr()
out_.S = s
out_.Attributes = attributes
return &out_, err_
case 2164260867:
in_ := NodeSetAttrRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeSetAttrResponse{}
s, err_ := s.Impl.SetAttr(in_.Flags,in_.Attributes)
out_.S = s
return &out_, err_
case 2164260868:
in_ := NodeIoctlRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := NodeIoctlResponse{}
s, handles, out, err_ := s.Impl.Ioctl(in_.Opcode,in_.MaxOut,in_.Handles,in_.In)
out_.S = s
out_.Handles = handles
out_.Out = out
return &out_, err_
case 2197815297:
in_ := DirectoryOpenRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
err_ := s.Impl.Open(in_.Flags,in_.Mode,in_.Path,in_.Object)
return nil, err_
case 2197815298:
in_ := DirectoryUnlinkRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := DirectoryUnlinkResponse{}
s, err_ := s.Impl.Unlink(in_.Path)
out_.S = s
return &out_, err_
case 2197815299:
in_ := DirectoryReadDirentsRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := DirectoryReadDirentsResponse{}
s, dirents, err_ := s.Impl.ReadDirents(in_.MaxOut)
out_.S = s
out_.Dirents = dirents
return &out_, err_
case 2197815300:
in_ := DirectoryRewindRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := DirectoryRewindResponse{}
s, err_ := s.Impl.Rewind()
out_.S = s
return &out_, err_
case 2197815301:
in_ := DirectoryGetTokenRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := DirectoryGetTokenResponse{}
s, token, err_ := s.Impl.GetToken()
out_.S = s
out_.Token = token
return &out_, err_
case 2197815302:
in_ := DirectoryRenameRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := DirectoryRenameResponse{}
s, err_ := s.Impl.Rename(in_.Src,in_.DstParentToken,in_.Dst)
out_.S = s
return &out_, err_
case 2197815303:
in_ := DirectoryLinkRequest{}
if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
return nil, err_
}
out_ := DirectoryLinkResponse{}
s, err_ := s.Impl.Link(in_.Src,in_.DstParentToken,in_.Dst)
out_.S = s
return &out_, err_
}
return nil, _bindings.ErrUnknownOrdinal
}
type DirectoryService struct {
_bindings.BindingSet
}
func (s *DirectoryService) Add(impl Directory, c _zx.Channel, onError func(error)) (_bindings.BindingKey, error) {
return s.BindingSet.Add(&DirectoryStub{Impl: impl}, c, onError)
}
func (s *DirectoryService) EventProxyFor(key _bindings.BindingKey) (*DirectoryEventProxy, bool) {
pxy, err := s.BindingSet.ProxyFor(key)
return (*DirectoryEventProxy)(pxy), err
}
type DirectoryEventProxy _bindings.Proxy
func (p *DirectoryEventProxy) OnOpen(s _zx.Status,info *ObjectInfo) error {
event_ := ObjectOnOpenResponse{
S: s,
Info: info,
}
return ((*_bindings.Proxy)(p)).Send(2147483655, &event_)
}