IPB
>  Man Pages > Unix > Solaris 10 11/06 > Section 4 > contract man page

contract man page

Section 4 - Solaris 10 11/06 Man Pages

Other operating system man pages available here


Advanced Search

Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!





File Formats                                          contract(4)



NAME
     contract - the contract file system

SYNOPSIS
     /system/contract

DESCRIPTION
     The /system/contract file system acts as the primary  inter-
     face  to  the contract subsystem. There is a subdirectory of
     /system/contract for each available contract type.

     /system/contract can be mounted on any mount point, in addi-
     tion  to  the standard /system/contract mount point, and can
     be mounted several places at once.  Such  additional  mounts
     are  allowed  in  order  to  facilitate  the  confinement of
     processes to subtrees of the file  system  using  chroot(1M)
     and  yet  allow  such  processes to continue to use contract
     commands and interfaces.

     A  combination  of  standard  system  calls  (for   example,
     open(2),    close(2),    and    poll(2))    and   calls   to
     libcontract(3LIB) access /system/contract files.

     Consumers of the contract file system  must  be  large  file
     aware. See largefile(5) and lfcompile64(5).

  DIRECTORY STRUCTURE
     At the top level, the  /system/contract  directory  contains
     subdirectories  named with each available contract type, and
     one special directory, all. Each  of  these  directories  is
     world-readable and world-searchable.

  STRUCTURE OF /system/contract/type
     Each /system/contract/type directory contains a fixed number
     of  files.  It  also contains a variable number of subdirec-
     tories corresponding to existing contracts of type type  and
     named with the decimal representation of the contracts' IDs.

     The following files are in  a  /system/contract/type  direc-
     tory:

     template        Opening this file returns a file  descriptor
                     for a new type contract template.

                     You can use the following  libcontract(3LIB)
                     calls on a template file descriptor:


                      ct_tmpl_activate(3contract)
                      ct_tmpl_clear(3contract)
                      ct_tmpl_create(3contract)




SunOS 5.10          Last change: 11 Jul 2005                    1






File Formats                                          contract(4)



                     See TERMS for additional template functions.



     latest          Opening this file returns a file  descriptor
                     for  the  status  file of the last type con-
                     tract written by the opening LWP. See STRUC-
                     TURE  OF  /system/contract/type/id.   If the
                     opening LWP has not created a type contract,
                     opening latest fails with ESRCH.



     bundle          Opening this file returns a file  descriptor
                     for  an event endpoint which receives events
                     from all type contracts on  the  system.  No
                     privileges  are required to open a type bun-
                     dle event endpoint. Events sent by contracts
                     owned  and  written  by users other than the
                     reader's effective user  id  are  invisible,
                     that  is,  they are silently skipped, unless
                     the reader has  {PRIV_CONTRACT_OBSERVER}  in
                     its effective set. See EVENTS.



     pbundle         Opening this file returns a file  descriptor
                     for  an event endpoint which receives events
                     from all type contracts held by the  opening
                     process. See EVENTS.



  STRUCTURE OF /system/contract/all
     The /system/contract/all directory  contains  a  numerically
     named  file  for each contract in the system. Each file is a
     symbolic link to the type-specific directory for  that  con-
     tract,    that    is   /system/contract/all/id   points   to
     /system/contract/type/id.

  STRUCTURE OF /system/contract/type/id
     Each /system/contract/type/id directory contains the follow-
     ing files:

     ctl                     Opening this  file  returns  a  file
                             descriptor for contract id's control
                             file. The open fails if the  opening
                             process  does  not  hold contract id
                             and the contract has not been inher-
                             ited  by  the  process  contract  of
                             which  the  opening  process  is   a
                             member. See process(4).



SunOS 5.10          Last change: 11 Jul 2005                    2






File Formats                                          contract(4)



                             The   following    libcontract(3LIB)
                             calls  can  be  made  on  a ctl file
                             descriptor if the contract is  owned
                             by the caller:


                             ct_ctl_abandon(3contract)
                             ct_ctl_newct(3contract)
                             ct_ctl_ack(3contract)
                             ct_ctl_qack(3contract)

                             The following libcontract(3LIB) call
                             can be made on a ctl file descriptor
                             if  the  contract  doesn't  have  an
                             owner:


                             ct_ctl_adopt(3contract)



     status                  Opening this  file  returns  a  file
                             descriptor  for contract id's status
                             file.         The          following
                             libcontract(3LIB)  calls can be made
                             on a status file descriptor:


                             ct_status_read(3contract)

                              See STATUS.



     events                  Opening this  file  returns  a  file
                             descriptor  for  an  event  endpoint
                             which receives events from  contract
                             id. See EVENTS.

                             Only a process which  has  the  same
                             effective  user  ID  as  the process
                             owning the contract, the same effec-
                             tive   user  ID  as  the  contract's
                             author,            or            has
                             {PRIV_CONTRACT_OBSERVER}    in   its
                             effective set  can  open  the  event
                             endpoint for a contract.



  TERMS




