summaryrefslogtreecommitdiffstats
path: root/devel/esdl/files/patch-c__src_esdl__driver.c
blob: b80d7a86967b8ded8697b563cd5c50a9946acdfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

$FreeBSD$

--- c_src/esdl_driver.c.orig
+++ c_src/esdl_driver.c
@@ -34,11 +34,16 @@
 
 #define TEMP_BINARY_SIZE 512
 
+#if ERL_DRV_EXTENDED_MAJOR_VERSION < 2
+typedef int ErlDrvSizeT;
+typedef int ErlDrvSSizeT;
+#endif
+
 static ErlDrvData sdl_driver_start(ErlDrvPort port, char *buff);
 static void sdl_driver_stop(ErlDrvData handle);
 static void sdl_driver_finish(void);
-static int sdl_driver_control(ErlDrvData handle, unsigned int command, 
-			      char* buf, int count, char** res, int res_size);
+static ErlDrvSSizeT sdl_driver_control(ErlDrvData handle, unsigned int command, 
+			      char* buf, ErlDrvSizeT count, char** res, ErlDrvSizeT res_size);
 static void standard_outputv(ErlDrvData drv_data, ErlIOVec *ev);
 
 /*
@@ -59,6 +64,17 @@
     sdl_driver_control,    /* F_PTR control, port_control callback */
     NULL,                  /* F_PTR timeout, reserved */
     standard_outputv,	   /* F_PTR outputv, reserved */
+    NULL,
+    NULL,
+    NULL,
+    NULL,
+    ERL_DRV_EXTENDED_MARKER,
+    ERL_DRV_EXTENDED_MAJOR_VERSION,
+    ERL_DRV_EXTENDED_MINOR_VERSION,
+    0,
+    NULL,
+    NULL,
+    NULL
 };
 
 DRIVER_INIT(sdl_driver)
@@ -148,9 +164,9 @@
 {
 }
 
-static int
+static ErlDrvSSizeT
 sdl_driver_control(ErlDrvData handle, unsigned op,
-		   char* buf, int count, char** res, int res_size)
+		   char* buf, ErlDrvSizeT count, char** res, ErlDrvSizeT res_size)
 {
   sdl_data* sd = (sdl_data *) handle;
   sdl_fun func;
OpenPOWER on IntegriCloud