GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  OSE_ERL_DRIVER (3)

NAME

ose_erl_driver - Linked-in drivers in Enea OSE

CONTENTS

Description
Exports

DESCRIPTION

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(3).
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.

ErlDrvEvent erl_drv_ose_event_alloc(SIGSELECT signo, ErlDrvOseEventId id, ErlDrvOseEventId (*resolve_signal)(union SIGNAL* sig), void *extra)

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.

void erl_drv_ose_event_free(ErlDrvEvent drv_event)

Free a ErlDrvEvent. This should always be done in the stop_select callback when the event is no longer being used.

void erl_drv_ose_event_fetch(ErlDrvEvent drv_event, SIGSELECT *signo, ErlDrvOseEventId *id, void **extra)

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(3), erl_driver(3)

Search for    or go to Top of page |  Section 3 |  Main Index


Ericsson AB OSE_ERL_DRIVER (3) ose 1.1

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.