XtInputCallbackProc()XtInputCallbackProc()NameXtInputCallbackProc - interface definition for procedure to handle
file, pipe, or socket activity.
Synopsis
typedef void (*XtInputCallbackProc)(XtPointer, int *, XtInputId *);
XtPointer client_data; int *source; XtInputId *id;
Inputs
client_data
Specifies the data that was registered with this procedure in
XtAppAddInput().
source Specifies the file descriptor (on POSIX systems) that gener‐
ated the event.
id Specifies the ID that was returned when this procedure was
registered with XtAppAddInput() call.
Description
An XtInputCallbackProc is registered with XtAppAddInput(). It is
called when there is activity of the specified type (read, write, or
error) on a specified file descriptor (which can be a file, pipe, or
socket).
An XtInputCallbackProc should do whatever is necessary to handle the
activity on the alternate event source. If EOF is read on the descrip‐
tor, the procedure can un-register itself by passing its id argument to
XtRemoveInput().
Usage
An XtInputCallbackProc is inherently operating-system-dependent and
will have to be ported when the widget or application is ported to a
new operating system. On non-POSIX systems, the source argument is
some OS-dependent identifier of an input source.
Example
The procedure below is an XtInputCallbackProc from the xconsole client
(which is new in X11R5). Note that it reads input with the POSIX
read() system call, and that it closes the file descriptor and removes
the input source if it reaches EOF or gets an error on the input
source.
static void inputReady (w, source, id)
XtPointer w;
int *source;
XtInputId *id;
{
char buffer[1025];
int n;
n = read (*source, buffer, sizeof (buffer) - 1);
if (n <= 0)
{
fclose (input);
XtRemoveInput (*id);
}
Notify ();
buffer[n] = ' ';
if (app_resources.stripNonprint)
{
stripNonprint (buffer);
n = strlen (buffer);
}
TextAppend ((Widget) text, buffer, n);
}
This procedure is registered with the following call:
input_id = XtAddInput (fileno (input), (XtPointer) XtInputReadMask,
inputReady, (XtPointer) text);
See AlsoXtAppAddInput(1), XtRemoveInput(1).
Xt - Event Handling XtInputCallbackProc()