VSF Documented
Data Structures | Macros | Typedefs | Enumerations
drm.h File Reference
#include <stdint.h>
#include <sys/ioctl.h>

Go to the source code of this file.

Data Structures

struct  drm_lock
 
struct  drm_version
 
struct  drm_unique
 
struct  drm_map
 
struct  drm_client
 
struct  drm_stats
 
struct  drm_set_version
 
struct  drm_auth
 
struct  drm_ctx
 
struct  drm_gem_close
 
struct  drm_gem_flink
 
struct  drm_gem_open
 
struct  drm_prime_handle
 
struct  drm_get_cap
 
struct  drm_set_client_cap
 

Macros

#define DRM_NAME   "drm"
 
#define DRM_IOCTL_BASE   'd'
 
#define _DRM_LOCK_HELD   0x80000000U
 
#define _DRM_LOCK_CONT   0x40000000U
 
#define DRM_CAP_DUMB_BUFFER   0x1
 
#define DRM_CAP_VBLANK_HIGH_CRTC   0x2
 
#define DRM_CAP_DUMB_PREFERRED_DEPTH   0x3
 
#define DRM_CAP_DUMB_PREFER_SHADOW   0x4
 
#define DRM_CAP_PRIME   0x5
 
#define DRM_PRIME_CAP_IMPORT   0x1
 
#define DRM_PRIME_CAP_EXPORT   0x2
 
#define DRM_CAP_TIMESTAMP_MONOTONIC   0x6
 
#define DRM_CAP_ASYNC_PAGE_FLIP   0x7
 
#define DRM_CAP_CURSOR_WIDTH   0x8
 
#define DRM_CAP_CURSOR_HEIGHT   0x9
 
#define DRM_CAP_ADDFB2_MODIFIERS   0x10
 
#define DRM_CAP_PAGE_FLIP_TARGET   0x11
 
#define DRM_CAP_CRTC_IN_VBLANK_EVENT   0x12
 
#define DRM_CAP_SYNCOBJ   0x13
 
#define DRM_CAP_SYNCOBJ_TIMELINE   0x14
 
#define DRM_CLIENT_CAP_STEREO_3D   1
 
#define DRM_CLIENT_CAP_UNIVERSAL_PLANES   2
 
#define DRM_CLIENT_CAP_ATOMIC   3
 
#define DRM_CLIENT_CAP_ASPECT_RATIO   4
 
#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS   5
 
#define DRM_IO(nr)   _IO(DRM_IOCTL_BASE, nr)
 
#define DRM_IOR(nr, type)   _IOR(DRM_IOCTL_BASE, nr, type)
 
#define DRM_IOW(nr, type)   _IOW(DRM_IOCTL_BASE, nr, type)
 
#define DRM_IOWR(nr, type)   _IOWR(DRM_IOCTL_BASE, nr, type)
 
#define DRM_IOCTL_VERSION   DRM_IOWR(0x00, struct drm_version)
 
#define DRM_IOCTL_GET_UNIQUE   DRM_IOWR(0x01, struct drm_unique)
 
#define DRM_IOCTL_GET_MAGIC   DRM_IOR(0x02, struct drm_auth)
 
#define DRM_IOCTL_IRQ_BUSID   DRM_IOWR(0x03, struct drm_irq_busid)
 
#define DRM_IOCTL_GET_MAP   DRM_IOWR(0x04, struct drm_map)
 
#define DRM_IOCTL_GET_CLIENT   DRM_IOWR(0x05, struct drm_client)
 
#define DRM_IOCTL_GET_STATS   DRM_IOR(0x06, struct drm_stats)
 
#define DRM_IOCTL_SET_VERSION   DRM_IOWR(0x07, struct drm_set_version)
 
#define DRM_IOCTL_MODESET_CTL   DRM_IOW(0x08, struct drm_modeset_ctl)
 
#define DRM_IOCTL_GEM_CLOSE   DRM_IOW(0x09, struct drm_gem_close)
 
#define DRM_IOCTL_GEM_FLINK   DRM_IOWR(0x0a, struct drm_gem_flink)
 
#define DRM_IOCTL_GEM_OPEN   DRM_IOWR(0x0b, struct drm_gem_open)
 
#define DRM_IOCTL_GET_CAP   DRM_IOWR(0x0c, struct drm_get_cap)
 
#define DRM_IOCTL_SET_CLIENT_CAP   DRM_IOW(0x0d, struct drm_set_client_cap)
 
#define DRM_IOCTL_SET_MASTER   DRM_IO(0x0e)
 
#define DRM_IOCTL_DROP_MASTER   DRM_IO(0x0f)
 
#define DRM_IOCTL_PRIME_HANDLE_TO_FD   DRM_IOWR(0x12, struct drm_prime_handle)
 
