Logo Search packages:      
Sourcecode: linux version File versions  Download package

drm.h File Reference


Detailed Description

Header for the Direct Rendering Manager

Author:
Rickard E. (Rik) Faith <faith@valinux.com>
Acknowledgments:
Dec 1999, Richard Henderson <rth@twiddle.net>, move to generic cmpxchg.

Definition in file drm.h.

Go to the source code of this file.

Classes

struct  drm_agp_binding
struct  drm_agp_buffer
struct  drm_agp_info
struct  drm_agp_mode
struct  drm_auth
struct  drm_block
struct  drm_buf_desc
struct  drm_buf_free
struct  drm_buf_info
struct  drm_buf_map
struct  drm_buf_pub
struct  drm_client
struct  drm_clip_rect
struct  drm_control
struct  drm_ctx
struct  drm_ctx_priv_map
struct  drm_ctx_res
struct  drm_dma
struct  drm_draw
struct  drm_drawable_info
struct  drm_hw_lock
struct  drm_irq_busid
struct  drm_list
struct  drm_lock
struct  drm_map
struct  drm_scatter_gather
struct  drm_set_version
struct  drm_stats
struct  drm_tex_region
struct  drm_unique
struct  drm_update_draw
struct  drm_version
union  drm_wait_vblank
struct  drm_wait_vblank_reply
struct  drm_wait_vblank_request

Defines

