Man Linux: Main Page and Category List

NAME

       SP_connect - Connect an application to a daemon

SYNOPSIS

       #include <sp.h>
       int  SP_connect( const char *spread_name, const char *private_name, int
       priority, int group_membership, mailbox *mbox, char *private_group);

DESCRIPTION

       SP_connect is the initial call an application must make to establish  a
       connection  with a Spread daemon.  All other spread calls must refer to
       a valid mbox returned by this function.

       The spread_name is the name of the Spread daemon  to  connect  to.   It
       should be a string in one of the following forms:

              4803   This  will  connect  to  the  Spread  daemon on the local
                     machine running on port 4803.  This form cannot  be  used
                     to connect to a Windows95/NT machine.

              4803@localhost
                     This  will also connect to the Spread daemon on the local
                     machine running on port 4803.  This form can be  used  on
                     Windows95/NT machines.

              4803@host.domain.edu or 4803@128.220.221.99
                     This  will  connect  to  the machine identified by either
                     domain name or IP address at the specified port.

       The private_name is the name this connection would like to be known as.
       It  must  be unique on the machine running the spread daemon.  The name
       can be of at most MAX_PRIVATE_NAME characters, with the same  character
       restrictions  as  a  group  name  (mainly  it  cannot  contain  the ’#’
       character). If the application does not care what name it uses, it  can
       pass  in  a NULL pointer into this field and the daemon will assign the
       connection a unique, random name.

       The priority is a 0/1 flag  for  whether  this  connection  will  be  a
       "Priority" connection or not. Currently this has no effect.

       The  group_membership  is a boolean integer.  If 1 then the application
       will receive group membership messages for this connection, if  0  then
       the application will not receive any membership change messages.

       The  mbox  should  be  a  pointer  to  a  mailbox  variable.  After the
       SP_connect call returns this  variable  will  hold  the  mbox  for  the
       connection.

       The private_group should be a pointer to a string big enough to hold at
       least MAX_GROUP_NAME characters.  After the  Connect  call  returns  it
       will  contain  the  private  group name of this connection.  This group
       name can be used to send unicast messages to this connection and no one
       can join this special group.

RETURN VALUES

       Returns  ACCEPT_SESSION on success or one of the following errors ( < 0
       ):

       ILLEGAL_SPREAD
               The spread_name given  to  connect  to  was  illegal  for  some
               reason.  Usually  because it was a unix socket on Windows95/NT,
               an improper format for a host or an illegal port number

       COULD_NOT_CONNECT
               Lower level socket calls failed to allow a  connection  to  the
               specified spread daemon right now.

       CONNECTION_CLOSED
               During communication to establish the connection errors occured
               and the setup could not be completed.

       REJECT_VERSION
               The daemon or library has a version mismatch.

       REJECT_NO_NAME
               This is  a  protocol  error  which  should  not  occur  if  the
               connection  request  is  sent correctly to the daemon. It means
               that the length of the user name was not sent (if no user  name
               is provided a length of 0 must be sent).

       REJECT_ILLEGAL_NAME
               Name  provided  violated  some  requirement  (length or used an
               illegal character)

       REJECT_NOT_UNIQUE
               Name  provided  is  not  unique  on  this  daemon.  Recommended
               response is to try again with a different name.

BUGS

       None.

AUTHOR

       Yair Amir <yairamir@cnds.jhu.edu>
       Jonathan Stanton <jonathan@cnds.jhu.edu>
       Commedia Project <commedia@cnds.jhu.edu>

SEE ALSO

       libsp(3)