#define DRM_IOCTL_PRIME_FD_TO_HANDLE   DRM_IOWR(0x13, struct drm_prime_handle)
 

Typedefs

typedef uint32_t drm_handle_t
 
typedef uint32_t drm_context_t
 
typedef uint32_t drm_drawable_t
 
typedef uint32_t drm_magic_t
 

Enumerations

enum  drm_map_type {
  DRM_FRAME_BUFFER = 0 ,
  DRM_REGISTERS = 1 ,
  DRM_SHM = 2 ,
  DRM_AGP = 3 ,
  DRM_SCATTER_GATHER = 4 ,
  DRM_CONSISTENT = 5 ,
  DRM_GEM = 6
}
 
enum  drm_map_flags {
  DRM_RESTRICTED = 0x01 ,
  DRM_READ_ONLY = 0x02 ,
  DRM_LOCKED = 0x04 ,
  DRM_KERNEL = 0x08 ,
  DRM_WRITE_COMBINING = 0x10 ,
  DRM_CONTAINS_LOCK = 0x20 ,
  DRM_REMOVABLE = 0x40
}
 
enum  drm_ctx_flags {
  DRM_CONTEXT_PRESERVED = 0x01 ,
  DRM_CONTEXT_2DONLY = 0x02
}
 
enum  drm_dma_flags {
  DRM_DMA_BLOCK = 0x01 ,
  DRM_DMA_WHILE_LOCKED = 0x02 ,
  DRM_DMA_PRIORITY = 0x04 ,
  DRM_DMA_WAIT = 0x10 ,
  DRM_DMA_SMALLER_OK = 0x20 ,
  DRM_DMA_LARGER_OK = 0x40
}
 

Macro Definition Documentation

◆ DRM_NAME

#define DRM_NAME   "drm"

◆ DRM_IOCTL_BASE

#define DRM_IOCTL_BASE   'd'

◆ _DRM_LOCK_HELD

#define _DRM_LOCK_HELD   0x80000000U

◆ _DRM_LOCK_CONT

#define _DRM_LOCK_CONT   0x40000000U

◆ DRM_CAP_DUMB_BUFFER

#define DRM_CAP_DUMB_BUFFER   0x1

◆ DRM_CAP_VBLANK_HIGH_CRTC

#define DRM_CAP_VBLANK_HIGH_CRTC   0x2

◆ DRM_CAP_DUMB_PREFERRED_DEPTH

#define DRM_CAP_DUMB_PREFERRED_DEPTH   0x3

◆ DRM_CAP_DUMB_PREFER_SHADOW

#define DRM_CAP_DUMB_PREFER_SHADOW   0x4

◆ DRM_CAP_PRIME

#define DRM_CAP_PRIME   0x5

◆ DRM_PRIME_CAP_IMPORT

#define DRM_PRIME_CAP_IMPORT   0x1

◆ DRM_PRIME_CAP_EXPORT

#define DRM_PRIME_CAP_EXPORT   0x2

◆ DRM_CAP_TIMESTAMP_MONOTONIC

#define DRM_CAP_TIMESTAMP_MONOTONIC   0x6

◆ DRM_CAP_ASYNC_PAGE_FLIP

#define DRM_CAP_ASYNC_PAGE_FLIP   0x7

◆ DRM_CAP_CURSOR_WIDTH

#define DRM_CAP_CURSOR_WIDTH   0x8

◆ DRM_CAP_CURSOR_HEIGHT

#define DRM_CAP_CURSOR_HEIGHT   0x9

◆ DRM_CAP_ADDFB2_MODIFIERS

#define DRM_CAP_ADDFB2_MODIFIERS   0x10

◆ DRM_CAP_PAGE_FLIP_TARGET

#define DRM_CAP_PAGE_FLIP_TARGET   0x11

◆ DRM_CAP_CRTC_IN_VBLANK_EVENT

#define DRM_CAP_CRTC_IN_VBLANK_EVENT   0x12

◆ DRM_CAP_SYNCOBJ

#define DRM_CAP_SYNCOBJ   0x13

◆ DRM_CAP_SYNCOBJ_TIMELINE

#define DRM_CAP_SYNCOBJ_TIMELINE   0x14

◆ DRM_CLIENT_CAP_STEREO_3D

#define DRM_CLIENT_CAP_STEREO_3D   1

◆ DRM_CLIENT_CAP_UNIVERSAL_PLANES

#define DRM_CLIENT_CAP_UNIVERSAL_PLANES   2

◆ DRM_CLIENT_CAP_ATOMIC

#define DRM_CLIENT_CAP_ATOMIC   3

◆ DRM_CLIENT_CAP_ASPECT_RATIO

#define DRM_CLIENT_CAP_ASPECT_RATIO   4

◆ DRM_CLIENT_CAP_WRITEBACK_CONNECTORS

