36,7 → 36,7 |
#ifndef _XF86DRMMODE_H_ |
#define _XF86DRMMODE_H_ |
|
#if defined(__cplusplus) || defined(c_plusplus) |
#if defined(__cplusplus) |
extern "C" { |
#endif |
|
240,6 → 240,15 |
uint32_t *blob_ids; /* store the blob IDs */ |
} drmModePropertyRes, *drmModePropertyPtr; |
|
static __inline int drm_property_type_is(drmModePropertyPtr property, |
uint32_t type) |
{ |
/* instanceof for props.. handles extended type vs original types: */ |
if (property->flags & DRM_MODE_PROP_EXTENDED_TYPE) |
return (property->flags & DRM_MODE_PROP_EXTENDED_TYPE) == type; |
return property->flags & type; |
} |
|
typedef struct _drmModeCrtc { |
uint32_t crtc_id; |
uint32_t buffer_id; /**< FB id to connect to 0 = disconnect */ |
413,12 → 422,25 |
*/ |
|
/** |
* Retrive information about the connector connectorId. |
* Retrieve all information about the connector connectorId. This will do a |
* forced probe on the connector to retrieve remote information such as EDIDs |
* from the display device. |
*/ |
extern drmModeConnectorPtr drmModeGetConnector(int fd, |
uint32_t connectorId); |
|
/** |
* Retrieve current information, i.e the currently active mode and encoder, |
* about the connector connectorId. This will not do any probing on the |
* connector or remote device, and only reports what is currently known. |
* For the complete set of modes and encoders associated with the connector |
* use drmModeGetConnector() which will do a probe to determine any display |
* link changes first. |
*/ |
extern drmModeConnectorPtr drmModeGetConnectorCurrent(int fd, |
uint32_t connector_id); |
|
/** |
* Attaches the given mode to an connector. |
*/ |
extern int drmModeAttachMode(int fd, uint32_t connectorId, drmModeModeInfoPtr mode_info); |
462,7 → 484,31 |
uint32_t object_type, uint32_t property_id, |
uint64_t value); |
|
#if defined(__cplusplus) || defined(c_plusplus) |
|
typedef struct _drmModeAtomicReq drmModeAtomicReq, *drmModeAtomicReqPtr; |
|
extern drmModeAtomicReqPtr drmModeAtomicAlloc(void); |
extern drmModeAtomicReqPtr drmModeAtomicDuplicate(drmModeAtomicReqPtr req); |
extern int drmModeAtomicMerge(drmModeAtomicReqPtr base, |
drmModeAtomicReqPtr augment); |
extern void drmModeAtomicFree(drmModeAtomicReqPtr req); |
extern int drmModeAtomicGetCursor(drmModeAtomicReqPtr req); |
extern void drmModeAtomicSetCursor(drmModeAtomicReqPtr req, int cursor); |
extern int drmModeAtomicAddProperty(drmModeAtomicReqPtr req, |
uint32_t object_id, |
uint32_t property_id, |
uint64_t value); |
extern int drmModeAtomicCommit(int fd, |
drmModeAtomicReqPtr req, |
uint32_t flags, |
void *user_data); |
|
extern int drmModeCreatePropertyBlob(int fd, const void *data, size_t size, |
uint32_t *id); |
extern int drmModeDestroyPropertyBlob(int fd, uint32_t id); |
|
|
#if defined(__cplusplus) |
} |
#endif |
|