cliprdr

package
v0.0.0-...-c7ab20e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2025 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

cliprdr_linux.go

Index

Constants

View Source
const (
	CB_MONITOR_READY         = 0x0001
	CB_FORMAT_LIST           = 0x0002
	CB_FORMAT_LIST_RESPONSE  = 0x0003
	CB_FORMAT_DATA_REQUEST   = 0x0004
	CB_FORMAT_DATA_RESPONSE  = 0x0005
	CB_TEMP_DIRECTORY        = 0x0006
	CB_CLIP_CAPS             = 0x0007
	CB_FILECONTENTS_REQUEST  = 0x0008
	CB_FILECONTENTS_RESPONSE = 0x0009
	CB_LOCK_CLIPDATA         = 0x000A
	CB_UNLOCK_CLIPDATA       = 0x000B
)
View Source
const (
	CB_RESPONSE_OK   = 0x0001
	CB_RESPONSE_FAIL = 0x0002
	CB_ASCII_NAMES   = 0x0004
)
View Source
const (
	FILECONTENTS_SIZE  = 0x00000001
	FILECONTENTS_RANGE = 0x00000002
)
View Source
const (
	/* CLIPRDR_GENERAL_CAPABILITY.generalFlags */
	CB_USE_LONG_FORMAT_NAMES     = 0x00000002
	CB_STREAM_FILECLIP_ENABLED   = 0x00000004
	CB_FILECLIP_NO_FILE_PATHS    = 0x00000008
	CB_CAN_LOCK_CLIPDATA         = 0x00000010
	CB_HUGE_FILE_SUPPORT_ENABLED = 0x00000020
)
View Source
const (
	/* CLIPRDR_GENERAL_CAPABILITY.version */
	CB_CAPS_VERSION_1 = 0x00000001
	CB_CAPS_VERSION_2 = 0x00000002
)
View Source
const (
	FD_CLSID      = 0x00000001
	FD_SIZEPOINT  = 0x00000002
	FD_ATTRIBUTES = 0x00000004
	FD_CREATETIME = 0x00000008
	FD_ACCESSTIME = 0x00000010
	FD_WRITESTIME = 0x00000020
	FD_FILESIZE   = 0x00000040
	FD_PROGRESSUI = 0x00004000
	FD_LINKUI     = 0x00008000
)
View Source
const (
	CB_FORMAT_HTML             = 0xD010
	CB_FORMAT_PNG              = 0xD011
	CB_FORMAT_JPEG             = 0xD012
	CB_FORMAT_GIF              = 0xD013
	CB_FORMAT_TEXTURILIST      = 0xD014
	CB_FORMAT_GNOMECOPIEDFILES = 0xD015
	CB_FORMAT_MATECOPIEDFILES  = 0xD016
)
View Source
const (
	CFSTR_SHELLIDLIST         = "Shell IDList Array"
	CFSTR_SHELLIDLISTOFFSET   = "Shell Object Offsets"
	CFSTR_NETRESOURCES        = "Net Resource"
	CFSTR_FILECONTENTS        = "FileContents"
	CFSTR_FILENAMEA           = "FileName"
	CFSTR_FILENAMEMAPA        = "FileNameMap"
	CFSTR_FILEDESCRIPTORA     = "FileGroupDescriptor"
	CFSTR_INETURLA            = "UniformResourceLocator"
	CFSTR_SHELLURL            = CFSTR_INETURLA
	CFSTR_FILENAMEW           = "FileNameW"
	CFSTR_FILENAMEMAPW        = "FileNameMapW"
	CFSTR_FILEDESCRIPTORW     = "FileGroupDescriptorW"
	CFSTR_INETURLW            = "UniformResourceLocatorW"
	CFSTR_PRINTERGROUP        = "PrinterFriendlyName"
	CFSTR_INDRAGLOOP          = "InShellDragLoop"
	CFSTR_PASTESUCCEEDED      = "Paste Succeeded"
	CFSTR_PERFORMEDDROPEFFECT = "Performed DropEffect"
	CFSTR_PREFERREDDROPEFFECT = "Preferred DropEffect"
)
View Source
const (
	CF_TEXT         = 1
	CF_BITMAP       = 2
	CF_METAFILEPICT = 3
	CF_SYLK         = 4
	CF_DIF          = 5
	CF_TIFF         = 6
	CF_OEMTEXT      = 7
	CF_DIB          = 8
	CF_PALETTE      = 9
	CF_PENDATA      = 10
	CF_RIFF         = 11
	CF_WAVE         = 12
	CF_UNICODETEXT  = 13
	CF_ENHMETAFILE  = 14
	CF_HDROP        = 15
	CF_LOCALE       = 16
	CF_DIBV5        = 17
	CF_MAX          = 18
)
View Source
const (
	/* File attribute flags */
	FILE_SHARE_READ   = 0x00000001
	FILE_SHARE_WRITE  = 0x00000002
	FILE_SHARE_DELETE = 0x00000004

	FILE_ATTRIBUTE_READONLY            = 0x00000001
	FILE_ATTRIBUTE_HIDDEN              = 0x00000002
	FILE_ATTRIBUTE_SYSTEM              = 0x00000004
	FILE_ATTRIBUTE_DIRECTORY           = 0x00000010
	FILE_ATTRIBUTE_ARCHIVE             = 0x00000020
	FILE_ATTRIBUTE_DEVICE              = 0x00000040
	FILE_ATTRIBUTE_NORMAL              = 0x00000080
	FILE_ATTRIBUTE_TEMPORARY           = 0x00000100
	FILE_ATTRIBUTE_SPARSE_FILE         = 0x00000200
	FILE_ATTRIBUTE_REPARSE_POINT       = 0x00000400
	FILE_ATTRIBUTE_COMPRESSED          = 0x00000800
	FILE_ATTRIBUTE_OFFLINE             = 0x00001000
	FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000
	FILE_ATTRIBUTE_ENCRYPTED           = 0x00004000
	FILE_ATTRIBUTE_INTEGRITY_STREAM    = 0x00008000
	FILE_ATTRIBUTE_VIRTUAL             = 0x00010000
	FILE_ATTRIBUTE_NO_SCRUB_DATA       = 0x00020000
	FILE_ATTRIBUTE_EA                  = 0x00040000
)
View Source
const (
	CB_CAPSTYPE_GENERAL = 0x0001
)
View Source
const (
	CB_CAPSTYPE_GENERAL_LEN = 12
)
View Source
const DVASPECT_CONTENT = 0x1
View Source
const (
	OLE_SETCLIPBOARD = 1
)

