summaryrefslogtreecommitdiffstats
path: root/adb/framebuffer_service.c
diff options
context:
space:
mode:
Diffstat (limited to 'adb/framebuffer_service.c')
-rw-r--r--adb/framebuffer_service.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/adb/framebuffer_service.c b/adb/framebuffer_service.c
index 1d2c4b56b..0de0dd5e6 100644
--- a/adb/framebuffer_service.c
+++ b/adb/framebuffer_service.c
@@ -24,6 +24,7 @@
#include "adb.h"
#include <linux/fb.h>
+#include <sys/ioctl.h>
#include <sys/mman.h>
/* TODO:
@@ -37,9 +38,9 @@ void framebuffer_service(int fd, void *cookie)
int fb;
void *ptr = MAP_FAILED;
char x;
-
+
unsigned fbinfo[4];
-
+
fb = open("/dev/graphics/fb0", O_RDONLY);
if(fb < 0) goto done;
@@ -53,14 +54,14 @@ void framebuffer_service(int fd, void *cookie)
ptr = mmap(0, fbinfo[1], PROT_READ, MAP_SHARED, fb, 0);
if(ptr == MAP_FAILED) goto done;
-
+
if(writex(fd, fbinfo, sizeof(unsigned) * 4)) goto done;
for(;;) {
if(readx(fd, &x, 1)) goto done;
if(writex(fd, ptr, fbinfo[1])) goto done;
}
-
+
done:
if(ptr != MAP_FAILED) munmap(ptr, fbinfo[1]);
if(fb >= 0) close(fb);