diff options
author | Björn Gustavsson <[email protected]> | 2011-12-09 12:33:08 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-12-09 12:33:08 +0100 |
commit | 7bd353a976a0bf4d93b962376daa0d38958335d0 (patch) | |
tree | 2fac432e0077eed23aa4df31500928628628b362 /lib/erl_interface | |
parent | 4a7dfc9733d8af85955baefc79bcff7d72971d68 (diff) | |
parent | deca218163838f88ade8f62eca60d8d67db00f0d (diff) | |
download | otp-7bd353a976a0bf4d93b962376daa0d38958335d0.tar.gz otp-7bd353a976a0bf4d93b962376daa0d38958335d0.tar.bz2 otp-7bd353a976a0bf4d93b962376daa0d38958335d0.zip |
Merge branch 'raimo/64-bit-driver-api/OTP-9795'
* raimo/64-bit-driver-api/OTP-9795: (22 commits)
driver_SUITE.erl: Fix sys info drivers
emulator test drivers: Conform to updated driver API
runtime_tools's drivers: Conform to updated driver API
ws's xwe_driver.c: Conform to updated driver API
megaco's flex scanner: Conform to updated driver API
seq_trace_SUITE_data/echo_drv.c: Conform to updated driver API
erl_interface tests: Conform port_call_drv.c updated driver API
erl_drv_thread_SUITE_data/testcase_driver.c: Conform to updated driver API
float_SUITE_data/fp_drv.c: Conform to updated driver API
port_SUITE_data/*_drv.c: Conform to updated driver API
port_bif_SUITE_data/control_drv.c: Conform to updated driver API
send_term_SUITE_data/send_term_drv.c: Conform to updated driver API
system_profile_SUITE_data/echo_drv.c: Conform to updated driver API
trace_port_SUITE_data/echo_drv.c: Conform to updated driver API
Remove support for old drivers without ERL_DRV_EXTENDED_MARKER
built-in drivers: Add ERL_DRV_EXTENDED_MARKER and version numbers
Bump driver version to 2.0
erl_driver.h: Enlarge type on return value from call
erl_driver.h: Enlarge types on driver callbacks output, control and call
erl_driver.h: Enlarge types in driver output functions
...
Conflicts:
erts/emulator/test/driver_SUITE_data/monitor_drv.c
erts/emulator/test/driver_SUITE_data/timer_drv.c
Diffstat (limited to 'lib/erl_interface')
-rw-r--r-- | lib/erl_interface/test/port_call_SUITE_data/port_call_drv.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/lib/erl_interface/test/port_call_SUITE_data/port_call_drv.c b/lib/erl_interface/test/port_call_SUITE_data/port_call_drv.c index 80811fb973..1c71ea8567 100644 --- a/lib/erl_interface/test/port_call_SUITE_data/port_call_drv.c +++ b/lib/erl_interface/test/port_call_SUITE_data/port_call_drv.c @@ -18,14 +18,17 @@ */ #include <stdio.h> +#include <string.h> +#include <stdlib.h> #include "erl_interface.h" #include "erl_driver.h" static ErlDrvPort my_erlang_port; static ErlDrvData echo_start(ErlDrvPort, char *); -static void from_erlang(ErlDrvData, char*, int); -static int do_call(ErlDrvData drv_data, unsigned int command, char *buf, - int len, char **rbuf, int rlen, unsigned *ret_flags); +static void from_erlang(ErlDrvData, char*, ErlDrvSizeT); +static ErlDrvSSizeT do_call(ErlDrvData drv_data, unsigned int command, + char *buf, ErlDrvSizeT len, char **rbuf, + ErlDrvSizeT rlen, unsigned *ret_flags); static ErlDrvEntry echo_driver_entry = { NULL, /* Init */ echo_start, @@ -41,7 +44,15 @@ static ErlDrvEntry echo_driver_entry = { NULL, NULL, NULL, - do_call + do_call, + NULL, + ERL_DRV_EXTENDED_MARKER, + ERL_DRV_EXTENDED_MAJOR_VERSION, + ERL_DRV_EXTENDED_MINOR_VERSION, + 0, + NULL, + NULL, + NULL, }; DRIVER_INIT(echo_drv) @@ -56,14 +67,14 @@ echo_start(ErlDrvPort port, char *buf) } static void -from_erlang(ErlDrvData data, char *buf, int count) +from_erlang(ErlDrvData data, char *buf, ErlDrvSizeT count) { driver_output((ErlDrvPort) data, buf, count); } -static int +static ErlDrvSSizeT do_call(ErlDrvData drv_data, unsigned int command, char *buf, - int len, char **rbuf, int rlen, unsigned *ret_flags) + ErlDrvSizeT len, char **rbuf, ErlDrvSizeT rlen, unsigned *ret_flags) { int nlen; ei_x_buff x; |