s6

Mirror/fork of https://skarnet.org/software/s6/
git clone https://ccx.te2000.cz/git/s6
Log | Files | Refs | README | LICENSE

index.html (2443B)


      1 <html>
      2   <head>
      3     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      4     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      5     <meta http-equiv="Content-Language" content="en" />
      6     <title>s6: the s6 library interface</title>
      7     <meta name="Description" content="s6: the s6 library interface" />
      8     <meta name="Keywords" content="s6 s6 libs6 library" />
      9     <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> -->
     10   </head>
     11 <body>
     12 
     13 <p>
     14 <a href="../">s6</a><br />
     15 <a href="//skarnet.org/software/">Software</a><br />
     16 <a href="//skarnet.org/">skarnet.org</a>
     17 </p>
     18 
     19 <h1> The <tt>s6</tt> library interface </h1>
     20 
     21 <h2> General information </h2>
     22 
     23 <p>
     24  <tt>libs6</tt> is a collection of utility
     25 C interfaces, used in the s6 executables.
     26 </p>
     27 
     28 <h2> Compiling </h2>
     29 
     30 <ul>
     31  <li> Make sure the s6 headers, as well as the skalibs headers,
     32 are visible in your header search path. </li>
     33  <li> Use <tt>#include &lt;s6/s6.h&gt;</tt> </li>
     34 </ul>
     35 
     36 <h2> Linking </h2>
     37 
     38 <ul>
     39  <li> Make sure the s6 libraries, as well as the skalibs
     40 libraries, are visible in your library search path. </li>
     41  <li> Link against <tt>-ls6</tt> and <tt>-lskarnet</tt>.
     42 If you're using socket functions (which is the case with
     43 <a href="ftrigr.html">libftrigr</a>, for instance, add
     44 <tt>`cat $sysdeps/socket.lib`</tt> to your command line.
     45 If you're using timed functions involving TAI timestamps
     46 (which is also the case with <a href="ftrigr.html">libftrigr</a>
     47 for instance), add
     48 <tt>`cat $sysdeps/sysclock.lib`</tt>. <tt>$sysdeps</tt>
     49 stands for your skalibs sysdeps directory. </li>
     50 </ul>
     51 
     52 <h2> Programming </h2>
     53 
     54 <p>
     55  The <tt>s6/s6.h</tt> header is actually a
     56 concatenation of other headers:
     57 the libs6 is separated into several modules, each of them with its
     58 own header.
     59 </p>
     60 
     61 <ul>
     62  <li> The <a href="accessrules.html">s6/accessrules.h</a> header
     63 provides functions to check credentials against configuration files. </li>
     64  <li> The <a href="ftrigr.html">s6/ftrigr.h</a> header provides
     65 functions to subscribe to fifodirs and be notified of events. </li>
     66  <li> The <a href="ftrigw.html">s6/ftrigw.h</a> header provides
     67 functions to manage fifodirs and send notifications to them. </li>
     68  <li> The <a href="fdholder.html">s6/fdholder.h</a> header provides
     69 functions to communicate with a
     70 <a href="../s6-fdholderd.html">s6-fdholderd</a> server and exchange
     71 file descriptors with it. </li>
     72 </ul>
     73 
     74 </body>
     75 </html>