Tcl_CreateChannelHandler man page on QNX

Man page or keyword search:  
man Server   4347 pages
apropos Keyword Search (all sections)
Output format
QNX logo
[printable version]

Tcl_CreateChannelHandler(3) Tcl Library Procedures Tcl_CreateChannelHandler(3)


       Tcl_CreateChannelHandler,  Tcl_DeleteChannelHandler  - call a procedure
       when a channel becomes readable or writable

       #include <tcl.h>

       Tcl_CreateChannelHandler(channel, mask, proc, clientData)

       Tcl_DeleteChannelHandler(channel, proc, clientData)

       Tcl_Channel	 channel      (in)	Tcl channel such  as  returned
						by Tcl_CreateChannel.

       int		 mask	      (in)	Conditions  under  which  proc
						should be called: OR-ed combi‐
						nation	   of	 TCL_READABLE,
						TION.  Specify a zero value to
						temporarily disable an	exist‐
						ing handler.

       Tcl_FileProc	 *proc	      (in)	Procedure  to  invoke whenever
						the channel indicated by chan‐
						nel meets the conditions spec‐
						ified by mask.

       ClientData	 clientData   (in)	Arbitrary  one-word  value  to
						pass to proc.

       Tcl_CreateChannelHandler	 arranges  for proc to be called in the future
       whenever input or output becomes possible on the channel identified  by
       channel,	 or  whenever an exceptional condition exists for channel. The
       conditions of interest under which proc will be invoked	are  specified
       by the mask argument.  See the manual entry for fileevent for a precise
       description of what it means for a channel to be readable or  writable.
       Proc must conform to the following prototype:
	      typedef void Tcl_ChannelProc(
		ClientData clientData,
		int mask);

       The  clientData argument is the same as the value passed to Tcl_Create‐
       ChannelHandler when the	handler	 was  created.	Typically,  clientData
       points  to a data structure containing application-specific information
       about the channel. Mask is an integer  mask  indicating	which  of  the
       requested conditions actually exists for the channel; it will contain a
       subset of the bits from the mask argument  to  Tcl_CreateChannelHandler
       when the handler was created.

       Each  channel handler is identified by a unique combination of channel,
       proc and clientData.  There may be many handlers for a given channel as
       long  as	 they  don't  have the same channel, proc, and clientData.  If
       Tcl_CreateChannelHandler is invoked when there is already a handler for
       channel,	 proc,	and  clientData,  then	no  new	 handler  is  created;
       instead, the mask is changed for the existing handler.

       Tcl_DeleteChannelHandler deletes a channel handler identified by	 chan‐
       nel,  proc  and	clientData; if no such handler exists, the call has no

       Channel handlers are invoked via the Tcl event mechanism, so  they  are
       only  useful in applications that are event-driven.  Note also that the
       conditions specified in the mask argument to proc may no	 longer	 exist
       when  proc  is  invoked:	  for  example,	 if there are two handlers for
       TCL_READABLE on the same channel, the first handler could  consume  all
       of  the	available input so that the channel is no longer readable when
       the second handler is invoked.  For this reason it may be useful to use
       nonblocking I/O on channels for which there are event handlers.

       Notifier(3), Tcl_CreateChannel(3), Tcl_OpenFileChannel(3), vwait(n).

       blocking, callback, channel, events, handler, nonblocking.

Tcl				      7.5	   Tcl_CreateChannelHandler(3)
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server QNX

List of man pages available for QNX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net