XtAppAddInput(), XtRemoveInput() - register and remove an input source
XtInputId XtAppAddInput (XtAppContext app_context, int source,
XtPointer condition, XtInputCallbackProc proc,
XtPointer client_data)
void XtRemoveInput (XtInputId id)
The XtAppAddInput(3) function registers with the Intrinsics read routine a new source of events, which is usually file input but can also be file output. Note that file should be loosely interpreted to mean any sink or source of data. XtAppAddInput(3) also specifies the conditions under which the source can generate events. When input is pending on this source, the callback procedure is called.
The legal values for the condition argument are operating-system dependent. On a UNIX-based system, the condition is some union of XtInputReadMask, XtInputWriteMask, and XtInputExceptMask. The XtRemoveInput(3) function causes the Intrinsics read routine to stop watching for input from the input source.
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface