Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connld(7) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

streamio(7)



connld(7)              DEVICES AND MODULES              connld(7)



NAME
     connld - line discipline for unique stream connections

DESCRIPTION
     connld is a STREAMS-based module that provides  unique  con-
     nections  between  server and client processes.  It can only
     be pushed [see streamio(7)] onto one end of a  STREAMS-based
     pipe that may subsequently be attached to a name in the file
     system name space.  After the pipe end is  attached,  a  new
     pipe  is  created  internally  when  an  originating process
     attempts to open(2) or creat(2) the  file  system  name.   A
     file descriptor for one end of the new pipe is packaged into
     a message identical to that  for  the  ioctl  ISENDFD  [see
     streamio(7)]  and  is  transmitted  along  the stream to the
     server process on the other end.  The originating process is
     blocked  until  the server responds.  The server responds to
     the  ISENDFD  request  by  accepting  the  file  descriptor
     through  the IRECVFD ioctl message.  When this happens, the
     file descriptor associated with the other  end  of  the  new
     pipe  is  transmitted to the originating process as the file
     descriptor returned from open(2) or creat(2).  If the server
     does  not  respond  to the ISENDFD request, the stream that
     the connld  module  is  pushed  on  becomes  uni-directional
     because the server will not be able to retrieve any data off
     the stream until the IRECVFD request  is  issued.   If  the
     server  process  exits  before issuing the IRECVFD request,
     the open(2) or the  creat(2)  system  calls  will  fail  and
     return  -1  to  the  originating  process.   When the connld
     module is pushed onto a pipe, messages going back and  forth
     through the pipe are ignored by connld.  On success, an open
     of connld returns 0.  On failure, errno is set to  the  fol-
     lowing values:

     EINVAL       A stream onto which connld is being  pushed  is
                  not  a  pipe  or the pipe does not have a write
                  queue pointer pointing to a  stream  head  read
                  queue.

     EINVAL       The other end of the pipe onto which connld  is
                  being pushed is linked under a multiplexor.

     EPIPE        connld is being pushed onto a  pipe  end  whose
                  other end is no longer there.

     ENOMEM       An internal pipe could not be created.

     ENXIO        An MHANGUP message is at the  stream  head  of
                  the pipe onto which connld is being pushed.

     EAGAIN       Internal data structures  could  not  be  allo-
                  cated.




                                                                1





connld(7)              DEVICES AND MODULES              connld(7)



     ENFILE       A file table entry could not be allocated.

SEE ALSO
     streamio(7)
     Programmer's Guide: STREAMS


















































                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026