SunOS 5.10          Last change: 11 Jul 2005                    3






File Formats                                          contract(4)



     The following terms are defined for all contracts:

     cookie

         Specifies a 64-bit quantity that the contract author can
         use      to      identify      the     contract.     Use
         ct_tmpl_set_cookie(3CONTRACT) to set this term.



     informative event set

         Selects  which  events  are  delivered  as   informative
         events.  Use  ct_tmpl_set_informative(3CONTRACT)  to set
         this term.



     critical event set

         Selects which events are delivered as  critical  events.
         Use ct_tmpl_set_critical(3CONTRACT) to set this term.




  STATUS
     A status object returned by  ct_status_read(3CONTRACT)  con-
     tains the following pieces of information:

     contract ID

         The    numeric    ID    of     the     contract.     Use
         ct_status_get_id(3CONTRACT) to obtain this information.



     contract type

         The type of the contract, specifed as a string. Obtained
         using  ct_status_get_type(3CONTRACT).  The contract type
         is   the   same   as   its   subdirectory   name   under
         /system/contract.



     creator's zone ID

         The zone ID of the process which created  the  contract.
         Obtained using ct_status_get_zoneid(3CONTRACT).





SunOS 5.10          Last change: 11 Jul 2005                    4






File Formats                                          contract(4)



     ownership state

         The state  of  the  contract,  specified  as  CTS_OWNED,
         CTS_INHERITED,     CTS_ORPHAN,    or    CTS_DEAD.    Use
         ct_status_get_state(3CONTRACT) to obtain  this  informa-
         tion.



     contract holder

         If the contract's state is CTS_OWNED, the ID of the pro-
         cess which owns the contract. If the contract's state is
         CTS_INHERITED, the ID of the contract which is acting as
         regent.   If  the  contract's  state  is  CTS_ORPHAN  or
         CTS_DEAD,       this       is       undefined.       Use
         ct_status_get_holder(3CONTRACT)  to obtain this informa-
         tion.



     number of critical events

         The number of unacknowledged critical events pending  on
         the        contract's       event       queue.       Use
         ct_status_get_nevents(3CONTRACT) to obtain this informa-
         tion.



     negotiation time

         The time remaining before the current synchronous  nego-
         tiation times out. Use ct_status_get_ntime(3CONTRACT) to
         obtain this information.



     negotiation quantum time

         The time remaining before the current negotiation  quan-
         tum  runs  out.  Use  ct_status_get_qtime(3CONTRACT)  to
         obtain this information.



     negotiation event ID

         The ID of the  event  which  initiated  the  negotiation
         timeout.  Use  ct_status_get_nevid(3CONTRACT)  to obtain
         this information.




SunOS 5.10          Last change: 11 Jul 2005                    5






File Formats                                          contract(4)



     cookie (term)

         The       contract's       cookie       term.        Use
         ct_status_get_cookie(3CONTRACT)  to obtain this informa-
         tion.



     Informative event set (term)

         The    contract's    informative    event    set.    Use
         ct_status_get_informative(3CONTRACT)   to   obtain  this
         information.



     Critical event set (term)

         The    contract's    critical     event     set.     Use
         ct_status_get_critical(3CONTRACT)  to obtain this infor-
         mation.



  EVENTS
     All  three  event  endpoints,  /system/contract/type/bundle,
     /system/contract/type/pbundle,                           and
     /system/contract/type/id/events, are accessed  in  the  same
     manner.

     The following libcontract(3LIB) interfaces are used with  an
     event endpoint file descriptor:

     ct_event_read(3contract)
     ct_event_read_critical(3contract)
     ct_event_reset(3contract)
     ct_event_next(3contract)


     To facilitate processes watching multiple  event  endpoints,
     it  is  possible  to  poll(2) on event endpoints. When it is
     possible to receive on an endpoint file  descriptor,  POLLIN
     is set for that descriptor.

     An event object returned  by  ct_event_read(3CONTRACT)  con-
     tains the following information:

     contract ID             The ID of  the  contract  that  gen-
                             erated      the      event.      Use
                             ct_event_get_ctid(3CONTRACT)      to
                             obtain this information.




SunOS 5.10          Last change: 11 Jul 2005                    6






