Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства является частью версии 5.0 Инструментов XCode

Получить эти инструменты:

Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



Tcl_CreateChannelHandler(3)                Tcl Library Procedures                Tcl_CreateChannelHandler(3)



____________________________________________________________________________________________________________

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

SYNOPSIS
       #include <tcl.h>

       void
       Tcl_CreateChannelHandler(channel, mask, proc, clientData)

       void
       Tcl_DeleteChannelHandler(channel, proc, clientData)


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

       int mask (in)                            Conditions under which proc should be called: OR-ed combina-tion combination
                                                tion  of TCL_READABLE, TCL_WRITABLE and TCL_EXCEPTION. Spec-ify Specify
                                                ify a zero value to temporarily disable an existing handler.

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

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


DESCRIPTION
       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 chan-nel channel
       nel 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_CreateChannelHandler when the  handler
       was  created. Typically, clientData points to a data structure containing application-specific infor-mation information
       mation about the channel. Mask is an integer mask indicating which of the requested conditions  actu-ally actually
       ally  exists for the channel; it will contain a subset of the bits from the mask argument to Tcl_Cre-ateChannelHandler Tcl_CreateChannelHandler
       ateChannelHandler 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 do not 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 channel, proc and clientData; if  no
       such handler exists, the call has no effect.

       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 non-blocking nonblocking
       blocking I/O on channels for which there are event handlers.


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


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



Tcl                                                  7.5                         Tcl_CreateChannelHandler(3)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Tcl.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Tcl через их страницу создания отчетов ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.