#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS   5

◆ DRM_IO

#define DRM_IO (   nr)    _IO(DRM_IOCTL_BASE, nr)

◆ DRM_IOR

#define DRM_IOR (   nr,
  type 
)    _IOR(DRM_IOCTL_BASE, nr, type)

◆ DRM_IOW

#define DRM_IOW (   nr,
  type 
)    _IOW(DRM_IOCTL_BASE, nr, type)

◆ DRM_IOWR

#define DRM_IOWR (   nr,
  type 
)    _IOWR(DRM_IOCTL_BASE, nr, type)

◆ DRM_IOCTL_VERSION

#define DRM_IOCTL_VERSION   DRM_IOWR(0x00, struct drm_version)

◆ DRM_IOCTL_GET_UNIQUE

#define DRM_IOCTL_GET_UNIQUE   DRM_IOWR(0x01, struct drm_unique)

◆ DRM_IOCTL_GET_MAGIC

#define DRM_IOCTL_GET_MAGIC   DRM_IOR(0x02, struct drm_auth)

◆ DRM_IOCTL_IRQ_BUSID

#define DRM_IOCTL_IRQ_BUSID   DRM_IOWR(0x03, struct drm_irq_busid)

◆ DRM_IOCTL_GET_MAP

#define DRM_IOCTL_GET_MAP   DRM_IOWR(0x04, struct drm_map)

◆ DRM_IOCTL_GET_CLIENT

#define DRM_IOCTL_GET_CLIENT   DRM_IOWR(0x05, struct drm_client)

◆ DRM_IOCTL_GET_STATS

#define DRM_IOCTL_GET_STATS   DRM_IOR(0x06, struct drm_stats)

◆ DRM_IOCTL_SET_VERSION

#define DRM_IOCTL_SET_VERSION   DRM_IOWR(0x07, struct drm_set_version)

◆ DRM_IOCTL_MODESET_CTL

#define DRM_IOCTL_MODESET_CTL   DRM_IOW(0x08, struct drm_modeset_ctl)

◆ DRM_IOCTL_GEM_CLOSE

#define DRM_IOCTL_GEM_CLOSE   DRM_IOW(0x09, struct drm_gem_close)

◆ DRM_IOCTL_GEM_FLINK

#define DRM_IOCTL_GEM_FLINK   DRM_IOWR(0x0a, struct drm_gem_flink)

◆ DRM_IOCTL_GEM_OPEN

#define DRM_IOCTL_GEM_OPEN   DRM_IOWR(0x0b, struct drm_gem_open)

◆ DRM_IOCTL_GET_CAP

#define DRM_IOCTL_GET_CAP   DRM_IOWR(0x0c, struct drm_get_cap)

◆ DRM_IOCTL_SET_CLIENT_CAP

#define DRM_IOCTL_SET_CLIENT_CAP   DRM_IOW(0x0d, struct drm_set_client_cap)

◆ DRM_IOCTL_SET_MASTER

#define DRM_IOCTL_SET_MASTER   DRM_IO(0x0e)

◆ DRM_IOCTL_DROP_MASTER

#define DRM_IOCTL_DROP_MASTER   DRM_IO(0x0f)

◆ DRM_IOCTL_PRIME_HANDLE_TO_FD

#define DRM_IOCTL_PRIME_HANDLE_TO_FD   DRM_IOWR(0x12, struct drm_prime_handle)

◆ DRM_IOCTL_PRIME_FD_TO_HANDLE

#define DRM_IOCTL_PRIME_FD_TO_HANDLE   DRM_IOWR(0x13, struct drm_prime_handle)

Typedef Documentation

◆ drm_handle_t

◆ drm_context_t

◆ drm_drawable_t

◆ drm_magic_t

Enumeration Type Documentation

◆ drm_map_type

Enumerator
DRM_FRAME_BUFFER 
DRM_REGISTERS 
DRM_SHM 
DRM_AGP 
DRM_SCATTER_GATHER 
DRM_CONSISTENT 
DRM_GEM 

◆ drm_map_flags

Enumerator
DRM_RESTRICTED 
DRM_READ_ONLY 
DRM_LOCKED 
DRM_KERNEL 
DRM_WRITE_COMBINING 
DRM_CONTAINS_LOCK 
DRM_REMOVABLE 

◆ drm_ctx_flags

Enumerator
DRM_CONTEXT_PRESERVED 
DRM_CONTEXT_2DONLY 

◆ drm_dma_flags

Enumerator
DRM_DMA_BLOCK 
DRM_DMA_WHILE_LOCKED 
DRM_DMA_PRIORITY 
DRM_DMA_WAIT 
DRM_DMA_SMALLER_OK 
DRM_DMA_LARGER_OK 
Generated from commit: vsfteam/vsf@85be636