#define _DRM_LOCK_CONT   0x40000000U
#define _DRM_LOCK_HELD   0x80000000U
#define _DRM_LOCK_IS_CONT(lock)   ((lock) & _DRM_LOCK_CONT)
#define _DRM_LOCK_IS_HELD(lock)   ((lock) & _DRM_LOCK_HELD)
#define _DRM_LOCKING_CONTEXT(lock)   ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
#define _DRM_VBLANK_FLAGS_MASK
#define _DRM_VBLANK_TYPES_MASK   (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)
#define DRM_COMMAND_BASE   0x40
#define DRM_COMMAND_END   0xA0
#define DRM_IO(nr)   _IO(DRM_IOCTL_BASE,nr)
#define DRM_IOCTL_ADD_BUFS   DRM_IOWR(0x16, struct drm_buf_desc)
#define DRM_IOCTL_ADD_CTX   DRM_IOWR(0x20, struct drm_ctx)
#define DRM_IOCTL_ADD_DRAW   DRM_IOWR(0x27, struct drm_draw)
#define DRM_IOCTL_ADD_MAP   DRM_IOWR(0x15, struct drm_map)
#define DRM_IOCTL_AGP_ACQUIRE   DRM_IO( 0x30)
#define DRM_IOCTL_AGP_ALLOC   DRM_IOWR(0x34, struct drm_agp_buffer)
#define DRM_IOCTL_AGP_BIND   DRM_IOW( 0x36, struct drm_agp_binding)
#define DRM_IOCTL_AGP_ENABLE   DRM_IOW( 0x32, struct drm_agp_mode)
#define DRM_IOCTL_AGP_FREE   DRM_IOW( 0x35, struct drm_agp_buffer)
#define DRM_IOCTL_AGP_INFO   DRM_IOR( 0x33, struct drm_agp_info)
#define DRM_IOCTL_AGP_RELEASE   DRM_IO( 0x31)
#define DRM_IOCTL_AGP_UNBIND   DRM_IOW( 0x37, struct drm_agp_binding)
#define DRM_IOCTL_AUTH_MAGIC   DRM_IOW( 0x11, struct drm_auth)
#define DRM_IOCTL_BASE   'd'
#define DRM_IOCTL_BLOCK   DRM_IOWR(0x12, struct drm_block)
#define DRM_IOCTL_CONTROL   DRM_IOW( 0x14, struct drm_control)
#define DRM_IOCTL_DMA   DRM_IOWR(0x29, struct drm_dma)
#define DRM_IOCTL_FINISH   DRM_IOW( 0x2c, struct drm_lock)
#define DRM_IOCTL_FREE_BUFS   DRM_IOW( 0x1a, struct drm_buf_free)
#define DRM_IOCTL_GET_CLIENT   DRM_IOWR(0x05, struct drm_client)
#define DRM_IOCTL_GET_CTX   DRM_IOWR(0x23, struct drm_ctx)
#define DRM_IOCTL_GET_MAGIC   DRM_IOR( 0x02, struct drm_auth)
#define DRM_IOCTL_GET_MAP   DRM_IOWR(0x04, struct drm_map)
#define DRM_IOCTL_GET_SAREA_CTX   DRM_IOWR(0x1d, struct drm_ctx_priv_map)
#define DRM_IOCTL_GET_STATS   DRM_IOR( 0x06, struct drm_stats)
#define DRM_IOCTL_GET_UNIQUE   DRM_IOWR(0x01, struct drm_unique)
#define DRM_IOCTL_INFO_BUFS   DRM_IOWR(0x18, struct drm_buf_info)
#define DRM_IOCTL_IRQ_BUSID   DRM_IOWR(0x03, struct drm_irq_busid)
#define DRM_IOCTL_LOCK   DRM_IOW( 0x2a, struct drm_lock)
#define DRM_IOCTL_MAP_BUFS   DRM_IOWR(0x19, struct drm_buf_map)
#define DRM_IOCTL_MARK_BUFS   DRM_IOW( 0x17, struct drm_buf_desc)
#define DRM_IOCTL_MOD_CTX   DRM_IOW( 0x22, struct drm_ctx)
#define DRM_IOCTL_NEW_CTX   DRM_IOW( 0x25, struct drm_ctx)
#define DRM_IOCTL_RES_CTX   DRM_IOWR(0x26, struct drm_ctx_res)
#define DRM_IOCTL_RM_CTX   DRM_IOWR(0x21, struct drm_ctx)
#define DRM_IOCTL_RM_DRAW   DRM_IOWR(0x28, struct drm_draw)
#define DRM_IOCTL_RM_MAP   DRM_IOW( 0x1b, struct drm_map)
#define DRM_IOCTL_SET_SAREA_CTX   DRM_IOW( 0x1c, struct drm_ctx_priv_map)
#define DRM_IOCTL_SET_UNIQUE   DRM_IOW( 0x10, struct drm_unique)
#define DRM_IOCTL_SET_VERSION   DRM_IOWR(0x07, struct drm_set_version)
#define DRM_IOCTL_SG_ALLOC   DRM_IOW( 0x38, struct drm_scatter_gather)
#define DRM_IOCTL_SG_FREE   DRM_IOW( 0x39, struct drm_scatter_gather)
#define DRM_IOCTL_SWITCH_CTX   DRM_IOW( 0x24, struct drm_ctx)
#define DRM_IOCTL_UNBLOCK   DRM_IOWR(0x13, struct drm_block)
#define DRM_IOCTL_UNLOCK   DRM_IOW( 0x2b, struct drm_lock)
#define DRM_IOCTL_UPDATE_DRAW   DRM_IOW(0x3f, struct drm_update_draw)
#define DRM_IOCTL_VERSION   DRM_IOWR(0x00, struct drm_version)
#define DRM_IOCTL_WAIT_VBLANK   DRM_IOWR(0x3a, union drm_wait_vblank)
#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_MAJOR   226
#define DRM_MAX_MINOR   15
#define DRM_MAX_ORDER   22
#define DRM_MIN_ORDER   5
#define DRM_NAME   "drm"
#define DRM_RAM_PERCENT   10

Typedefs

