Documentation
¶
Overview ¶
Package binder implements Android Binder IPC module.
Index ¶
- type Device
- func (bd *Device) AddLink()
- func (bd *Device) Check(ctx context.Context, inode *fs.Inode, p fs.PermMask) bool
- func (bd *Device) DropLink()
- func (bd *Device) GetFile(ctx context.Context, d *fs.Dirent, flags fs.FileFlags) (*fs.File, error)
- func (bd *Device) IsVirtual() bool
- func (bd *Device) NotifyStatusChange(ctx context.Context)
- func (bd *Device) Release(context.Context)
- func (bd *Device) SetOwner(ctx context.Context, inode *fs.Inode, owner fs.FileOwner) error
- func (bd *Device) SetPermissions(ctx context.Context, inode *fs.Inode, fp fs.FilePermissions) bool
- func (bd *Device) SetTimestamps(ctx context.Context, inode *fs.Inode, ts fs.TimeSpec) error
- func (bd *Device) StatFS(context.Context) (fs.Info, error)
- func (bd *Device) Truncate(ctx context.Context, inode *fs.Inode, size int64) error
- func (bd *Device) UnstableAttr(ctx context.Context, inode *fs.Inode) (fs.UnstableAttr, error)
- type Proc
- func (bp *Proc) AddMapping(ctx context.Context, ms memmap.MappingSpace, ar usermem.AddrRange, ...) error
- func (bp *Proc) ConfigureMMap(ctx context.Context, file *fs.File, opts *memmap.MMapOpts) error
- func (bp *Proc) CopyMapping(ctx context.Context, ms memmap.MappingSpace, srcAR, dstAR usermem.AddrRange, ...) error
- func (bp *Proc) Flush(ctx context.Context, file *fs.File) error
- func (bp *Proc) InvalidateUnsavable(ctx context.Context) error
- func (bp *Proc) Ioctl(ctx context.Context, io usermem.IO, args arch.SyscallArguments) (uintptr, error)
- func (bp *Proc) Read(ctx context.Context, file *fs.File, dst usermem.IOSequence, offset int64) (int64, error)
- func (bp *Proc) Release()
- func (bp *Proc) RemoveMapping(ctx context.Context, ms memmap.MappingSpace, ar usermem.AddrRange, ...)
- func (bp *Proc) Seek(ctx context.Context, file *fs.File, whence fs.SeekWhence, offset int64) (int64, error)
- func (bp *Proc) Translate(ctx context.Context, required, optional memmap.MappableRange, ...) ([]memmap.Translation, error)
- func (bp *Proc) Write(ctx context.Context, file *fs.File, src usermem.IOSequence, offset int64) (int64, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Device ¶
type Device struct { fsutil.InodeNoExtendedAttributes fsutil.InodeNotDirectory fsutil.InodeNotRenameable fsutil.InodeNotSocket fsutil.InodeNotSymlink fsutil.NoMappable fsutil.NoopWriteOut fsutil.DeprecatedFileOperations // contains filtered or unexported fields }
Device implements fs.InodeOperations.
func (*Device) AddLink ¶
func (bd *Device) AddLink()
AddLink implements fs.InodeOperations.AddLink.
Binder doesn't support links, no-op.
func (*Device) DropLink ¶
func (bd *Device) DropLink()
DropLink implements fs.InodeOperations.DropLink.
Binder doesn't support links, no-op.
func (*Device) GetFile ¶
GetFile implements fs.InodeOperations.GetFile.
TODO: Add functionality to GetFile: Additional fields will be needed in the Device structure, initialize them here. Also, Device will need to keep track of the created Procs in order to implement BINDER_READ_WRITE ioctl.
func (*Device) NotifyStatusChange ¶
NotifyStatusChange implements fs.InodeOperations.NotifyStatusChange.
func (*Device) SetPermissions ¶
SetPermissions implements fs.InodeOperations.SetPermissions.
func (*Device) SetTimestamps ¶
SetTimestamps implements fs.InodeOperations.SetTimestamps.
func (*Device) StatFS ¶
StatFS implements fs.InodeOperations.StatFS.
Binder doesn't support querying for filesystem info.
func (*Device) Truncate ¶
Truncate implements fs.InodeOperations.WriteOut.
Ignored for a character device, such as Binder.
func (*Device) UnstableAttr ¶
UnstableAttr implements fs.InodeOperations.UnstableAttr.
type Proc ¶
type Proc struct { fsutil.NoFsync fsutil.DeprecatedFileOperations fsutil.NotDirReaddir // contains filtered or unexported fields }
Proc implements fs.FileOperations and fs.IoctlGetter.
func (*Proc) AddMapping ¶
func (bp *Proc) AddMapping(ctx context.Context, ms memmap.MappingSpace, ar usermem.AddrRange, offset uint64) error
AddMapping implements memmap.Mappable.AddMapping.
func (*Proc) ConfigureMMap ¶
ConfigureMMap implements fs.FileOperations.ConfigureMMap.
func (*Proc) CopyMapping ¶
func (bp *Proc) CopyMapping(ctx context.Context, ms memmap.MappingSpace, srcAR, dstAR usermem.AddrRange, offset uint64) error
CopyMapping implements memmap.Mappable.CopyMapping.
func (*Proc) InvalidateUnsavable ¶
InvalidateUnsavable implements memmap.Mappable.InvalidateUnsavable.
func (*Proc) Ioctl ¶
func (bp *Proc) Ioctl(ctx context.Context, io usermem.IO, args arch.SyscallArguments) (uintptr, error)
Ioctl implements fs.FileOperations.Ioctl.
TODO: Implement.
func (*Proc) Read ¶
func (bp *Proc) Read(ctx context.Context, file *fs.File, dst usermem.IOSequence, offset int64) (int64, error)
Read implements fs.FileOperations.Read.
Binder doesn't support read operation (unless in debug mode).
func (*Proc) RemoveMapping ¶
func (bp *Proc) RemoveMapping(ctx context.Context, ms memmap.MappingSpace, ar usermem.AddrRange, offset uint64)
RemoveMapping implements memmap.Mappable.RemoveMapping.
func (*Proc) Seek ¶
func (bp *Proc) Seek(ctx context.Context, file *fs.File, whence fs.SeekWhence, offset int64) (int64, error)
Seek implements fs.FileOperations.Seek.
Binder doesn't support seek operation (unless in debug mode).
func (*Proc) Translate ¶
func (bp *Proc) Translate(ctx context.Context, required, optional memmap.MappableRange, at usermem.AccessType) ([]memmap.Translation, error)
Translate implements memmap.Mappable.Translate.