Risa/Asir provides a launcher ox_launch to invoke an OpenXM server and to set up the communication between the server and itself. Fundamental operations on OpenXM servers are exchange of OX data and sending of stack machine commands. As a client, Asir provides the following functions to execute these primitive operations: ox_push_cmo() for pushing data, ox_push_cmd() for sending a stack machine command and ox_get() for receiving data from a stream.

Some operations including the reset operation are implemented by combining these primitives. Among them, frequently used ones are provided as built-in functions. We show some of them.

Furthermore ox_select() is provided to detect if streams are ready for reading. It is implemented by the select() system call and is used to avoid blocking on read operations.

Nobuki Takayama 2017-03-30