| Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 | 
| Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit | 
| Moderator: | STAR::VATNE | 
| Created: | Mon Oct 30 1989 | 
| Last Modified: | Mon Dec 31 1990 | 
| Last Successful Update: | Fri Jun 06 1997 | 
| Number of topics: | 3726 | 
| Total number of notes: | 19516 | 
    The XT$ADD_INPUT routine is used to register a new input source.
    One of the arguments for this routine is an address of the new 
    input source (longword/reference).  I'm programming on VMS but I'm
    also using a TCP/IP product (from a third party) to do network things.  
    
    Question:  Can I use a socket channel number (address) as the argument
    for the new input source?
    
    Thanks,
    
    Tim Resker
| T.R | Title | User | Personal Name | Date | Lines | 
|---|---|---|---|---|---|
| 298.1 | Event Flag | STAR::BRANDENBERG | Intelligence - just a good party trick? | Fri Feb 24 1989 12:00 | 7 | 
|     
    No, the channel doesn't mean a thing to XtNextEvent.  This is (or was)
    the number of an event flag in cluster 0.  Do check the document before
    believing what I say, though.
    
    					m
 | |||||
| 298.2 | How do I do event processing for networks? | FUNBOX::RESKER | Fri Feb 24 1989 12:55 | 11 | |
|     I have a network device.  The network device is tied into an event
    flag.  I'm going to wait for that event flag and then I'm to process
    my network activity, so I'm blocked on that event flag.  
    
    Now, I don't want to poll for my network QIO because it makes me
    do an XT_pending (a nonblocking xt_next_event).  I want to use
    XT$add_input but I don't know how to use a network channel number as a
    the source argument for XT$add_input.              
    
    tim
 | |||||
| 298.3 | $QIO I hope | STAR::BRANDENBERG | Intelligence - just a good party trick? | Fri Feb 24 1989 13:10 | 17 | 
|     
    If the interface to the network socket is $QIO, then you can use the
    asynchronous form ($QIO and not $QIOW), preferably with an IOSB, and
    use the event flag in XtAddInput/XtNextEvent to sense when the network
    operation is "probably" complete.  I say probably because you may be
    using the event flag for other purposes in your application which will
    could cause false generation of events from XtNextEvent.  If you are
    using the event flag exclusively for this socket, then the event is
    reliable.  Now, if the interface *doesn't* use $qio or other
    asynchronous interface, I hope it provides some way of generating an
    AST when input arrives or output is possible.  Then, the ast routine
    can set some event flag to be used as above.  If the interface only has
    a synchronous interface, you're quickly placing yourself between a rock
    and a hard place.
    
    					m
 | |||||