Purpose of Input Monitoring Client
This example illustrates a UNIX client that monitors a file descriptor for input events. This requires an event loop because input events occur asynchronously.
Note: Note: This example does not apply for clients on Windows systems, where SPD_AddInput is not supported.
Code
void input Callback (
SPD_inputTP,
SPD_passbackTP
);
/* global file descriptor variable */
int fd
main(
int argc,
char **argv
)
{
/* Initialize the API.
Application name = "input monitor example"
No application qualifier.
*/
SPD_InitClient("input monitor example", NULL);
/* Create the I/O handler.
The file descriptor in the global variable "fd".
We are only interested in input events.
No passback data is specified.
*/
SPD_AddInput(fd, SPD_readCN, inputCallback, NULL);
/* Enter the SPD main loop to wait for the
receipt of data.
*/
SPD_MainLoop();
}/* Callback which handles input events */
void inputCallback(
SPD_inputTP id, /* I/O handler handle */
SPD_passbackTP passback
)
{
/* Client processing... */
/* The I/O handler remains active until it is removed. */
}