<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>