typedef struct drm_agp_binding drm_agp_binding_t
typedef struct drm_agp_buffer drm_agp_buffer_t
typedef struct drm_agp_info drm_agp_info_t
typedef struct drm_agp_mode drm_agp_mode_t
typedef struct drm_auth drm_auth_t
typedef struct drm_block drm_block_t
typedef struct drm_buf_desc drm_buf_desc_t
typedef struct drm_buf_free drm_buf_free_t
typedef struct drm_buf_info drm_buf_info_t
typedef struct drm_buf_map drm_buf_map_t
typedef struct drm_buf_pub drm_buf_pub_t
typedef struct drm_client drm_client_t
typedef struct drm_clip_rect drm_clip_rect_t
typedef unsigned int drm_context_t
typedef struct drm_control drm_control_t
typedef enum drm_ctx_flags drm_ctx_flags_t
typedef struct drm_ctx_priv_map drm_ctx_priv_map_t
typedef struct drm_ctx_res drm_ctx_res_t
typedef struct drm_ctx drm_ctx_t
typedef enum drm_dma_flags drm_dma_flags_t
typedef struct drm_dma drm_dma_t
typedef struct drm_draw drm_draw_t
typedef struct drm_drawable_info drm_drawable_info_t
typedef unsigned int drm_drawable_t
typedef unsigned int drm_handle_t
typedef struct drm_hw_lock drm_hw_lock_t
typedef struct drm_irq_busid drm_irq_busid_t
typedef struct drm_list drm_list_t
typedef enum drm_lock_flags drm_lock_flags_t
typedef struct drm_lock drm_lock_t
typedef unsigned int drm_magic_t
typedef enum drm_map_flags drm_map_flags_t
typedef struct drm_map drm_map_t
typedef enum drm_map_type drm_map_type_t
typedef struct drm_scatter_gather drm_scatter_gather_t
typedef struct drm_set_version drm_set_version_t
typedef enum drm_stat_type drm_stat_type_t
typedef struct drm_stats drm_stats_t
typedef struct drm_tex_region drm_tex_region_t
typedef struct drm_unique drm_unique_t
typedef struct drm_update_draw drm_update_draw_t
typedef enum drm_vblank_seq_type drm_vblank_seq_type_t
typedef struct drm_version drm_version_t
typedef union drm_wait_vblank drm_wait_vblank_t

Enumerations

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
}
enum  drm_drawable_info_type_t { DRM_DRAWABLE_CLIPRECTS }
enum  drm_lock_flags {
  _DRM_LOCK_READY = 0x01, _DRM_LOCK_QUIESCENT = 0x02, _DRM_LOCK_FLUSH = 0x04, _DRM_LOCK_FLUSH_ALL = 0x08,
  _DRM_HALT_ALL_QUEUES = 0x10, _DRM_HALT_CUR_QUEUES = 0x20
}
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_map_type {
  _DRM_FRAME_BUFFER = 0, _DRM_REGISTERS = 1, _DRM_SHM = 2, _DRM_AGP = 3,
  _DRM_SCATTER_GATHER = 4, _DRM_CONSISTENT = 5
}
enum  drm_stat_type {
  _DRM_STAT_LOCK, _DRM_STAT_OPENS, _DRM_STAT_CLOSES, _DRM_STAT_IOCTLS,
  _DRM_STAT_LOCKS, _DRM_STAT_UNLOCKS, _DRM_STAT_VALUE, _DRM_STAT_BYTE,
  _DRM_STAT_COUNT, _DRM_STAT_IRQ, _DRM_STAT_PRIMARY, _DRM_STAT_SECONDARY,
  _DRM_STAT_DMA, _DRM_STAT_SPECIAL, _DRM_STAT_MISSED
}
enum  drm_vblank_seq_type {
  _DRM_VBLANK_ABSOLUTE = 0x0, _DRM_VBLANK_RELATIVE = 0x1, _DRM_VBLANK_NEXTONMISS = 0x10000000, _DRM_VBLANK_SECONDARY = 0x20000000,
  _DRM_VBLANK_SIGNAL = 0x40000000
}


Generated by  Doxygen 1.6.0   Back to index