Variables

This section is empty.

Functions

func ClipWatcher

func ClipWatcher(c *CliprdrClient)

func CloseClipboard

func CloseClipboard() bool

func CountClipboardFormats

func CountClipboardFormats() int32

func EmptyClipboard

func EmptyClipboard() bool

func EnumClipboardFormats

func EnumClipboardFormats(formatId uint32) uint32

func GetClipboardData

func GetClipboardData(formatId uint32) string

func GetClipboardFormatName

func GetClipboardFormatName(id uint32) string

func GetFileInfo

func GetFileInfo(sys interface{}) (uint32, []byte, uint32, uint32)

func GetFileNames

func GetFileNames() []string

func GlobalLock

func GlobalLock(hMem uintptr) uintptr

func GlobalSize

func GlobalSize(hMem uintptr) int

func GlobalUnlock

func GlobalUnlock(hMem uintptr)

func HmemAlloc

func HmemAlloc(data []byte) uintptr

func IsClipboardFormatAvailable

func IsClipboardFormatAvailable(id uint32) bool

func IsClipboardOwner

func IsClipboardOwner(h int) bool

func OpenClipboard

func OpenClipboard(hwnd uintptr) bool

func RegisterClipboardFormat

func RegisterClipboardFormat(format string) uint32

func SetClipboardData

func SetClipboardData(formatId uint32, hmem uintptr) bool

Types

type ClipboardFormats

type ClipboardFormats uint16

type CliprdrCapabilitiesPDU

type CliprdrCapabilitiesPDU struct {
	CCapabilitiesSets uint16                        `struc:"little,sizeof=CapabilitySets"`
	Pad1              uint16                        `struc:"little"`
	CapabilitySets    []CliprdrGeneralCapabilitySet `struc:"little"`
}

type CliprdrCapabilitySets

type CliprdrCapabilitySets struct {
	CapabilitySetType uint16 `struc:"little"`
	LengthCapability  uint16 `struc:"little"`
	Version           uint32 `struc:"little"`
	GeneralFlags      uint32 `struc:"little"`
}

type CliprdrClient

type CliprdrClient struct {
	Files []FileDescriptor

	Control
	// contains filtered or unexported fields
}

