forked from enlightenment/efl
Add code to open a drm device
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
6c6aef928c
commit
845994c441
|
@ -18,6 +18,8 @@
|
||||||
#include <Eina.h>
|
#include <Eina.h>
|
||||||
#include <Ecore_Drm.h>
|
#include <Ecore_Drm.h>
|
||||||
|
|
||||||
|
static int _send_msg(int opcode, int fd, void *data, size_t bytes);
|
||||||
|
|
||||||
static struct cmsghdr *cmsgptr = NULL;
|
static struct cmsghdr *cmsgptr = NULL;
|
||||||
static int _read_fd = -1;
|
static int _read_fd = -1;
|
||||||
static int _write_fd = -1;
|
static int _write_fd = -1;
|
||||||
|
@ -39,6 +41,20 @@ static int _write_fd = -1;
|
||||||
(_iov)->iov_base = (void *)(_addr); \
|
(_iov)->iov_base = (void *)(_addr); \
|
||||||
(_iov)->iov_len = (_len);
|
(_iov)->iov_len = (_len);
|
||||||
|
|
||||||
|
static int
|
||||||
|
_open_device(const char *device)
|
||||||
|
{
|
||||||
|
int fd = -1, ret = ECORE_DRM_OP_SUCCESS;
|
||||||
|
|
||||||
|
if ((fd = open(device, O_RDWR)) < 0)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Failed to open device: %s: %m\n", device);
|
||||||
|
ret = ECORE_DRM_OP_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_read_fd_get(void)
|
_read_fd_get(void)
|
||||||
{
|
{
|
||||||
|
@ -139,7 +155,7 @@ _send_msg(int opcode, int fd, void *data, size_t bytes)
|
||||||
static int
|
static int
|
||||||
_recv_msg(void)
|
_recv_msg(void)
|
||||||
{
|
{
|
||||||
/* int ret = -1; */
|
int ret = -1;
|
||||||
Ecore_Drm_Message dmsg;
|
Ecore_Drm_Message dmsg;
|
||||||
struct iovec iov[2];
|
struct iovec iov[2];
|
||||||
struct msghdr msg;
|
struct msghdr msg;
|
||||||
|
@ -193,6 +209,7 @@ _recv_msg(void)
|
||||||
{
|
{
|
||||||
case ECORE_DRM_OP_DEVICE_OPEN:
|
case ECORE_DRM_OP_DEVICE_OPEN:
|
||||||
fprintf(stderr, "Open Device: %s\n", (char *)data);
|
fprintf(stderr, "Open Device: %s\n", (char *)data);
|
||||||
|
ret = _open_device((char *)data);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "Unhandled Opcode: %d\n", dmsg.opcode);
|
fprintf(stderr, "Unhandled Opcode: %d\n", dmsg.opcode);
|
||||||
|
|
Loading…
Reference in New Issue