File Formats                                          contract(4)



     event ID                The ID  of  the  contract  event.Use
                             ct_event_get_evid(3CONTRACT).



     flags                   A  bit  vector  possibly   including
                             CT_ACK     and     CTE_INFO.     Use
                             ct_event_get_flags(3CONTRACT)     to
                             obtain this information.



     event type              The type of event, equal to  one  of
                             the  constants specified in the con-
                             tract   type's   manual   page    or
                             CT_EV_NEGEND.                    Use
                             ct_event_get_type(3CONTRACT)      to
                             obtain this information.



  EVENT TYPES
     The following event types are defined:

     CT_EV_NEGEND

         Some time after an exit negotiation  is  initiated,  the
         CT_EV_NEGEND  event  is  sent.  This  indicates that the
         negotiation ended. This might be because  the  operation
         was  cancelled, or because the operation was successful.
         If successful, and the owner requested that a  new  con-
         tract be written, this contains the ID of that contract.

         CT_EV_NEGEND cannot be included in a contract's informa-
         tive  or  critical event set. It is always delivered and
         always critical.  If  CT_EV_NEGEND  indicates  that  the
         operation  was  successful,  no further events are sent.
         The       contract's       owner       should        use
         ct_ctl_abandon(3CONTRACT) to abandon the contract.

         A CT_EV_NEGEND event contains:


         negotiation ID

             The  ID  of  the  negotiation   which   ended.   Use
             ct_event_get_nevid(3CONTRACT) to obain this informa-
             tion.







SunOS 5.10          Last change: 11 Jul 2005                    7






File Formats                                          contract(4)



         new contract ID

             The ID of the newly created contract. This value  is
             0  if  no  contract  was  created,  or the ID of the
             existing contract if  the  operation  was  not  com-
             pleted.  Use ct_event_get_newct(3CONTRACT) to obtain
             this information.



FILES
     /system/contract

         List of all contract types



     /system/contract/all

         Directory of all contract IDs



     /system/contract/all/id

         Symbolic link to the type-specific directory of contract
         id



     /system/contract/type

         Specific type directory



     /system/contract/type/templete

         Template for the contract type



     /system/contract/type/bundle

         Listening point for all contracts of that type



     /system/contract/type/pbundle

         Listening point for all contracts of that type  for  the
         opening process



SunOS 5.10          Last change: 11 Jul 2005                    8






File Formats                                          contract(4)



     /system/contract/type /latest

         Status of most recent type contract created by the open-
         ing LWP



     /system/contract/type/ID

         Directory for contract id



     /system/contract/type/ID/events

         Listening point for contract id's events



     /system/contract/type/ID/ctl

         Control file for contract ID



     /system/contract/type/ID/status

         Status info for contract ID



SEE ALSO
     ctrun(1),  ctstat(1),  ctwatch(1),   chroot(1M),   close(2),
     ioctl(2),   open(2),   poll(2),   ct_ctl_abandon(3CONTRACT),
     ct_event_get_ctid(3CONTRACT),  ct_event_get_evid(3CONTRACT),
     ct_event_get_flags(3CONTRACT),
     ct_event_get_nevid(3CONTRACT),
     ct_event_get_newct(3CONTRACT), ct_event_get_type(3CONTRACT),
     ct_status_read(3CONTRACT)ct_status_get_cookie(3CONTRACT),
     ct_status_get_critical(3CONTRACT),
     ct_status_get_holder(3CONTRACT),
     ct_status_get_id(3CONTRACT),
     ct_status_get_informative(3CONTRACT),
     ct_status_get_nevid(3CONTRACT),
     ct_status_get_nevents(3CONTRACT),
     ct_status_get_ntime(3CONTRACT),
     ct_status_get_qtime(3CONTRACT),
     ct_status_get_state(3CONTRACT),
     ct_status_get_type(3CONTRACT),
     ct_tmpl_set_cookie(3CONTRACT),
     ct_tmpl_set_critical(3CONTRACT),
     ct_tmpl_set_informative(3CONTRACT),       libcontract(3LIB),



SunOS 5.10          Last change: 11 Jul 2005                    9






File Formats                                          contract(4)



     process(4), largefile(5), lfcompile(5), privileges(5)






















































SunOS 5.10          Last change: 11 Jul 2005                   10





Man(1) output converted with man2html and wrapped by fishsponge

This page was generated on Wed Sep 12 11:27:19 GMT 2007

Your favourite pages:

No pages logged yet.
Trying to save cookie...

Top 10 most popular pages:

sqlite3 man page (5334 hits)
(openSUSE 10.2)

svn man page (5208 hits)
(FreeBSD 6.2)

adv_cap_autoneg man page (4870 hits)
(Solaris 10 11_06)

CPAN man page (4607 hits)
(Suse Linux 10.1)

ssh man page (4342 hits)
(Suse Linux 10.1)

ssh-socks5-proxy-connect man page (2874 hits)
(Solaris 10 11_06)

netcat man page (2717 hits)
(Suse Linux 10.1)

pprosetup man page (2487 hits)
(Solaris 10 11_06)

startproc man page (2471 hits)
(Suse Linux 10.1)

signal man page (2406 hits)
(Suse Linux 10.1)

Useful Links

Go Back

Visitor Statistics


Valid XHTML 1.0 Transitional     Valid CSS!

Partners: Cambridge Plus :: PYRENEES GOLF HOLIDAYS :: PCB Layout, CadStar :: <Link Available>
Unix Man Pages / Linux Man Pages :: HiFi Forum :: SIP VoIP Phone & Provider Reviews :: UNIX/Linux Forum Archives

More info on advertising on Unix/Linux Forum