<div dir="ltr"><div>HI:</div>
<div> </div>
<div>I've written a driver with the entry below:</div>
<div> </div>
<div>struct erl_drv_entry ttsl_driver_entry = {<br> ttysl_init,<br> ttysl_start,<br> IF_IMPL(ttysl_stop),<br> IF_IMPL(ttysl_from_erlang),<br> IF_IMPL(ttysl_from_tty),<br> NULL,<br> "tty_sl20",<br>
NULL,<br> NULL,<br> IF_IMPL(ttysl_control),<br> };</div>
<div> </div>
<div>In fact ,the above code was stolen from erlang's emulator driver code, then I compiled it in my linux server with the gcc command "gcc -o ttsl_drv20.so -fpic -shared ttsl_drv20.c -I/usr/lib/erlang/erts-5.6.1/include/".</div>
<div> </div>
<div>Everything is ok except the error occurred while I try to load the driver with erl_ddll .I 'm blocked by the error "{error,driver_incorrect_version}".</div>
<div> </div>
<div>So I check the erlang manual, it says the "extend_marker" field should be <span class="code">ERL_DRV_EXTENDED_MARKER</span> or <span class="code">0.</span> </div>
<div> </div>
<div>But my driver entry's extend_marker field is indeed 0. Why does it still throw the error?</div>
<div> </div>
<div> </div>
<div> </div></div>