aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/port_SUITE_data/echo_drv.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-12-07 11:15:58 +0100
committerBjörn Gustavsson <[email protected]>2011-12-09 11:46:28 +0100
commit18b493eb2adf943037c37f99977811de22635e77 (patch)
treefac2657783d99954c9f0b64eae12c9861c65e8e7 /erts/emulator/test/port_SUITE_data/echo_drv.c
parentbe84eaa111299aa575cde2c2bb9f88fb11274025 (diff)
downloadotp-18b493eb2adf943037c37f99977811de22635e77.tar.gz
otp-18b493eb2adf943037c37f99977811de22635e77.tar.bz2
otp-18b493eb2adf943037c37f99977811de22635e77.zip
port_SUITE_data/*_drv.c: Conform to updated driver API
While at it, eliminate compilation warnings. Eliminate the control callback if it is not used.
Diffstat (limited to 'erts/emulator/test/port_SUITE_data/echo_drv.c')
-rw-r--r--erts/emulator/test/port_SUITE_data/echo_drv.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/erts/emulator/test/port_SUITE_data/echo_drv.c b/erts/emulator/test/port_SUITE_data/echo_drv.c
index 25eda116fe..1d39c6a00c 100644
--- a/erts/emulator/test/port_SUITE_data/echo_drv.c
+++ b/erts/emulator/test/port_SUITE_data/echo_drv.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <string.h>
#include "erl_driver.h"
@@ -17,11 +18,9 @@ typedef struct _erl_drv_data EchoDrvData;
static EchoDrvData *echo_drv_start(ErlDrvPort port, char *command);
static void echo_drv_stop(EchoDrvData *data_p);
-static void echo_drv_output(EchoDrvData *data_p, char *buf, int len);
+static void echo_drv_output(ErlDrvData drv_data, char *buf,
+ ErlDrvSizeT len);
static void echo_drv_finish(void);
-static int echo_drv_control(EchoDrvData *data_p, unsigned int command,
- char *buf, int len,
- char **rbuf, int rlen);
static ErlDrvEntry echo_drv_entry = {
NULL, /* init */
@@ -33,10 +32,20 @@ static ErlDrvEntry echo_drv_entry = {
"echo_drv",
echo_drv_finish,
NULL, /* handle */
- echo_drv_control,
+ NULL, /* control */
NULL, /* timeout */
NULL, /* outputv */
- NULL /* ready_async */
+ NULL, /* ready_async */
+ NULL,
+ NULL,
+ NULL,
+ ERL_DRV_EXTENDED_MARKER,
+ ERL_DRV_EXTENDED_MAJOR_VERSION,
+ ERL_DRV_EXTENDED_MINOR_VERSION,
+ 0,
+ NULL,
+ NULL,
+ NULL,
};
@@ -68,7 +77,8 @@ static EchoDrvData *echo_drv_start(ErlDrvPort port, char *command) {
static void echo_drv_stop(EchoDrvData *data_p) {
}
-static void echo_drv_output(EchoDrvData *data_p, char *buf, int len) {
+static void echo_drv_output(ErlDrvData drv_data, char *buf, ErlDrvSizeT len) {
+ EchoDrvData *data_p = (EchoDrvData *) drv_data;
void *void_ptr;
ErlDrvPort port = void_ptr = data_p;
@@ -77,9 +87,3 @@ static void echo_drv_output(EchoDrvData *data_p, char *buf, int len) {
static void echo_drv_finish() {
}
-
-static int echo_drv_control(EchoDrvData *data_p, unsigned int command,
- char *buf, int len,
- char **rbuf, int rlen) {
- return 0;
-}