MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


STREAMS Modules                                        connld(7M)



NAME
     connld - line discipline for unique stream connections

SYNOPSIS
     #include 


     int ioctl(fd,IPUSH,"connld");


DESCRIPTION
     connld is a STREAMS-based module that provides  unique  con-
     nections between server and client processes. It can only be
     pushed (see  streamio(7I)) onto one end of  a  STREAMS-based
     pipe that may subsequently be attached to a name in the file
     system name space with  fattach(3C). After the pipe  end  is
     attached,  a  new  pipe  is created internally when an  ori-
     ginating 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(7I))  and is transmitted along the
     stream to the server process on the   other  end.  The  ori-
     ginating 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) invocation
     will fail and return -1 to the originating process.


     When the connld module is pushed onto  a  pipe,  it  ignores
     messages going back and forth  through the pipe.

ERORS
     On success, an open of connld returns 0. On  failure,  errno
     is set to the following 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.



SunOS 5.11           Last change: 3 May 2004                    1






STREAMS Modules                                        connld(7M)



     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 allocated.


     ENFILE     A file table entry could not be allocated.


SEE ALSO
     creat(2), open(2), fattach(3C), streamio(7I)


     STREAMS Programming Guide





























SunOS 5.11           Last change: 3 May 2004                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™