func NewCliprdrClient

func NewCliprdrClient() *CliprdrClient

func (*CliprdrClient) GetType

func (c *CliprdrClient) GetType() (string, uint32)

func (*CliprdrClient) Process

func (c *CliprdrClient) Process(s []byte)

func (*CliprdrClient) Send

func (c *CliprdrClient) Send(s []byte) (int, error)

func (*CliprdrClient) Sender

func (c *CliprdrClient) Sender(f core.ChannelSender)

type CliprdrCtrlClipboardData

type CliprdrCtrlClipboardData struct {
	ClipDataId uint32
}

lock or unlock

type CliprdrFileContentsRequest

type CliprdrFileContentsRequest struct {
	StreamId      uint32 `struc:"little"`
	Lindex        uint32 `struc:"little"`
	DwFlags       uint32 `struc:"little"`
	NPositionLow  uint32 `struc:"little"`
	NPositionHigh uint32 `struc:"little"`
	CbRequested   uint32 `struc:"little"`
	ClipDataId    uint32 `struc:"little"`
}

file contents

func FileContentsSizeRequest

func FileContentsSizeRequest(i uint32) *CliprdrFileContentsRequest

type CliprdrFileContentsResponse

type CliprdrFileContentsResponse struct {
	StreamId      uint32
	CbRequested   uint32
	RequestedData []byte
}

func (*CliprdrFileContentsResponse) Unpack

func (resp *CliprdrFileContentsResponse) Unpack(b []byte)

type CliprdrFormat

type CliprdrFormat struct {
	FormatId   uint32
	FormatName string
}

format list

func GetFormatList

func GetFormatList(hwnd uintptr) []CliprdrFormat

type CliprdrFormatDataRequest

type CliprdrFormatDataRequest struct {
	RequestedFormatId uint32
}

format data

type CliprdrFormatDataResponse

type CliprdrFormatDataResponse struct {
	RequestedFormatData []byte
}

type CliprdrFormatList

type CliprdrFormatList struct {
	NumFormats uint32
	Formats    []CliprdrFormat
}

type CliprdrGeneralCapabilitySet

type CliprdrGeneralCapabilitySet struct {
	CapabilitySetType   uint16 `struc:"little"`
	CapabilitySetLength uint16 `struc:"little"`
	Version             uint32 `struc:"little"`
	GeneralFlags        uint32 `struc:"little"`
}

type CliprdrMonitorReady

type CliprdrMonitorReady struct {
}

type CliprdrPDUHeader

type CliprdrPDUHeader struct {
	MsgType  uint16 `struc:"little"`
	MsgFlags uint16 `struc:"little"`
	DataLen  uint32 `struc:"little"`
}

func NewCliprdrPDUHeader

func NewCliprdrPDUHeader(mType, flags uint16, ln uint32) *CliprdrPDUHeader

type CliprdrTempDirectory

type CliprdrTempDirectory struct {
	SzTempDir []byte `struc:"[260]byte"`
}

temp dir

type Control

type Control struct {
	// contains filtered or unexported fields
}

func (*Control) SendCliprdrMessage

func (c *Control) SendCliprdrMessage()

type DROPFILES

type DROPFILES struct {
	// contains filtered or unexported fields
}

type DwFlags

type DwFlags uint32

type FileDescriptor

type FileDescriptor struct {
	Flags          uint32   `struc:"little"`
	Clsid          [16]byte `struc:"little"`
	Sizel          [8]byte  `struc:"little"`
	Pointl         [8]byte  `struc:"little"`
	FileAttributes uint32   `struc:"little"`
	CreationTime   [8]byte  `struc:"little"`
	LastAccessTime [8]byte  `struc:"little"`
	LastWriteTime  []byte   `struc:"[8]byte"` //8
	FileSizeHigh   uint32   `struc:"little"`
	FileSizeLow    uint32   `struc:"little"`
	FileName       []byte   `struc:"[512]byte"`
}

type FileGroupDescriptor

type FileGroupDescriptor struct {
	CItems uint32           `struc:"little"`
	Fgd    []FileDescriptor `struc:"sizefrom=CItems"`
}

func (*FileGroupDescriptor) Unpack

func (f *FileGroupDescriptor) Unpack(b []byte) error

type GeneralFlags

type GeneralFlags uint32

type MsgFlags

type MsgFlags uint16

type MsgType

type MsgType uint16

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL