Erlang linked in drivers, ErlDrvEntry structure

Evans, Matthew <>
Thu Feb 25 03:13:20 CET 2010


Hi All,

I've been looking at linkedin drivers a little. I 'm trying to find a description of all the handler functions that are contained in the ErlDrvEntry structure. Obviously startup and shutdown make sense, but what about all the others (see the example below)? When are they called (for example ready_input, handle, control, process)? Pointers to documentation would be helpful, the Erlang documentation in http://www.erlang.org/doc/man/erl_driver.html seems to be missing quite a few of them....

Many thanks

Matt

static ErlDrvEntry basic_driver_entry = {
    NULL,                             /* init */
    start,                            /* startup */
    stop,                             /* shutdown */
    NULL,                             /* output */
    NULL,                             /* ready_input */
    NULL,                             /* ready_output */
    "basic_drv",                      /* the name of the driver */
    NULL,                             /* finish */
    NULL,                             /* handle */
    NULL,                             /* control */
    NULL,                             /* timeout */
    process,                          /* process */
    NULL,                             /* ready_async */
    NULL,                             /* flush */
    NULL,                             /* call */
    NULL,                             /* event */
    ERL_DRV_EXTENDED_MARKER,          /* ERL_DRV_EXTENDED_MARKER */
    ERL_DRV_EXTENDED_MAJOR_VERSION,   /* ERL_DRV_EXTENDED_MAJOR_VERSION */
    ERL_DRV_EXTENDED_MAJOR_VERSION,   /* ERL_DRV_EXTENDED_MINOR_VERSION */
    ERL_DRV_FLAG_USE_PORT_LOCKING     /* ERL_DRV_FLAGs */
};


More information about the erlang-questions mailing list