include/uapi/linux/surface_aggregator/dtx.h

Source file repositories/reference/linux-study-clean/include/uapi/linux/surface_aggregator/dtx.h

File Facts

System
Linux kernel
Corpus path
include/uapi/linux/surface_aggregator/dtx.h
Extension
.h
Size
5453 bytes
Lines
147
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct sdtx_event {
	__u16 length;
	__u16 code;
	__u8 data[];
} __attribute__((__packed__));

/**
 * enum sdtx_event_code - Code describing the type of an event.
 * @SDTX_EVENT_REQUEST:         Detachment request event type.
 * @SDTX_EVENT_CANCEL:          Cancel detachment process event type.
 * @SDTX_EVENT_BASE_CONNECTION: Base/clipboard connection change event type.
 * @SDTX_EVENT_LATCH_STATUS:    Latch status change event type.
 * @SDTX_EVENT_DEVICE_MODE:     Device mode change event type.
 *
 * Used in &struct sdtx_event to describe the type of the event. Further event
 * codes are reserved for future use. Any event parser should be able to
 * gracefully handle unknown events, i.e. by simply skipping them.
 *
 * Consult the DTX user-space interface documentation for details regarding
 * the individual event types.
 */
enum sdtx_event_code {
	SDTX_EVENT_REQUEST		= 1,
	SDTX_EVENT_CANCEL		= 2,
	SDTX_EVENT_BASE_CONNECTION	= 3,
	SDTX_EVENT_LATCH_STATUS		= 4,
	SDTX_EVENT_DEVICE_MODE		= 5,
};

/**
 * struct sdtx_base_info - Describes if and what type of base is connected.
 * @state:   The state of the connection. Valid values are %SDTX_BASE_DETACHED,
 *           %SDTX_BASE_ATTACHED, and %SDTX_DETACH_NOT_FEASIBLE (in case a base
 *           is attached but low clipboard battery prevents detachment). Other
 *           values are currently reserved.
 * @base_id: The type of base connected. Zero if no base is connected.
 */
struct sdtx_base_info {
	__u16 state;
	__u16 base_id;
} __attribute__((__packed__));

/* IOCTLs */
#define SDTX_IOCTL_EVENTS_ENABLE	_IO(0xa5, 0x21)
#define SDTX_IOCTL_EVENTS_DISABLE	_IO(0xa5, 0x22)

#define SDTX_IOCTL_LATCH_LOCK		_IO(0xa5, 0x23)
#define SDTX_IOCTL_LATCH_UNLOCK		_IO(0xa5, 0x24)

#define SDTX_IOCTL_LATCH_REQUEST	_IO(0xa5, 0x25)
#define SDTX_IOCTL_LATCH_CONFIRM	_IO(0xa5, 0x26)
#define SDTX_IOCTL_LATCH_HEARTBEAT	_IO(0xa5, 0x27)
#define SDTX_IOCTL_LATCH_CANCEL		_IO(0xa5, 0x28)

#define SDTX_IOCTL_GET_BASE_INFO	_IOR(0xa5, 0x29, struct sdtx_base_info)
#define SDTX_IOCTL_GET_DEVICE_MODE	_IOR(0xa5, 0x2a, __u16)
#define SDTX_IOCTL_GET_LATCH_STATUS	_IOR(0xa5, 0x2b, __u16)

#endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_DTX_H */

Annotation

Implementation Notes