tk_evt_ssy

Call Event Function of Sub-System

[C Language Interface]

ER ercd = tk_evt_ssy ( ID ssid, INT evttyp, ID resid, INT info ) ;

[Parameters]

ID ssid Subsystem ID

INT evttyp Event request type

ID resid Resource ID

INT info Any parameter

[Return Parameters]

ER ercd Error code

[Error Codes]

E_OK Normal completion

E_ID Invalid ID number (ssid, resid is invalid or cannot be used)

E_NOEXS Object does not exist (the subsystem specified in ssid is not defined)

E_CTX Context error (issued from task-independent portion or in dispatch disabled state)

Other Error code returned by the event handling function

[Description]

Calls the event handling function of the subsystem specified in ssid.

Specifying ssid = 0 makes the system call applicable to all currently defined subsystems. In this case the event handling function of each subsystem is called in sequence.

When evttyp is an odd number: Calls in order starting from the highest subsystem priority.

When evttyp is an even number: Calls in order starting from the lowest subsystem priority.

The order among subsystems having the same priority is not defined.

If this system call is issued for a subsystem with no event handling function defined, the function is simply not called; no error results.

If this system call is not invoked for any particular resource group, resid = 0 is specified.

If the event handling function returns an error, the error code is passed transparently in the system call return code. When ssid = 0 and an event handler returns an error, the event handling functions of all other subsystems continue to be called. In the system call return code, only one error code is returned even if more than one event handling function returned an error. It is not possible to know which subsystem’s event handling function returned the error.

If during event handling function execution a task exception is raised for the task that called tk_evt_ssy, the task exception is held until the event handling function completes its processing.

Comments