122851890Sopenharmony_ci/**************************************************************************** 222851890Sopenharmony_ci **************************************************************************** 322851890Sopenharmony_ci *** 422851890Sopenharmony_ci *** This header was automatically generated from a Linux kernel header 522851890Sopenharmony_ci *** of the same name, to make information necessary for userspace to 622851890Sopenharmony_ci *** call into the kernel available to libc. It contains only constants, 722851890Sopenharmony_ci *** structures, and macros generated from the original header, and thus, 822851890Sopenharmony_ci *** contains no copyrightable information. 922851890Sopenharmony_ci *** 1022851890Sopenharmony_ci *** To edit the content of this header, modify the corresponding 1122851890Sopenharmony_ci *** source file (e.g. under external/kernel-headers/original/) then 1222851890Sopenharmony_ci *** run bionic/libc/kernel/tools/update_all.py 1322851890Sopenharmony_ci *** 1422851890Sopenharmony_ci *** Any manual change here will be lost the next time this script will 1522851890Sopenharmony_ci *** be run. You've been warned! 1622851890Sopenharmony_ci *** 1722851890Sopenharmony_ci **************************************************************************** 1822851890Sopenharmony_ci ****************************************************************************/ 1922851890Sopenharmony_ci#ifndef _DRM_H_ 2022851890Sopenharmony_ci#define _DRM_H_ 2122851890Sopenharmony_ci#ifdef __linux__ 2222851890Sopenharmony_ci#include <linux/types.h> 2322851890Sopenharmony_ci#include <asm/ioctl.h> 2422851890Sopenharmony_citypedef unsigned int drm_handle_t; 2522851890Sopenharmony_ci#else 2622851890Sopenharmony_ci#include <stdint.h> 2722851890Sopenharmony_ci#include <sys/ioccom.h> 2822851890Sopenharmony_ci#include <sys/types.h> 2922851890Sopenharmony_citypedef int8_t __s8; 3022851890Sopenharmony_citypedef uint8_t __u8; 3122851890Sopenharmony_citypedef int16_t __s16; 3222851890Sopenharmony_citypedef uint16_t __u16; 3322851890Sopenharmony_citypedef int32_t __s32; 3422851890Sopenharmony_citypedef uint32_t __u32; 3522851890Sopenharmony_citypedef int64_t __s64; 3622851890Sopenharmony_citypedef uint64_t __u64; 3722851890Sopenharmony_citypedef size_t __kernel_size_t; 3822851890Sopenharmony_citypedef unsigned long drm_handle_t; 3922851890Sopenharmony_ci#endif 4022851890Sopenharmony_ci#ifdef __cplusplus 4122851890Sopenharmony_ciextern "C" { 4222851890Sopenharmony_ci#endif 4322851890Sopenharmony_ci#define DRM_NAME "drm" 4422851890Sopenharmony_ci#define DRM_MIN_ORDER 5 4522851890Sopenharmony_ci#define DRM_MAX_ORDER 22 4622851890Sopenharmony_ci#define DRM_RAM_PERCENT 10 4722851890Sopenharmony_ci#define _DRM_LOCK_HELD 0x80000000U 4822851890Sopenharmony_ci#define _DRM_LOCK_CONT 0x40000000U 4922851890Sopenharmony_ci#define _DRM_LOCK_IS_HELD(lock) ((lock) & _DRM_LOCK_HELD) 5022851890Sopenharmony_ci#define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT) 5122851890Sopenharmony_ci#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD | _DRM_LOCK_CONT)) 5222851890Sopenharmony_citypedef unsigned int drm_context_t; 5322851890Sopenharmony_citypedef unsigned int drm_drawable_t; 5422851890Sopenharmony_citypedef unsigned int drm_magic_t; 5522851890Sopenharmony_cistruct drm_clip_rect { 5622851890Sopenharmony_ci unsigned short x1; 5722851890Sopenharmony_ci unsigned short y1; 5822851890Sopenharmony_ci unsigned short x2; 5922851890Sopenharmony_ci unsigned short y2; 6022851890Sopenharmony_ci}; 6122851890Sopenharmony_cistruct drm_drawable_info { 6222851890Sopenharmony_ci unsigned int num_rects; 6322851890Sopenharmony_ci struct drm_clip_rect * rects; 6422851890Sopenharmony_ci}; 6522851890Sopenharmony_cistruct drm_tex_region { 6622851890Sopenharmony_ci unsigned char next; 6722851890Sopenharmony_ci unsigned char prev; 6822851890Sopenharmony_ci unsigned char in_use; 6922851890Sopenharmony_ci unsigned char padding; 7022851890Sopenharmony_ci unsigned int age; 7122851890Sopenharmony_ci}; 7222851890Sopenharmony_cistruct drm_hw_lock { 7322851890Sopenharmony_ci __volatile__ unsigned int lock; 7422851890Sopenharmony_ci char padding[60]; 7522851890Sopenharmony_ci}; 7622851890Sopenharmony_cistruct drm_version { 7722851890Sopenharmony_ci int version_major; 7822851890Sopenharmony_ci int version_minor; 7922851890Sopenharmony_ci int version_patchlevel; 8022851890Sopenharmony_ci __kernel_size_t name_len; 8122851890Sopenharmony_ci char __user * name; 8222851890Sopenharmony_ci __kernel_size_t date_len; 8322851890Sopenharmony_ci char __user * date; 8422851890Sopenharmony_ci __kernel_size_t desc_len; 8522851890Sopenharmony_ci char __user * desc; 8622851890Sopenharmony_ci}; 8722851890Sopenharmony_cistruct drm_unique { 8822851890Sopenharmony_ci __kernel_size_t unique_len; 8922851890Sopenharmony_ci char __user * unique; 9022851890Sopenharmony_ci}; 9122851890Sopenharmony_cistruct drm_list { 9222851890Sopenharmony_ci int count; 9322851890Sopenharmony_ci struct drm_version __user * version; 9422851890Sopenharmony_ci}; 9522851890Sopenharmony_cistruct drm_block { 9622851890Sopenharmony_ci int unused; 9722851890Sopenharmony_ci}; 9822851890Sopenharmony_cistruct drm_control { 9922851890Sopenharmony_ci enum { 10022851890Sopenharmony_ci DRM_ADD_COMMAND, 10122851890Sopenharmony_ci DRM_RM_COMMAND, 10222851890Sopenharmony_ci DRM_INST_HANDLER, 10322851890Sopenharmony_ci DRM_UNINST_HANDLER 10422851890Sopenharmony_ci } func; 10522851890Sopenharmony_ci int irq; 10622851890Sopenharmony_ci}; 10722851890Sopenharmony_cienum drm_map_type { 10822851890Sopenharmony_ci _DRM_FRAME_BUFFER = 0, 10922851890Sopenharmony_ci _DRM_REGISTERS = 1, 11022851890Sopenharmony_ci _DRM_SHM = 2, 11122851890Sopenharmony_ci _DRM_AGP = 3, 11222851890Sopenharmony_ci _DRM_SCATTER_GATHER = 4, 11322851890Sopenharmony_ci _DRM_CONSISTENT = 5 11422851890Sopenharmony_ci}; 11522851890Sopenharmony_cienum drm_map_flags { 11622851890Sopenharmony_ci _DRM_RESTRICTED = 0x01, 11722851890Sopenharmony_ci _DRM_READ_ONLY = 0x02, 11822851890Sopenharmony_ci _DRM_LOCKED = 0x04, 11922851890Sopenharmony_ci _DRM_KERNEL = 0x08, 12022851890Sopenharmony_ci _DRM_WRITE_COMBINING = 0x10, 12122851890Sopenharmony_ci _DRM_CONTAINS_LOCK = 0x20, 12222851890Sopenharmony_ci _DRM_REMOVABLE = 0x40, 12322851890Sopenharmony_ci _DRM_DRIVER = 0x80 12422851890Sopenharmony_ci}; 12522851890Sopenharmony_cistruct drm_ctx_priv_map { 12622851890Sopenharmony_ci unsigned int ctx_id; 12722851890Sopenharmony_ci void * handle; 12822851890Sopenharmony_ci}; 12922851890Sopenharmony_cistruct drm_map { 13022851890Sopenharmony_ci unsigned long offset; 13122851890Sopenharmony_ci unsigned long size; 13222851890Sopenharmony_ci enum drm_map_type type; 13322851890Sopenharmony_ci enum drm_map_flags flags; 13422851890Sopenharmony_ci void * handle; 13522851890Sopenharmony_ci int mtrr; 13622851890Sopenharmony_ci}; 13722851890Sopenharmony_cistruct drm_client { 13822851890Sopenharmony_ci int idx; 13922851890Sopenharmony_ci int auth; 14022851890Sopenharmony_ci unsigned long pid; 14122851890Sopenharmony_ci unsigned long uid; 14222851890Sopenharmony_ci unsigned long magic; 14322851890Sopenharmony_ci unsigned long iocs; 14422851890Sopenharmony_ci}; 14522851890Sopenharmony_cienum drm_stat_type { 14622851890Sopenharmony_ci _DRM_STAT_LOCK, 14722851890Sopenharmony_ci _DRM_STAT_OPENS, 14822851890Sopenharmony_ci _DRM_STAT_CLOSES, 14922851890Sopenharmony_ci _DRM_STAT_IOCTLS, 15022851890Sopenharmony_ci _DRM_STAT_LOCKS, 15122851890Sopenharmony_ci _DRM_STAT_UNLOCKS, 15222851890Sopenharmony_ci _DRM_STAT_VALUE, 15322851890Sopenharmony_ci _DRM_STAT_BYTE, 15422851890Sopenharmony_ci _DRM_STAT_COUNT, 15522851890Sopenharmony_ci _DRM_STAT_IRQ, 15622851890Sopenharmony_ci _DRM_STAT_PRIMARY, 15722851890Sopenharmony_ci _DRM_STAT_SECONDARY, 15822851890Sopenharmony_ci _DRM_STAT_DMA, 15922851890Sopenharmony_ci _DRM_STAT_SPECIAL, 16022851890Sopenharmony_ci _DRM_STAT_MISSED 16122851890Sopenharmony_ci}; 16222851890Sopenharmony_cistruct drm_stats { 16322851890Sopenharmony_ci unsigned long count; 16422851890Sopenharmony_ci struct { 16522851890Sopenharmony_ci unsigned long value; 16622851890Sopenharmony_ci enum drm_stat_type type; 16722851890Sopenharmony_ci } data[15]; 16822851890Sopenharmony_ci}; 16922851890Sopenharmony_cienum drm_lock_flags { 17022851890Sopenharmony_ci _DRM_LOCK_READY = 0x01, 17122851890Sopenharmony_ci _DRM_LOCK_QUIESCENT = 0x02, 17222851890Sopenharmony_ci _DRM_LOCK_FLUSH = 0x04, 17322851890Sopenharmony_ci _DRM_LOCK_FLUSH_ALL = 0x08, 17422851890Sopenharmony_ci _DRM_HALT_ALL_QUEUES = 0x10, 17522851890Sopenharmony_ci _DRM_HALT_CUR_QUEUES = 0x20 17622851890Sopenharmony_ci}; 17722851890Sopenharmony_cistruct drm_lock { 17822851890Sopenharmony_ci int context; 17922851890Sopenharmony_ci enum drm_lock_flags flags; 18022851890Sopenharmony_ci}; 18122851890Sopenharmony_cienum drm_dma_flags { 18222851890Sopenharmony_ci _DRM_DMA_BLOCK = 0x01, 18322851890Sopenharmony_ci _DRM_DMA_WHILE_LOCKED = 0x02, 18422851890Sopenharmony_ci _DRM_DMA_PRIORITY = 0x04, 18522851890Sopenharmony_ci _DRM_DMA_WAIT = 0x10, 18622851890Sopenharmony_ci _DRM_DMA_SMALLER_OK = 0x20, 18722851890Sopenharmony_ci _DRM_DMA_LARGER_OK = 0x40 18822851890Sopenharmony_ci}; 18922851890Sopenharmony_cistruct drm_buf_desc { 19022851890Sopenharmony_ci int count; 19122851890Sopenharmony_ci int size; 19222851890Sopenharmony_ci int low_mark; 19322851890Sopenharmony_ci int high_mark; 19422851890Sopenharmony_ci enum { 19522851890Sopenharmony_ci _DRM_PAGE_ALIGN = 0x01, 19622851890Sopenharmony_ci _DRM_AGP_BUFFER = 0x02, 19722851890Sopenharmony_ci _DRM_SG_BUFFER = 0x04, 19822851890Sopenharmony_ci _DRM_FB_BUFFER = 0x08, 19922851890Sopenharmony_ci _DRM_PCI_BUFFER_RO = 0x10 20022851890Sopenharmony_ci } flags; 20122851890Sopenharmony_ci unsigned long agp_start; 20222851890Sopenharmony_ci}; 20322851890Sopenharmony_cistruct drm_buf_info { 20422851890Sopenharmony_ci int count; 20522851890Sopenharmony_ci struct drm_buf_desc __user * list; 20622851890Sopenharmony_ci}; 20722851890Sopenharmony_cistruct drm_buf_free { 20822851890Sopenharmony_ci int count; 20922851890Sopenharmony_ci int __user * list; 21022851890Sopenharmony_ci}; 21122851890Sopenharmony_cistruct drm_buf_pub { 21222851890Sopenharmony_ci int idx; 21322851890Sopenharmony_ci int total; 21422851890Sopenharmony_ci int used; 21522851890Sopenharmony_ci void __user * address; 21622851890Sopenharmony_ci}; 21722851890Sopenharmony_cistruct drm_buf_map { 21822851890Sopenharmony_ci int count; 21922851890Sopenharmony_ci#ifdef __cplusplus 22022851890Sopenharmony_ci void __user * virt; 22122851890Sopenharmony_ci#else 22222851890Sopenharmony_ci void __user * __linux_virtual; 22322851890Sopenharmony_ci#endif 22422851890Sopenharmony_ci struct drm_buf_pub __user * list; 22522851890Sopenharmony_ci}; 22622851890Sopenharmony_cistruct drm_dma { 22722851890Sopenharmony_ci int context; 22822851890Sopenharmony_ci int send_count; 22922851890Sopenharmony_ci int __user * send_indices; 23022851890Sopenharmony_ci int __user * send_sizes; 23122851890Sopenharmony_ci enum drm_dma_flags flags; 23222851890Sopenharmony_ci int request_count; 23322851890Sopenharmony_ci int request_size; 23422851890Sopenharmony_ci int __user * request_indices; 23522851890Sopenharmony_ci int __user * request_sizes; 23622851890Sopenharmony_ci int granted_count; 23722851890Sopenharmony_ci}; 23822851890Sopenharmony_cienum drm_ctx_flags { 23922851890Sopenharmony_ci _DRM_CONTEXT_PRESERVED = 0x01, 24022851890Sopenharmony_ci _DRM_CONTEXT_2DONLY = 0x02 24122851890Sopenharmony_ci}; 24222851890Sopenharmony_cistruct drm_ctx { 24322851890Sopenharmony_ci drm_context_t handle; 24422851890Sopenharmony_ci enum drm_ctx_flags flags; 24522851890Sopenharmony_ci}; 24622851890Sopenharmony_cistruct drm_ctx_res { 24722851890Sopenharmony_ci int count; 24822851890Sopenharmony_ci struct drm_ctx __user * contexts; 24922851890Sopenharmony_ci}; 25022851890Sopenharmony_cistruct drm_draw { 25122851890Sopenharmony_ci drm_drawable_t handle; 25222851890Sopenharmony_ci}; 25322851890Sopenharmony_citypedef enum { 25422851890Sopenharmony_ci DRM_DRAWABLE_CLIPRECTS 25522851890Sopenharmony_ci} drm_drawable_info_type_t; 25622851890Sopenharmony_cistruct drm_update_draw { 25722851890Sopenharmony_ci drm_drawable_t handle; 25822851890Sopenharmony_ci unsigned int type; 25922851890Sopenharmony_ci unsigned int num; 26022851890Sopenharmony_ci unsigned long long data; 26122851890Sopenharmony_ci}; 26222851890Sopenharmony_cistruct drm_auth { 26322851890Sopenharmony_ci drm_magic_t magic; 26422851890Sopenharmony_ci}; 26522851890Sopenharmony_cistruct drm_irq_busid { 26622851890Sopenharmony_ci int irq; 26722851890Sopenharmony_ci int busnum; 26822851890Sopenharmony_ci int devnum; 26922851890Sopenharmony_ci int funcnum; 27022851890Sopenharmony_ci}; 27122851890Sopenharmony_cienum drm_vblank_seq_type { 27222851890Sopenharmony_ci _DRM_VBLANK_ABSOLUTE = 0x0, 27322851890Sopenharmony_ci _DRM_VBLANK_RELATIVE = 0x1, 27422851890Sopenharmony_ci _DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e, 27522851890Sopenharmony_ci _DRM_VBLANK_EVENT = 0x4000000, 27622851890Sopenharmony_ci _DRM_VBLANK_FLIP = 0x8000000, 27722851890Sopenharmony_ci _DRM_VBLANK_NEXTONMISS = 0x10000000, 27822851890Sopenharmony_ci _DRM_VBLANK_SECONDARY = 0x20000000, 27922851890Sopenharmony_ci _DRM_VBLANK_SIGNAL = 0x40000000 28022851890Sopenharmony_ci}; 28122851890Sopenharmony_ci#define _DRM_VBLANK_HIGH_CRTC_SHIFT 1 28222851890Sopenharmony_ci#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE) 28322851890Sopenharmony_ci#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS) 28422851890Sopenharmony_cistruct drm_wait_vblank_request { 28522851890Sopenharmony_ci enum drm_vblank_seq_type type; 28622851890Sopenharmony_ci unsigned int sequence; 28722851890Sopenharmony_ci unsigned long signal; 28822851890Sopenharmony_ci}; 28922851890Sopenharmony_cistruct drm_wait_vblank_reply { 29022851890Sopenharmony_ci enum drm_vblank_seq_type type; 29122851890Sopenharmony_ci unsigned int sequence; 29222851890Sopenharmony_ci long tval_sec; 29322851890Sopenharmony_ci long tval_usec; 29422851890Sopenharmony_ci}; 29522851890Sopenharmony_ciunion drm_wait_vblank { 29622851890Sopenharmony_ci struct drm_wait_vblank_request request; 29722851890Sopenharmony_ci struct drm_wait_vblank_reply reply; 29822851890Sopenharmony_ci}; 29922851890Sopenharmony_ci#define _DRM_PRE_MODESET 1 30022851890Sopenharmony_ci#define _DRM_POST_MODESET 2 30122851890Sopenharmony_cistruct drm_modeset_ctl { 30222851890Sopenharmony_ci __u32 crtc; 30322851890Sopenharmony_ci __u32 cmd; 30422851890Sopenharmony_ci}; 30522851890Sopenharmony_cistruct drm_agp_mode { 30622851890Sopenharmony_ci unsigned long mode; 30722851890Sopenharmony_ci}; 30822851890Sopenharmony_cistruct drm_agp_buffer { 30922851890Sopenharmony_ci unsigned long size; 31022851890Sopenharmony_ci unsigned long handle; 31122851890Sopenharmony_ci unsigned long type; 31222851890Sopenharmony_ci unsigned long physical; 31322851890Sopenharmony_ci}; 31422851890Sopenharmony_cistruct drm_agp_binding { 31522851890Sopenharmony_ci unsigned long handle; 31622851890Sopenharmony_ci unsigned long offset; 31722851890Sopenharmony_ci}; 31822851890Sopenharmony_cistruct drm_agp_info { 31922851890Sopenharmony_ci int agp_version_major; 32022851890Sopenharmony_ci int agp_version_minor; 32122851890Sopenharmony_ci unsigned long mode; 32222851890Sopenharmony_ci unsigned long aperture_base; 32322851890Sopenharmony_ci unsigned long aperture_size; 32422851890Sopenharmony_ci unsigned long memory_allowed; 32522851890Sopenharmony_ci unsigned long memory_used; 32622851890Sopenharmony_ci unsigned short id_vendor; 32722851890Sopenharmony_ci unsigned short id_device; 32822851890Sopenharmony_ci}; 32922851890Sopenharmony_cistruct drm_scatter_gather { 33022851890Sopenharmony_ci unsigned long size; 33122851890Sopenharmony_ci unsigned long handle; 33222851890Sopenharmony_ci}; 33322851890Sopenharmony_cistruct drm_set_version { 33422851890Sopenharmony_ci int drm_di_major; 33522851890Sopenharmony_ci int drm_di_minor; 33622851890Sopenharmony_ci int drm_dd_major; 33722851890Sopenharmony_ci int drm_dd_minor; 33822851890Sopenharmony_ci}; 33922851890Sopenharmony_cistruct drm_gem_close { 34022851890Sopenharmony_ci __u32 handle; 34122851890Sopenharmony_ci __u32 pad; 34222851890Sopenharmony_ci}; 34322851890Sopenharmony_cistruct drm_gem_flink { 34422851890Sopenharmony_ci __u32 handle; 34522851890Sopenharmony_ci __u32 name; 34622851890Sopenharmony_ci}; 34722851890Sopenharmony_cistruct drm_gem_open { 34822851890Sopenharmony_ci __u32 name; 34922851890Sopenharmony_ci __u32 handle; 35022851890Sopenharmony_ci __u64 size; 35122851890Sopenharmony_ci}; 35222851890Sopenharmony_ci#define DRM_CAP_DUMB_BUFFER 0x1 35322851890Sopenharmony_ci#define DRM_CAP_VBLANK_HIGH_CRTC 0x2 35422851890Sopenharmony_ci#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3 35522851890Sopenharmony_ci#define DRM_CAP_DUMB_PREFER_SHADOW 0x4 35622851890Sopenharmony_ci#define DRM_CAP_PRIME 0x5 35722851890Sopenharmony_ci#define DRM_PRIME_CAP_IMPORT 0x1 35822851890Sopenharmony_ci#define DRM_PRIME_CAP_EXPORT 0x2 35922851890Sopenharmony_ci#define DRM_CAP_TIMESTAMP_MONOTONIC 0x6 36022851890Sopenharmony_ci#define DRM_CAP_ASYNC_PAGE_FLIP 0x7 36122851890Sopenharmony_ci#define DRM_CAP_CURSOR_WIDTH 0x8 36222851890Sopenharmony_ci#define DRM_CAP_CURSOR_HEIGHT 0x9 36322851890Sopenharmony_ci#define DRM_CAP_ADDFB2_MODIFIERS 0x10 36422851890Sopenharmony_ci#define DRM_CAP_PAGE_FLIP_TARGET 0x11 36522851890Sopenharmony_ci#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12 36622851890Sopenharmony_ci#define DRM_CAP_SYNCOBJ 0x13 36722851890Sopenharmony_ci#define DRM_CAP_SYNCOBJ_TIMELINE 0x14 36822851890Sopenharmony_cistruct drm_get_cap { 36922851890Sopenharmony_ci __u64 capability; 37022851890Sopenharmony_ci __u64 value; 37122851890Sopenharmony_ci}; 37222851890Sopenharmony_ci#define DRM_CLIENT_CAP_STEREO_3D 1 37322851890Sopenharmony_ci#define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2 37422851890Sopenharmony_ci#define DRM_CLIENT_CAP_ATOMIC 3 37522851890Sopenharmony_ci#define DRM_CLIENT_CAP_ASPECT_RATIO 4 37622851890Sopenharmony_ci#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5 37722851890Sopenharmony_cistruct drm_set_client_cap { 37822851890Sopenharmony_ci __u64 capability; 37922851890Sopenharmony_ci __u64 value; 38022851890Sopenharmony_ci}; 38122851890Sopenharmony_ci#define DRM_RDWR O_RDWR 38222851890Sopenharmony_ci#define DRM_CLOEXEC O_CLOEXEC 38322851890Sopenharmony_cistruct drm_prime_handle { 38422851890Sopenharmony_ci __u32 handle; 38522851890Sopenharmony_ci __u32 flags; 38622851890Sopenharmony_ci __s32 fd; 38722851890Sopenharmony_ci}; 38822851890Sopenharmony_cistruct drm_syncobj_create { 38922851890Sopenharmony_ci __u32 handle; 39022851890Sopenharmony_ci#define DRM_SYNCOBJ_CREATE_SIGNALED (1 << 0) 39122851890Sopenharmony_ci __u32 flags; 39222851890Sopenharmony_ci}; 39322851890Sopenharmony_cistruct drm_syncobj_destroy { 39422851890Sopenharmony_ci __u32 handle; 39522851890Sopenharmony_ci __u32 pad; 39622851890Sopenharmony_ci}; 39722851890Sopenharmony_ci#define DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE (1 << 0) 39822851890Sopenharmony_ci#define DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE (1 << 0) 39922851890Sopenharmony_cistruct drm_syncobj_handle { 40022851890Sopenharmony_ci __u32 handle; 40122851890Sopenharmony_ci __u32 flags; 40222851890Sopenharmony_ci __s32 fd; 40322851890Sopenharmony_ci __u32 pad; 40422851890Sopenharmony_ci}; 40522851890Sopenharmony_cistruct drm_syncobj_transfer { 40622851890Sopenharmony_ci __u32 src_handle; 40722851890Sopenharmony_ci __u32 dst_handle; 40822851890Sopenharmony_ci __u64 src_point; 40922851890Sopenharmony_ci __u64 dst_point; 41022851890Sopenharmony_ci __u32 flags; 41122851890Sopenharmony_ci __u32 pad; 41222851890Sopenharmony_ci}; 41322851890Sopenharmony_ci#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0) 41422851890Sopenharmony_ci#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1) 41522851890Sopenharmony_ci#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) 41622851890Sopenharmony_cistruct drm_syncobj_wait { 41722851890Sopenharmony_ci __u64 handles; 41822851890Sopenharmony_ci __s64 timeout_nsec; 41922851890Sopenharmony_ci __u32 count_handles; 42022851890Sopenharmony_ci __u32 flags; 42122851890Sopenharmony_ci __u32 first_signaled; 42222851890Sopenharmony_ci __u32 pad; 42322851890Sopenharmony_ci}; 42422851890Sopenharmony_cistruct drm_syncobj_timeline_wait { 42522851890Sopenharmony_ci __u64 handles; 42622851890Sopenharmony_ci __u64 points; 42722851890Sopenharmony_ci __s64 timeout_nsec; 42822851890Sopenharmony_ci __u32 count_handles; 42922851890Sopenharmony_ci __u32 flags; 43022851890Sopenharmony_ci __u32 first_signaled; 43122851890Sopenharmony_ci __u32 pad; 43222851890Sopenharmony_ci}; 43322851890Sopenharmony_cistruct drm_syncobj_array { 43422851890Sopenharmony_ci __u64 handles; 43522851890Sopenharmony_ci __u32 count_handles; 43622851890Sopenharmony_ci __u32 pad; 43722851890Sopenharmony_ci}; 43822851890Sopenharmony_ci#define DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED (1 << 0) 43922851890Sopenharmony_cistruct drm_syncobj_timeline_array { 44022851890Sopenharmony_ci __u64 handles; 44122851890Sopenharmony_ci __u64 points; 44222851890Sopenharmony_ci __u32 count_handles; 44322851890Sopenharmony_ci __u32 flags; 44422851890Sopenharmony_ci}; 44522851890Sopenharmony_cistruct drm_crtc_get_sequence { 44622851890Sopenharmony_ci __u32 crtc_id; 44722851890Sopenharmony_ci __u32 active; 44822851890Sopenharmony_ci __u64 sequence; 44922851890Sopenharmony_ci __s64 sequence_ns; 45022851890Sopenharmony_ci}; 45122851890Sopenharmony_ci#define DRM_CRTC_SEQUENCE_RELATIVE 0x00000001 45222851890Sopenharmony_ci#define DRM_CRTC_SEQUENCE_NEXT_ON_MISS 0x00000002 45322851890Sopenharmony_cistruct drm_crtc_queue_sequence { 45422851890Sopenharmony_ci __u32 crtc_id; 45522851890Sopenharmony_ci __u32 flags; 45622851890Sopenharmony_ci __u64 sequence; 45722851890Sopenharmony_ci __u64 user_data; 45822851890Sopenharmony_ci}; 45922851890Sopenharmony_ci#ifdef __cplusplus 46022851890Sopenharmony_ci} 46122851890Sopenharmony_ci#endif 46222851890Sopenharmony_ci#include "drm_mode.h" 46322851890Sopenharmony_ci#ifdef __cplusplus 46422851890Sopenharmony_ciextern "C" { 46522851890Sopenharmony_ci#endif 46622851890Sopenharmony_ci#define DRM_IOCTL_BASE 'd' 46722851890Sopenharmony_ci#define DRM_IO(nr) _IO(DRM_IOCTL_BASE, nr) 46822851890Sopenharmony_ci#define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE, nr, type) 46922851890Sopenharmony_ci#define DRM_IOW(nr,type) _IOW(DRM_IOCTL_BASE, nr, type) 47022851890Sopenharmony_ci#define DRM_IOWR(nr,type) _IOWR(DRM_IOCTL_BASE, nr, type) 47122851890Sopenharmony_ci#define DRM_IOCTL_VERSION DRM_IOWR(0x00, struct drm_version) 47222851890Sopenharmony_ci#define DRM_IOCTL_GET_UNIQUE DRM_IOWR(0x01, struct drm_unique) 47322851890Sopenharmony_ci#define DRM_IOCTL_GET_MAGIC DRM_IOR(0x02, struct drm_auth) 47422851890Sopenharmony_ci#define DRM_IOCTL_IRQ_BUSID DRM_IOWR(0x03, struct drm_irq_busid) 47522851890Sopenharmony_ci#define DRM_IOCTL_GET_MAP DRM_IOWR(0x04, struct drm_map) 47622851890Sopenharmony_ci#define DRM_IOCTL_GET_CLIENT DRM_IOWR(0x05, struct drm_client) 47722851890Sopenharmony_ci#define DRM_IOCTL_GET_STATS DRM_IOR(0x06, struct drm_stats) 47822851890Sopenharmony_ci#define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) 47922851890Sopenharmony_ci#define DRM_IOCTL_MODESET_CTL DRM_IOW(0x08, struct drm_modeset_ctl) 48022851890Sopenharmony_ci#define DRM_IOCTL_GEM_CLOSE DRM_IOW(0x09, struct drm_gem_close) 48122851890Sopenharmony_ci#define DRM_IOCTL_GEM_FLINK DRM_IOWR(0x0a, struct drm_gem_flink) 48222851890Sopenharmony_ci#define DRM_IOCTL_GEM_OPEN DRM_IOWR(0x0b, struct drm_gem_open) 48322851890Sopenharmony_ci#define DRM_IOCTL_GET_CAP DRM_IOWR(0x0c, struct drm_get_cap) 48422851890Sopenharmony_ci#define DRM_IOCTL_SET_CLIENT_CAP DRM_IOW(0x0d, struct drm_set_client_cap) 48522851890Sopenharmony_ci#define DRM_IOCTL_SET_UNIQUE DRM_IOW(0x10, struct drm_unique) 48622851890Sopenharmony_ci#define DRM_IOCTL_AUTH_MAGIC DRM_IOW(0x11, struct drm_auth) 48722851890Sopenharmony_ci#define DRM_IOCTL_BLOCK DRM_IOWR(0x12, struct drm_block) 48822851890Sopenharmony_ci#define DRM_IOCTL_UNBLOCK DRM_IOWR(0x13, struct drm_block) 48922851890Sopenharmony_ci#define DRM_IOCTL_CONTROL DRM_IOW(0x14, struct drm_control) 49022851890Sopenharmony_ci#define DRM_IOCTL_ADD_MAP DRM_IOWR(0x15, struct drm_map) 49122851890Sopenharmony_ci#define DRM_IOCTL_ADD_BUFS DRM_IOWR(0x16, struct drm_buf_desc) 49222851890Sopenharmony_ci#define DRM_IOCTL_MARK_BUFS DRM_IOW(0x17, struct drm_buf_desc) 49322851890Sopenharmony_ci#define DRM_IOCTL_INFO_BUFS DRM_IOWR(0x18, struct drm_buf_info) 49422851890Sopenharmony_ci#define DRM_IOCTL_MAP_BUFS DRM_IOWR(0x19, struct drm_buf_map) 49522851890Sopenharmony_ci#define DRM_IOCTL_FREE_BUFS DRM_IOW(0x1a, struct drm_buf_free) 49622851890Sopenharmony_ci#define DRM_IOCTL_RM_MAP DRM_IOW(0x1b, struct drm_map) 49722851890Sopenharmony_ci#define DRM_IOCTL_SET_SAREA_CTX DRM_IOW(0x1c, struct drm_ctx_priv_map) 49822851890Sopenharmony_ci#define DRM_IOCTL_GET_SAREA_CTX DRM_IOWR(0x1d, struct drm_ctx_priv_map) 49922851890Sopenharmony_ci#define DRM_IOCTL_SET_MASTER DRM_IO(0x1e) 50022851890Sopenharmony_ci#define DRM_IOCTL_DROP_MASTER DRM_IO(0x1f) 50122851890Sopenharmony_ci#define DRM_IOCTL_ADD_CTX DRM_IOWR(0x20, struct drm_ctx) 50222851890Sopenharmony_ci#define DRM_IOCTL_RM_CTX DRM_IOWR(0x21, struct drm_ctx) 50322851890Sopenharmony_ci#define DRM_IOCTL_MOD_CTX DRM_IOW(0x22, struct drm_ctx) 50422851890Sopenharmony_ci#define DRM_IOCTL_GET_CTX DRM_IOWR(0x23, struct drm_ctx) 50522851890Sopenharmony_ci#define DRM_IOCTL_SWITCH_CTX DRM_IOW(0x24, struct drm_ctx) 50622851890Sopenharmony_ci#define DRM_IOCTL_NEW_CTX DRM_IOW(0x25, struct drm_ctx) 50722851890Sopenharmony_ci#define DRM_IOCTL_RES_CTX DRM_IOWR(0x26, struct drm_ctx_res) 50822851890Sopenharmony_ci#define DRM_IOCTL_ADD_DRAW DRM_IOWR(0x27, struct drm_draw) 50922851890Sopenharmony_ci#define DRM_IOCTL_RM_DRAW DRM_IOWR(0x28, struct drm_draw) 51022851890Sopenharmony_ci#define DRM_IOCTL_DMA DRM_IOWR(0x29, struct drm_dma) 51122851890Sopenharmony_ci#define DRM_IOCTL_LOCK DRM_IOW(0x2a, struct drm_lock) 51222851890Sopenharmony_ci#define DRM_IOCTL_UNLOCK DRM_IOW(0x2b, struct drm_lock) 51322851890Sopenharmony_ci#define DRM_IOCTL_FINISH DRM_IOW(0x2c, struct drm_lock) 51422851890Sopenharmony_ci#define DRM_IOCTL_PRIME_HANDLE_TO_FD DRM_IOWR(0x2d, struct drm_prime_handle) 51522851890Sopenharmony_ci#define DRM_IOCTL_PRIME_FD_TO_HANDLE DRM_IOWR(0x2e, struct drm_prime_handle) 51622851890Sopenharmony_ci#define DRM_IOCTL_AGP_ACQUIRE DRM_IO(0x30) 51722851890Sopenharmony_ci#define DRM_IOCTL_AGP_RELEASE DRM_IO(0x31) 51822851890Sopenharmony_ci#define DRM_IOCTL_AGP_ENABLE DRM_IOW(0x32, struct drm_agp_mode) 51922851890Sopenharmony_ci#define DRM_IOCTL_AGP_INFO DRM_IOR(0x33, struct drm_agp_info) 52022851890Sopenharmony_ci#define DRM_IOCTL_AGP_ALLOC DRM_IOWR(0x34, struct drm_agp_buffer) 52122851890Sopenharmony_ci#define DRM_IOCTL_AGP_FREE DRM_IOW(0x35, struct drm_agp_buffer) 52222851890Sopenharmony_ci#define DRM_IOCTL_AGP_BIND DRM_IOW(0x36, struct drm_agp_binding) 52322851890Sopenharmony_ci#define DRM_IOCTL_AGP_UNBIND DRM_IOW(0x37, struct drm_agp_binding) 52422851890Sopenharmony_ci#define DRM_IOCTL_SG_ALLOC DRM_IOWR(0x38, struct drm_scatter_gather) 52522851890Sopenharmony_ci#define DRM_IOCTL_SG_FREE DRM_IOW(0x39, struct drm_scatter_gather) 52622851890Sopenharmony_ci#define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, union drm_wait_vblank) 52722851890Sopenharmony_ci#define DRM_IOCTL_CRTC_GET_SEQUENCE DRM_IOWR(0x3b, struct drm_crtc_get_sequence) 52822851890Sopenharmony_ci#define DRM_IOCTL_CRTC_QUEUE_SEQUENCE DRM_IOWR(0x3c, struct drm_crtc_queue_sequence) 52922851890Sopenharmony_ci#define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, struct drm_update_draw) 53022851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETRESOURCES DRM_IOWR(0xA0, struct drm_mode_card_res) 53122851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETCRTC DRM_IOWR(0xA1, struct drm_mode_crtc) 53222851890Sopenharmony_ci#define DRM_IOCTL_MODE_SETCRTC DRM_IOWR(0xA2, struct drm_mode_crtc) 53322851890Sopenharmony_ci#define DRM_IOCTL_MODE_CURSOR DRM_IOWR(0xA3, struct drm_mode_cursor) 53422851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETGAMMA DRM_IOWR(0xA4, struct drm_mode_crtc_lut) 53522851890Sopenharmony_ci#define DRM_IOCTL_MODE_SETGAMMA DRM_IOWR(0xA5, struct drm_mode_crtc_lut) 53622851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETENCODER DRM_IOWR(0xA6, struct drm_mode_get_encoder) 53722851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETCONNECTOR DRM_IOWR(0xA7, struct drm_mode_get_connector) 53822851890Sopenharmony_ci#define DRM_IOCTL_MODE_ATTACHMODE DRM_IOWR(0xA8, struct drm_mode_mode_cmd) 53922851890Sopenharmony_ci#define DRM_IOCTL_MODE_DETACHMODE DRM_IOWR(0xA9, struct drm_mode_mode_cmd) 54022851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETPROPERTY DRM_IOWR(0xAA, struct drm_mode_get_property) 54122851890Sopenharmony_ci#define DRM_IOCTL_MODE_SETPROPERTY DRM_IOWR(0xAB, struct drm_mode_connector_set_property) 54222851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETPROPBLOB DRM_IOWR(0xAC, struct drm_mode_get_blob) 54322851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETFB DRM_IOWR(0xAD, struct drm_mode_fb_cmd) 54422851890Sopenharmony_ci#define DRM_IOCTL_MODE_ADDFB DRM_IOWR(0xAE, struct drm_mode_fb_cmd) 54522851890Sopenharmony_ci#define DRM_IOCTL_MODE_RMFB DRM_IOWR(0xAF, unsigned int) 54622851890Sopenharmony_ci#define DRM_IOCTL_MODE_PAGE_FLIP DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip) 54722851890Sopenharmony_ci#define DRM_IOCTL_MODE_DIRTYFB DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd) 54822851890Sopenharmony_ci#define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, struct drm_mode_create_dumb) 54922851890Sopenharmony_ci#define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, struct drm_mode_map_dumb) 55022851890Sopenharmony_ci#define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, struct drm_mode_destroy_dumb) 55122851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETPLANERESOURCES DRM_IOWR(0xB5, struct drm_mode_get_plane_res) 55222851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETPLANE DRM_IOWR(0xB6, struct drm_mode_get_plane) 55322851890Sopenharmony_ci#define DRM_IOCTL_MODE_SETPLANE DRM_IOWR(0xB7, struct drm_mode_set_plane) 55422851890Sopenharmony_ci#define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2) 55522851890Sopenharmony_ci#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties) 55622851890Sopenharmony_ci#define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property) 55722851890Sopenharmony_ci#define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2) 55822851890Sopenharmony_ci#define DRM_IOCTL_MODE_ATOMIC DRM_IOWR(0xBC, struct drm_mode_atomic) 55922851890Sopenharmony_ci#define DRM_IOCTL_MODE_CREATEPROPBLOB DRM_IOWR(0xBD, struct drm_mode_create_blob) 56022851890Sopenharmony_ci#define DRM_IOCTL_MODE_DESTROYPROPBLOB DRM_IOWR(0xBE, struct drm_mode_destroy_blob) 56122851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_CREATE DRM_IOWR(0xBF, struct drm_syncobj_create) 56222851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_DESTROY DRM_IOWR(0xC0, struct drm_syncobj_destroy) 56322851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD DRM_IOWR(0xC1, struct drm_syncobj_handle) 56422851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE DRM_IOWR(0xC2, struct drm_syncobj_handle) 56522851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_WAIT DRM_IOWR(0xC3, struct drm_syncobj_wait) 56622851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_RESET DRM_IOWR(0xC4, struct drm_syncobj_array) 56722851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_SIGNAL DRM_IOWR(0xC5, struct drm_syncobj_array) 56822851890Sopenharmony_ci#define DRM_IOCTL_MODE_CREATE_LEASE DRM_IOWR(0xC6, struct drm_mode_create_lease) 56922851890Sopenharmony_ci#define DRM_IOCTL_MODE_LIST_LESSEES DRM_IOWR(0xC7, struct drm_mode_list_lessees) 57022851890Sopenharmony_ci#define DRM_IOCTL_MODE_GET_LEASE DRM_IOWR(0xC8, struct drm_mode_get_lease) 57122851890Sopenharmony_ci#define DRM_IOCTL_MODE_REVOKE_LEASE DRM_IOWR(0xC9, struct drm_mode_revoke_lease) 57222851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT DRM_IOWR(0xCA, struct drm_syncobj_timeline_wait) 57322851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_QUERY DRM_IOWR(0xCB, struct drm_syncobj_timeline_array) 57422851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_TRANSFER DRM_IOWR(0xCC, struct drm_syncobj_transfer) 57522851890Sopenharmony_ci#define DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL DRM_IOWR(0xCD, struct drm_syncobj_timeline_array) 57622851890Sopenharmony_ci#define DRM_IOCTL_MODE_GETFB2 DRM_IOWR(0xCE, struct drm_mode_fb_cmd2) 57722851890Sopenharmony_ci#define DRM_COMMAND_BASE 0x40 57822851890Sopenharmony_ci#define DRM_COMMAND_END 0xA0 57922851890Sopenharmony_cistruct drm_event { 58022851890Sopenharmony_ci __u32 type; 58122851890Sopenharmony_ci __u32 length; 58222851890Sopenharmony_ci}; 58322851890Sopenharmony_ci#define DRM_EVENT_VBLANK 0x01 58422851890Sopenharmony_ci#define DRM_EVENT_FLIP_COMPLETE 0x02 58522851890Sopenharmony_ci#define DRM_EVENT_CRTC_SEQUENCE 0x03 58622851890Sopenharmony_cistruct drm_event_vblank { 58722851890Sopenharmony_ci struct drm_event base; 58822851890Sopenharmony_ci __u64 user_data; 58922851890Sopenharmony_ci __u32 tv_sec; 59022851890Sopenharmony_ci __u32 tv_usec; 59122851890Sopenharmony_ci __u32 sequence; 59222851890Sopenharmony_ci __u32 crtc_id; 59322851890Sopenharmony_ci}; 59422851890Sopenharmony_cistruct drm_event_crtc_sequence { 59522851890Sopenharmony_ci struct drm_event base; 59622851890Sopenharmony_ci __u64 user_data; 59722851890Sopenharmony_ci __s64 time_ns; 59822851890Sopenharmony_ci __u64 sequence; 59922851890Sopenharmony_ci}; 60022851890Sopenharmony_citypedef struct drm_clip_rect drm_clip_rect_t; 60122851890Sopenharmony_citypedef struct drm_drawable_info drm_drawable_info_t; 60222851890Sopenharmony_citypedef struct drm_tex_region drm_tex_region_t; 60322851890Sopenharmony_citypedef struct drm_hw_lock drm_hw_lock_t; 60422851890Sopenharmony_citypedef struct drm_version drm_version_t; 60522851890Sopenharmony_citypedef struct drm_unique drm_unique_t; 60622851890Sopenharmony_citypedef struct drm_list drm_list_t; 60722851890Sopenharmony_citypedef struct drm_block drm_block_t; 60822851890Sopenharmony_citypedef struct drm_control drm_control_t; 60922851890Sopenharmony_citypedef enum drm_map_type drm_map_type_t; 61022851890Sopenharmony_citypedef enum drm_map_flags drm_map_flags_t; 61122851890Sopenharmony_citypedef struct drm_ctx_priv_map drm_ctx_priv_map_t; 61222851890Sopenharmony_citypedef struct drm_map drm_map_t; 61322851890Sopenharmony_citypedef struct drm_client drm_client_t; 61422851890Sopenharmony_citypedef enum drm_stat_type drm_stat_type_t; 61522851890Sopenharmony_citypedef struct drm_stats drm_stats_t; 61622851890Sopenharmony_citypedef enum drm_lock_flags drm_lock_flags_t; 61722851890Sopenharmony_citypedef struct drm_lock drm_lock_t; 61822851890Sopenharmony_citypedef enum drm_dma_flags drm_dma_flags_t; 61922851890Sopenharmony_citypedef struct drm_buf_desc drm_buf_desc_t; 62022851890Sopenharmony_citypedef struct drm_buf_info drm_buf_info_t; 62122851890Sopenharmony_citypedef struct drm_buf_free drm_buf_free_t; 62222851890Sopenharmony_citypedef struct drm_buf_pub drm_buf_pub_t; 62322851890Sopenharmony_citypedef struct drm_buf_map drm_buf_map_t; 62422851890Sopenharmony_citypedef struct drm_dma drm_dma_t; 62522851890Sopenharmony_citypedef union drm_wait_vblank drm_wait_vblank_t; 62622851890Sopenharmony_citypedef struct drm_agp_mode drm_agp_mode_t; 62722851890Sopenharmony_citypedef enum drm_ctx_flags drm_ctx_flags_t; 62822851890Sopenharmony_citypedef struct drm_ctx drm_ctx_t; 62922851890Sopenharmony_citypedef struct drm_ctx_res drm_ctx_res_t; 63022851890Sopenharmony_citypedef struct drm_draw drm_draw_t; 63122851890Sopenharmony_citypedef struct drm_update_draw drm_update_draw_t; 63222851890Sopenharmony_citypedef struct drm_auth drm_auth_t; 63322851890Sopenharmony_citypedef struct drm_irq_busid drm_irq_busid_t; 63422851890Sopenharmony_citypedef enum drm_vblank_seq_type drm_vblank_seq_type_t; 63522851890Sopenharmony_citypedef struct drm_agp_buffer drm_agp_buffer_t; 63622851890Sopenharmony_citypedef struct drm_agp_binding drm_agp_binding_t; 63722851890Sopenharmony_citypedef struct drm_agp_info drm_agp_info_t; 63822851890Sopenharmony_citypedef struct drm_scatter_gather drm_scatter_gather_t; 63922851890Sopenharmony_citypedef struct drm_set_version drm_set_version_t; 64022851890Sopenharmony_ci#ifdef __cplusplus 64122851890Sopenharmony_ci} 64222851890Sopenharmony_ci#endif 64322851890Sopenharmony_ci#endif 644