botsense  3.2.0
RoadNarrows Client-Server Proxied Services Framework
man_bsproxy.doxy
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Package: BotSense
4 //
5 // File: man_bsproxy.doxy
6 //
7 // $LastChangedDate: 2012-02-14 12:39:13 -0700 (Tue, 14 Feb 2012) $
8 // $Rev: 1801 $
9 //
10 // Description:
11 // This file contains the doxygen directives to generate the standard
12 // man pages for the bsProxy server.
13 //
14 ////////////////////////////////////////////////////////////////////////////////
15 
16 /*! \file */
17 
18 /*!
19  * \ingroup bsserver
20  * \defgroup man_bsproxy bsProxy Man Page
21 
22 \par Name:
23 bsProxy - \h_botsense IP Proxy Server.
24 
25 \par Synopsis:
26 <tt>
27 bsProxy [OPTIONS]
28 \n
29 bsProxy --version\n
30 bsProxy --help
31 </tt>
32 
33 \par Description:
34 The \h_botsense Proxy Server <b>bsProxy</b> provides an IP interace to any
35 proxied (pseudo) device. The <b>bsProxy</b> is multi-threaded by device to
36 optimize client responsiveness. For each (pseudo) device, there must exist a
37 dynamically linked library that <b>bsProxy</b> will load to service the
38 device-specific request, plus a client side library or enabled application to
39 initiate the request and receive the responses.
40 The two ends typically, but are not required to, communicate through a
41 set of RoadNarrows NetMsgs defined network messages.\n\n
42 The Message Exchange Patterns (MEP) supported by <b>bsProxy</b> are:
43 \li client request - server response
44 \li server output streaming (e.g. video).
45 
46 \par Options:
47 Mandatory arguments to long options are also mandatory for short options.
48 \htmlonly
49 <table class="rnr-opts">
50 <tr><td class="rnr-opts-grp">Server</td></tr>
51 
52 <tr><td class="rnr-opts-opt">
53  -i, --interface=[<em>addr</em>][:<em>port</em>]
54 </td></tr>
55 <tr><td>
56 Server passive socket interface. The server will
57 listen on this interface to accept new
58 incoming connection requests.
59 This options can be specified multiple times to define multiple listen
60 interfaces. For each interface instance &gt; 1 specified, <b>bsProxy</b> will
61 fork-exec a copy of itself, servicing that interface.
62 <br>
63 DEFAULT: <tt>:9195</tt>
64 </td></tr>
65 
66 <tr><td class="rnr-opts-opt">
67  -L, --libpath=<em>dir</em>
68 </td></tr>
69 <tr><td>
70 Add library directory path to search for dynamic linked library plugins.
71 This option can be specified multiple times to to build a list of search
72 paths.
73 </td></tr>
74 
75 
76 <tr><td class="rnr-opts-grp">Logging</td></tr>
77 <tr><td class="rnr-opts-opt">
78  -l <em>level</em>, --log=<em>level</em>
79 </td></tr>
80 <tr><td>
81  Set logging threshold level. All logging events
82  with priority &le; <em>level</em> will be logged. All
83  others will be ignored. Error events are
84  always logged. The <em>level</em> is one of:<br>
85  <table class="rnr-opts" style="text-align:left">
86  <tr>
87  <td>'off' or 0</td>
88  <td>Disable all logging.</td>
89  </tr>
90  <tr>
91  <td>'error' or 1</td>
92  <td>Enable error logging.</td>
93  </tr>
94  <tr>
95  <td>'diag1' or 2</td>
96  <td>Enable diagnostics 1 logging.</td>
97  </tr>
98  <tr>
99  <td>'diag2' or 3</td>
100  <td>Enable diagnostics 2 logging.</td>
101  </tr>
102  <tr>
103  <td>'diag3' or 4</td>
104  <td>Enable diagnostics 3 logging.<br>
105  The libSkewlZone library logs at this level</td>
106  </tr>
107  <tr>
108  <td>'diag4' or 5</td>
109  <td>Enable diagnostics 4 logging.</td>
110  </tr>
111  <tr>
112  <td>'diag5' or 6</td>
113  <td>Enable diagnostics 5 logging.</td>
114  </tr>
115  <tr>
116  <td>&gt;6</td>
117  <td>Enable user-defined logging.</td>
118  </tr>
119  </table>
120  DEFAULT: off
121 </td></tr>
122 <tr><td class="rnr-opts-opt">
123  --logfile=<em>file</em>
124 </td></tr>
125 <tr><td>
126  Set log output file to <em>file</em>.
127  Special <em>file</em> names are:
128  <table class="rnr-opts" style="text-align:left">
129  <tr>
130  <td>'stderr'</td>
131  <td>log to standard error.</td>
132  </tr>
133  <tr>
134  <td>'stdout'</td>
135  <td>log to standard output.</td>
136  </tr>
137  </table>
138  DEFAULT: stderr
139 </td></tr>
140 
141 <tr><td class="rnr-opts-grp">Information</td></tr>
142 <tr><td class="rnr-opts-opt">
143  --help
144 </td></tr>
145 <tr><td>
146  Display command help and exit.
147 </td></tr>
148 <tr><td class="rnr-opts-opt">
149  --version
150 </td></tr>
151 <tr><td>
152  Output version information and exit.
153 </td></tr>
154 </table>
155 \endhtmlonly
156 
157 \par Examples:
158 \htmlonly
159 <pre class="fragment"><div class="fragment"><span
160 class="comment"># Example 1
161 # Start bsProxy in the foreground using defaults and listening to all enabled
162 # IP interfaces.
163 $
164 $ bsProxy --log=diag1
165 BSPROXY: Diag1: bsProxy.c[888] BotSense IP Proxy Server bsProxy_9195 started
166 BSPROXY: Diag1: bsProxy.c[504] bsProxy_9195: Listening on interface 9195
167 BSPROXY: Diag1: bsProxyThread.c[518] Service Thread "#SERVER" created.
168 $
169 </div></pre>
170 \endhtmlonly
171 \n
172 \htmlonly
173 <pre class="fragment"><div class="fragment"><span
174 class="comment"># Example 2
175 # Start bsProxy in background listening on a specific interface, with a
176 # list of user project library search directories, and with diagnostic
177 # logging streamed to the given file.
178 $
179 $ bsProxy --interface=192.168.1.32:49900 -L/workspace/bob/lib \
180  -L/workspace/alice/lib --logfile=/workspace/log/log1.txt &
181 $
182 </div></pre>
183 \endhtmlonly
184 
185  * \{
186  */
187 
188 /*! \} */