[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

There are several actions that are generally used by handlers to
allow messages returning from requested services (typically an Exec
device) to look like incoming request packets.  This allows the
handler to request an asynchronous operation but be notified of the
completion.  For example, a handler sends the serial.device a request
for a read, but instead of sending a plain IO request, it sends a DOS
packet disguised as an IO request.  The serial.device treats the
packet like a normal IO request, returning it to the handler when it
is finished. When the handler gets back its disguised DOS packet, it
knows that the read has completed.

ACTION_NIL               0       <internal>

Although not specifically an action, many returns look like this
value because the action field has not been filled in.

ACTION_READ_RETURN       1001    <internal>

Generally used to indicate the completion of an asynchronous read
request.

ACTION_WRITE_RETURN      1002    <internal>

Generally used to indicate the completion of an asynchronous write
request.

ACTION_TIMER             30     <internal>

Used to indicate the passage of a time interval.  Many handlers have
a steady stream of ACTION_TIMER packets so that they can schedule
house keeping and flush buffers when no activity has occurred for a
given time interval.