botsense  3.2.0
RoadNarrows Client-Server Proxied Services Framework

The bsSerialMsgs.xml specification defines the set of messages for BotSense virtual connections exstablished between BotSense clients and raw RS-232 serial devices proxied by the bsProxy server.

The serial messages are terminated between the BotSense client libbsclient_serial.so shared library or libbsclient_serial.a static library and the bsProxy plug-in libbsserver_serial.so interface module DLL.

The message encoding is 8-bit Id-Type-Value (itv). All message fields are packed in big-endian order.

1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE netmsgs PUBLIC "-//www.roadnarrows.com//DTD NETMSGS 1.0//EN"
3  "http://www.roadnarrows.com/xml/netmsgs/1.0/netmsgs.dtd">
4 
5 <!--
6  - Package: BotSense
7  - Module: bsSerial
8  - File: bsSerialMsgs.xml
9  -
10 
11 /*!
12  \file
13 
14  $LastChangedDate: 2010-09-13 10:25:05 -0600 (Mon, 13 Sep 2010) $
15  $Rev: 581 $
16 
17  \brief Client - bsProxy server raw RS-232 serial messages.
18 
19  \author Robin Knight (robin.knight@roadnarrows.com)
20 
21  - \copyright
22  - \h_copy 2010-2017. RoadNarrows LLC.\n
23  - http://www.roadnarrows.com\n
24  - All Rights Reserved
25 */
26 
27  - Permission is hereby granted, without written agreement and without
28  - license or royalty fees, to use, copy, modify, and distribute this
29  - software and its documentation for any purpose, provided that
30  - (1) The above copyright notice and the following two paragraphs
31  - appear in all copies of the source code and (2) redistributions
32  - including binaries reproduces these notices in the supporting
33  - documentation. Substantial modifications to this software may be
34  - copyrighted by their authors and need not follow the licensing terms
35  - described here, provided that the new terms are clearly indicated in
36  - all files where they apply.
37  -
38  - IN NO EVENT SHALL THE AUTHOR, ROADNARROWS LLC, OR ANY MEMBERS/EMPLOYEES
39  - OF ROADNARROW LLC OR DISTRIBUTORS OF THIS SOFTWARE BE LIABLE TO ANY
40  - PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
41  - DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
42  - EVEN IF THE AUTHORS OR ANY OF THE ABOVE PARTIES HAVE BEEN ADVISED OF
43  - THE POSSIBILITY OF SUCH DAMAGE.
44  -
45  - THE AUTHOR AND ROADNARROWS LLC SPECIFICALLY DISCLAIM ANY WARRANTIES,
46  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
47  - FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
48  - "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO
49  - PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
50  -
51 -->
52 
53 <netmsgs encoding="itv" endian="big">
54 
55  <!-- ........................................................................
56  - Meta Data to Tweak Source Generation
57  ....................................................................... -->
58  <meta>
59  <brief>
60  BotSense bsProxy server - client raw serial NetMsgs XML Definition
61  </brief>
62  <ns>BsSerial</ns>
63  <prologue lang="h">
64  #include "botsense/BotSense.h"
65  </prologue>
66  <epilogue lang="h"></epilogue>
67  <prologue lang="c"></prologue>
68  <epilogue lang="c"></epilogue>
69  <prologue lang="python">
70 ## maximum vector length
71 NMFVAL_LEN_MAX_VECTOR = nmBase.NMVectorMaxCount
72  </prologue>
73  <epilogue lang="python"></epilogue>
74  </meta>
75 
76  <!-- ........................................................................
77  - Extended Field Types (Optional)
78  ....................................................................... -->
79  <field_types>
80  </field_types>
81 
82 
83  <!-- ........................................................................
84  - Message Definitions
85  ....................................................................... -->
86  <msg_types>
87 
88  <!-- Serial Open Request Arguments Sub-Message -->
89  <msgdef msgid="ReqOpenArgs">
90  <fielddef fname="baudrate" ftype="u32" />
91  <fielddef fname="bytesize" ftype="u8" />
92  <fielddef fname="parity" ftype="char" />
93  <fielddef fname="stopbits" ftype="u8" />
94  <fielddef fname="rtscts" ftype="bool" />
95  <fielddef fname="xonxoff" ftype="bool" />
96  </msgdef>
97 
98  <!-- Serial Read Request -->
99  <msgdef msgid="ReqRead">
100  <fielddef fname="readlen" ftype="u8">
101  <min>1</min>
102  <max>NMFVAL_LEN_MAX_VECTOR</max>
103  </fielddef>
104  </msgdef>
105 
106  <!-- Serial Transaction Request -->
107  <msgdef msgid="ReqTrans">
108  <fielddef fname="writebuf" ftype="u8[]" />
109  <fielddef fname="readlen" ftype="u8">
110  <min>1</min>
111  <max>NMFVAL_LEN_MAX_VECTOR</max>
112  </fielddef>
113  </msgdef>
114 
115  <!-- Serial Read/Transaction Response -->
116  <msgdef msgid="RspRead">
117  <fielddef fname="readbuf" ftype="u8[]" />
118  </msgdef>
119 
120  <!-- Serial Write Request -->
121  <msgdef msgid="ReqWrite">
122  <fielddef fname="writebuf" ftype="u8[]" />
123  </msgdef>
124 
125  <!-- Serial Write Response -->
126  <msgdef msgid="RspWrite">
127  <fielddef fname="byteswritten" ftype="u8" />
128  </msgdef>
129 
130  </msg_types>
131 
132 </netmsgs>