MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Networking Services Library Functions                tsync(3NSL)



NAME
     tsync - synchronize transport library

SYNOPSIS
     #include 



     int tsync(int fd);


DESCRIPTION
     This routine is part of the  XTI  interfaces  which  evolved
     from the TLI interfaces. XTI represents the future evolution
     of these interfaces. However, TLI interfaces  are  supported
     for  compatibility.  When  using  a TLI routine that has the
     same name as an XTI routine, the  tiuser.h header file  must
     be  used.   Refer  to  the   TLI COMPATIBILITY section for a
     description of differences between the two interfaces.


     For the transport endpoint specified by  fd,  tsync()  syn-
     chronizes  the  data  structures  managed  by  the transport
     library with information from the underlying transport  pro-
     vider.  In  doing  so,  it can convert an uninitialized file
     descriptor (obtained by means of a  open(2), dup(2) or as  a
     result of a fork(2) and exec(2)) to an initialized transport
     endpoint, assuming that the  file  descriptor  referenced  a
     transport   endpoint,  by updating and allocating the neces-
     sary library data structures. This function also allows  two
     cooperating  processes to synchronize their interaction with
     a transport provider.


     For example, if a process forks a new process and issues  an
     exec(2),  the new process must issue a tsync() to build the
     private library data structure associated with  a  transport
     endpoint  and  to  synchronize  the  data structure with the
     relevant provider information.


     It is important to  remember  that  the  transport  provider
     treats  all  users of a transport endpoint as a single user.
     If multiple processes are  using  the  same  endpoint,  they
     should  coordinate their activities so as not to violate the
     state of the  transport  endpoint.   The  function  tsync()
     returns  the  current state of the transport endpoint to the
     user, thereby enabling the user to verify the  state  before
     taking further action. This coordination is only valid among
     cooperating processes; it is possible that a process  or  an
     incoming  event  could  change  the endpoint's state after a
     tsync() is issued.



SunOS 5.11           Last change: 7 May 1998                    1






Networking Services Library Functions                tsync(3NSL)



     If the transport endpoint is undergoing a  state  transition
     when tsync() is called, the function will fail.

RETURN VALUES
     On successful completion, the state of  the  transport  end-
     point  is  returned.   Otherwise, a value of  -1 is returned
     and terrno is set to indicate an error. The state  returned
     is one of the following:

     TUNBND        Unbound.


     TIDLE         Idle.


     TOUTCON       Outgoing connection pending.


     TINCON        Incoming connection pending.


     TDATAXFER     Data transfer.


     TOUTREL       Outgoing orderly release (waiting for an ord-
                    erly release indication).


     TINREL        Incoming orderly release (waiting for an ord-
                    erly release request).


ERORS
     On failure, terrno is set to one of the following:

     TBADF         The specified file descriptor does  not  refer
                   to  a  transport  endpoint.  This error may be
                   returned  when  the  fd  has  been  previously
                   closed  or  an  erroneous number may have been
                   passed to the call.


     TPROTO        This  error  indicates  that  a  communication
                   problem  has been detected between XTI and the
                   transport provider for which there is no other
                   suitable XTI error (terrno).


     TSTATECHNG    The transport endpoint is undergoing  a  state
                   change.





SunOS 5.11           Last change: 7 May 1998                    2






Networking Services Library Functions                tsync(3NSL)



     TSYSER       A system error has occurred  during  execution
                   of this function.


TLI COMPATIBILITY
     The XTI and TLI interface definitions have common names  but
     use different header files. This, and other semantic differ-
     ences between the two interfaces are described in  the  sub-
     sections below.

  Interface Header
     The XTI interfaces use the header file,  xti.h.  TLI  inter-
     faces  should  not  use  this  header.   They should use the
     header:
       #include 

  Error Description Values
     The terrno value that can be set by the XTI  interface  and
     cannot be set by the TLI interface is:
       TPROTO

ATRIBUTES
     See attributes(5)  for descriptions of the following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT Level                     Safe                        
    


SEE ALSO
     dup(2), exec(2), fork(2), open(2), attributes(5)



















SunOS 5.11           Last change: 7 May 1998                    3



OpenSolaris man pages main menu

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