Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xtinputcallbackproc(3) [hpux man page]

XtInputCallbackProc()													     XtInputCallbackProc()

Name
  XtInputCallbackProc - 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 generated 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
  descriptor, 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 Also
  XtAppAddInput(1), XtRemoveInput(1).

Xt - Event Handling													     XtInputCallbackProc()

Check Out this Related Man Page

XtAppAddInput(3)						   XT FUNCTIONS 						  XtAppAddInput(3)

NAME
XtAppAddInput, XtRemoveInput - register and remove an input source SYNTAX
XtInputId XtAppAddInput(XtAppContext app_context, int source, XtPointer condition, XtInputCallbackProc proc, XtPointer client_data); void XtRemoveInput(XtInputId id); ARGUMENTS
app_context Specifies the application context that identifies the application. client_data Specifies the argument that is to be passed to the specified procedure when input is available. condition Specifies the mask that indicates a read, write, or exception condition or some operating system dependent condition. id Specifies the ID returned from the corresponding XtAppAddInput call. proc Specifies the procedure that is to be called when input is available. source Specifies the source file descriptor on a UNIX-based system or other operating system dependent device specification. DESCRIPTION
The XtAppAddInput 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 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 XtInpu- tReadMask, XtInputWriteMask, and XtInputExceptMask. The XtRemoveInput function causes the Intrinsics read routine to stop watching for input from the input source. SEE ALSO
XtAppAddTimeOut(3),XtAppAddSignal(3) X Toolkit Intrinsics - C Language Interface Xlib - C Language X Interface BUGS
In ANSI C it is necessary to cast the condition to an XtPointer, e.g.: XtAppAddInput(app_context, source, (XtPointer) (XtInputReadMask | XtInputWriteMask), proc, client_data); X Version 11 libXt 1.1.4 XtAppAddInput(3)
Man Page