table of contents
other versions
- wheezy-backports 1:17.3-dfsg-4~bpo70+1
- jessie 1:17.3-dfsg-4+deb8u1
ose_erl_driver(3erl) | C Library Functions | ose_erl_driver(3erl) |
NAME¶
ose_erl_driver - Linked-in drivers in Enea OSEDESCRIPTION¶
Writing Linked-in drivers that also work on Enea OSE is very similar for how you would do it for Unix. The difference from Unix is that driver_select, ready_input and ready_output all work with signals instead of file descriptors. This means that the driver_select is used to specify which type of signal should trigger calls to ready_input/ready_output. The functions described below are available to driver programmers on Enea OSE to facilitate this.DATA TYPES¶
- union SIGNAL:
- See the Enea OSE SPI documentation for a description.
- SIGSELECT:
- See the Enea OSE SPI documentation for a description.
- ErlDrvEvent:
- The ErlDrvEvent is a handle to a signal number and id combination. It is passed to driver_select(3erl).
- ErlDrvOseEventId:
- This is the id used to associate a specific signal to a certain driver instance.
EXPORTS¶
union SIGNAL *erl_drv_ose_get_signal(ErlDrvEvent drv_event)
Fetch the next signal associated with drv_event. Signals will be returned
in the order which they were received and when no more signals are available
NULL will be returned. Use this function in the
ready_input/ready_output callbacks to get signals.
Create a new ErlDrvEvent associated with signo, id and uses
the resolve_signal function to extract the id from a signal with
signo. The extra parameter can be used for additional data. See
Signals in a Linked-in driver in the OSE User's Guide.
Free a ErlDrvEvent. This should always be done in the stop_select
callback when the event is no longer being used.
Write the signal number, id and any extra data associated with drv_event
into *signo and *id respectively. NULL can be also passed
as signo or id in order to ignore that field.
SEE ALSO¶
driver_entry(3erl), erl_driver(3erl)ose 1.0.1 | Ericsson AB |