botsense  3.2.0
RoadNarrows Client-Server Proxied Services Framework
bsSerialMsgs.c
Go to the documentation of this file.
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 // File: bsSerialMsgs.c
4 //
5 /*!
6  * \file
7  *
8  * \brief BotSense bsProxy server - client raw serial NetMsgs XML Definition
9  *
10  * \warning This file was auto-generated on 2018.08.10 13:54:23 from the NetMsgs
11  * XML specification bsSerialMsgs.xml.
12  *
13  * \par Copyright:
14  * (C) 2018. RoadNarrows LLC
15  * (http://www.roadnarrows.com)
16  * All Rights Reserved
17  */
18 ///////////////////////////////////////////////////////////////////////////////
19 
20 
21 #include "rnr/rnrconfig.h"
22 #include "rnr/log.h"
23 #include "rnr/netmsgs.h"
24 
25 #include "botsense/bsSerialMsgs.h"
26 
27 #ifndef EOFDEF
28 /*! End of Field Definition entry. */
29 #define EOFDEF {NULL, 0, NMFTypeNone, 0, }
30 #endif // EOFDEF
31 
32 
33 //-----------------------------------------------------------------------------
34 // Private Interface
35 //-----------------------------------------------------------------------------
36 
37 
38 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39 // Message BsSerialReqOpenArgs Definition
40 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41 
42 /*!
43  * BsSerialReqOpenArgs Field Id Enumeration
44  */
45 typedef enum
46 {
47  BsSerialReqOpenArgsFIdReserved = 0, ///< reserved field id
48  BsSerialReqOpenArgsFIdbaudrate = 1, ///< baudrate field id
49  BsSerialReqOpenArgsFIdbytesize = 2, ///< bytesize field id
50  BsSerialReqOpenArgsFIdparity = 3, ///< parity field id
51  BsSerialReqOpenArgsFIdstopbits = 4, ///< stopbits field id
52  BsSerialReqOpenArgsFIdrtscts = 5, ///< rtscts field id
53  BsSerialReqOpenArgsFIdxonxoff = 6, ///< xonxoff field id
54  BsSerialReqOpenArgsFIdNumOf = 7 ///< number of fields
56 
57 /*!
58  * BsSerialReqOpenArgs Field Definitions
59  */
60 static const NMFieldDef_T BsSerialReqOpenArgsFieldDefs[] =
61 {
62  {
63  .m_sFName = "baudrate",
65  .m_eFType = NMFTypeU32,
66  .m_uOffset = memberoffset(BsSerialReqOpenArgs_T, m_baudrate),
67  .m_this.m_u32.m_bits = (byte_t)(0),
68  .m_this.m_u32.m_valMin = (uint_t)(0),
69  .m_this.m_u32.m_valMax = (uint_t)(0),
70  .m_this.m_u32.m_valConst = (uint_t)(0),
71  },
72  {
73  .m_sFName = "bytesize",
75  .m_eFType = NMFTypeU8,
76  .m_uOffset = memberoffset(BsSerialReqOpenArgs_T, m_bytesize),
77  .m_this.m_u8.m_bits = (byte_t)(0),
78  .m_this.m_u8.m_valMin = (byte_t)(0),
79  .m_this.m_u8.m_valMax = (byte_t)(0),
80  .m_this.m_u8.m_valConst = (byte_t)(0),
81  },
82  {
83  .m_sFName = "parity",
85  .m_eFType = NMFTypeChar,
86  .m_uOffset = memberoffset(BsSerialReqOpenArgs_T, m_parity),
87  },
88  {
89  .m_sFName = "stopbits",
91  .m_eFType = NMFTypeU8,
92  .m_uOffset = memberoffset(BsSerialReqOpenArgs_T, m_stopbits),
93  .m_this.m_u8.m_bits = (byte_t)(0),
94  .m_this.m_u8.m_valMin = (byte_t)(0),
95  .m_this.m_u8.m_valMax = (byte_t)(0),
96  .m_this.m_u8.m_valConst = (byte_t)(0),
97  },
98  {
99  .m_sFName = "rtscts",
101  .m_eFType = NMFTypeBool,
102  .m_uOffset = memberoffset(BsSerialReqOpenArgs_T, m_rtscts),
103  },
104  {
105  .m_sFName = "xonxoff",
107  .m_eFType = NMFTypeBool,
108  .m_uOffset = memberoffset(BsSerialReqOpenArgs_T, m_xonxoff),
109  },
110  EOFDEF
111 };
112 
113 /*!
114  * BsSerialReqOpenArgs Message Definition
115  */
116 static const NMMsgDef_T BsSerialReqOpenArgsMsgDef =
117 {
118  .m_sMsgName = "BsSerialReqOpenArgs",
119  .m_eMsgId = BsSerialMsgIdReqOpenArgs,
120  .m_uCount = (size_t)(6),
121  .m_pFields = BsSerialReqOpenArgsFieldDefs
122 };
123 
124 
125 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126 // Message BsSerialReqRead Definition
127 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
128 
129 /*!
130  * BsSerialReqRead Field Id Enumeration
131  */
132 typedef enum
133 {
134  BsSerialReqReadFIdReserved = 0, ///< reserved field id
135  BsSerialReqReadFIdreadlen = 1, ///< readlen field id
136  BsSerialReqReadFIdNumOf = 2 ///< number of fields
138 
139 /*!
140  * BsSerialReqRead Field Definitions
141  */
142 static const NMFieldDef_T BsSerialReqReadFieldDefs[] =
143 {
144  {
145  .m_sFName = "readlen",
146  .m_eFId = BsSerialReqReadFIdreadlen,
147  .m_eFType = NMFTypeU8,
148  .m_uOffset = memberoffset(BsSerialReqRead_T, m_readlen),
149  .m_this.m_u8.m_bits = (byte_t)(NMBITS_HAS_MIN|NMBITS_HAS_MAX),
150  .m_this.m_u8.m_valMin = (byte_t)(1),
151  .m_this.m_u8.m_valMax = (byte_t)(NMFVAL_LEN_MAX_VECTOR),
152  .m_this.m_u8.m_valConst = (byte_t)(0),
153  },
154  EOFDEF
155 };
156 
157 /*!
158  * BsSerialReqRead Message Definition
159  */
160 static const NMMsgDef_T BsSerialReqReadMsgDef =
161 {
162  .m_sMsgName = "BsSerialReqRead",
163  .m_eMsgId = BsSerialMsgIdReqRead,
164  .m_uCount = (size_t)(1),
165  .m_pFields = BsSerialReqReadFieldDefs
166 };
167 
168 
169 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
170 // Message BsSerialReqTrans Definition
171 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
172 
173 /*!
174  * BsSerialReqTranswritebuf Field Definitions
175  */
176 static const NMFieldDef_T BsSerialReqTranswritebufFieldDef[] =
177 {
178  {
179  .m_sFName = "writebuf",
180  .m_eFId = 0,
181  .m_eFType = NMFTypeU8,
182  .m_uOffset = (size_t)0,
183  .m_this.m_u8.m_bits = (byte_t)(0),
184  .m_this.m_u8.m_valMin = (byte_t)(0),
185  .m_this.m_u8.m_valMax = (byte_t)(0),
186  .m_this.m_u8.m_valConst = (byte_t)(0),
187  },
188  EOFDEF
189 };
190 
191 /*!
192  * BsSerialReqTrans Field Id Enumeration
193  */
194 typedef enum
195 {
196  BsSerialReqTransFIdReserved = 0, ///< reserved field id
197  BsSerialReqTransFIdwritebuf = 1, ///< writebuf field id
198  BsSerialReqTransFIdreadlen = 2, ///< readlen field id
199  BsSerialReqTransFIdNumOf = 3 ///< number of fields
201 
202 /*!
203  * BsSerialReqTrans Field Definitions
204  */
205 static const NMFieldDef_T BsSerialReqTransFieldDefs[] =
206 {
207  {
208  .m_sFName = "writebuf",
209  .m_eFId = BsSerialReqTransFIdwritebuf,
210  .m_eFType = NMFTypeVector,
211  .m_uOffset = memberoffset(BsSerialReqTrans_T, m_writebuf),
212  .m_this.m_vector.m_uMaxCount
214  .m_this.m_vector.m_uElemSize
215  = sizeof(byte_t),
216  .m_this.m_vector.m_pThisElem
218  },
219  {
220  .m_sFName = "readlen",
221  .m_eFId = BsSerialReqTransFIdreadlen,
222  .m_eFType = NMFTypeU8,
223  .m_uOffset = memberoffset(BsSerialReqTrans_T, m_readlen),
224  .m_this.m_u8.m_bits = (byte_t)(NMBITS_HAS_MIN|NMBITS_HAS_MAX),
225  .m_this.m_u8.m_valMin = (byte_t)(1),
226  .m_this.m_u8.m_valMax = (byte_t)(NMFVAL_LEN_MAX_VECTOR),
227  .m_this.m_u8.m_valConst = (byte_t)(0),
228  },
229  EOFDEF
230 };
231 
232 /*!
233  * BsSerialReqTrans Message Definition
234  */
235 static const NMMsgDef_T BsSerialReqTransMsgDef =
236 {
237  .m_sMsgName = "BsSerialReqTrans",
238  .m_eMsgId = BsSerialMsgIdReqTrans,
239  .m_uCount = (size_t)(2),
240  .m_pFields = BsSerialReqTransFieldDefs
241 };
242 
243 
244 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
245 // Message BsSerialRspRead Definition
246 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
247 
248 /*!
249  * BsSerialRspReadreadbuf Field Definitions
250  */
251 static const NMFieldDef_T BsSerialRspReadreadbufFieldDef[] =
252 {
253  {
254  .m_sFName = "readbuf",
255  .m_eFId = 0,
256  .m_eFType = NMFTypeU8,
257  .m_uOffset = (size_t)0,
258  .m_this.m_u8.m_bits = (byte_t)(0),
259  .m_this.m_u8.m_valMin = (byte_t)(0),
260  .m_this.m_u8.m_valMax = (byte_t)(0),
261  .m_this.m_u8.m_valConst = (byte_t)(0),
262  },
263  EOFDEF
264 };
265 
266 /*!
267  * BsSerialRspRead Field Id Enumeration
268  */
269 typedef enum
270 {
271  BsSerialRspReadFIdReserved = 0, ///< reserved field id
272  BsSerialRspReadFIdreadbuf = 1, ///< readbuf field id
273  BsSerialRspReadFIdNumOf = 2 ///< number of fields
275 
276 /*!
277  * BsSerialRspRead Field Definitions
278  */
279 static const NMFieldDef_T BsSerialRspReadFieldDefs[] =
280 {
281  {
282  .m_sFName = "readbuf",
283  .m_eFId = BsSerialRspReadFIdreadbuf,
284  .m_eFType = NMFTypeVector,
285  .m_uOffset = memberoffset(BsSerialRspRead_T, m_readbuf),
286  .m_this.m_vector.m_uMaxCount
288  .m_this.m_vector.m_uElemSize
289  = sizeof(byte_t),
290  .m_this.m_vector.m_pThisElem
292  },
293  EOFDEF
294 };
295 
296 /*!
297  * BsSerialRspRead Message Definition
298  */
299 static const NMMsgDef_T BsSerialRspReadMsgDef =
300 {
301  .m_sMsgName = "BsSerialRspRead",
302  .m_eMsgId = BsSerialMsgIdRspRead,
303  .m_uCount = (size_t)(1),
304  .m_pFields = BsSerialRspReadFieldDefs
305 };
306 
307 
308 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
309 // Message BsSerialReqWrite Definition
310 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
311 
312 /*!
313  * BsSerialReqWritewritebuf Field Definitions
314  */
315 static const NMFieldDef_T BsSerialReqWritewritebufFieldDef[] =
316 {
317  {
318  .m_sFName = "writebuf",
319  .m_eFId = 0,
320  .m_eFType = NMFTypeU8,
321  .m_uOffset = (size_t)0,
322  .m_this.m_u8.m_bits = (byte_t)(0),
323  .m_this.m_u8.m_valMin = (byte_t)(0),
324  .m_this.m_u8.m_valMax = (byte_t)(0),
325  .m_this.m_u8.m_valConst = (byte_t)(0),
326  },
327  EOFDEF
328 };
329 
330 /*!
331  * BsSerialReqWrite Field Id Enumeration
332  */
333 typedef enum
334 {
335  BsSerialReqWriteFIdReserved = 0, ///< reserved field id
336  BsSerialReqWriteFIdwritebuf = 1, ///< writebuf field id
337  BsSerialReqWriteFIdNumOf = 2 ///< number of fields
339 
340 /*!
341  * BsSerialReqWrite Field Definitions
342  */
343 static const NMFieldDef_T BsSerialReqWriteFieldDefs[] =
344 {
345  {
346  .m_sFName = "writebuf",
347  .m_eFId = BsSerialReqWriteFIdwritebuf,
348  .m_eFType = NMFTypeVector,
349  .m_uOffset = memberoffset(BsSerialReqWrite_T, m_writebuf),
350  .m_this.m_vector.m_uMaxCount
352  .m_this.m_vector.m_uElemSize
353  = sizeof(byte_t),
354  .m_this.m_vector.m_pThisElem
356  },
357  EOFDEF
358 };
359 
360 /*!
361  * BsSerialReqWrite Message Definition
362  */
363 static const NMMsgDef_T BsSerialReqWriteMsgDef =
364 {
365  .m_sMsgName = "BsSerialReqWrite",
366  .m_eMsgId = BsSerialMsgIdReqWrite,
367  .m_uCount = (size_t)(1),
368  .m_pFields = BsSerialReqWriteFieldDefs
369 };
370 
371 
372 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
373 // Message BsSerialRspWrite Definition
374 // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
375 
376 /*!
377  * BsSerialRspWrite Field Id Enumeration
378  */
379 typedef enum
380 {
381  BsSerialRspWriteFIdReserved = 0, ///< reserved field id
382  BsSerialRspWriteFIdbyteswritten = 1, ///< byteswritten field id
383  BsSerialRspWriteFIdNumOf = 2 ///< number of fields
385 
386 /*!
387  * BsSerialRspWrite Field Definitions
388  */
389 static const NMFieldDef_T BsSerialRspWriteFieldDefs[] =
390 {
391  {
392  .m_sFName = "byteswritten",
394  .m_eFType = NMFTypeU8,
395  .m_uOffset = memberoffset(BsSerialRspWrite_T, m_byteswritten),
396  .m_this.m_u8.m_bits = (byte_t)(0),
397  .m_this.m_u8.m_valMin = (byte_t)(0),
398  .m_this.m_u8.m_valMax = (byte_t)(0),
399  .m_this.m_u8.m_valConst = (byte_t)(0),
400  },
401  EOFDEF
402 };
403 
404 /*!
405  * BsSerialRspWrite Message Definition
406  */
407 static const NMMsgDef_T BsSerialRspWriteMsgDef =
408 {
409  .m_sMsgName = "BsSerialRspWrite",
410  .m_eMsgId = BsSerialMsgIdRspWrite,
411  .m_uCount = (size_t)(1),
412  .m_pFields = BsSerialRspWriteFieldDefs
413 };
414 
415 
416 //-----------------------------------------------------------------------------
417 // Public Interface
418 //-----------------------------------------------------------------------------
419 
420 /*!
421  * BsSerial Message Definition Look-Up Table. Indexed by BsSerialMsgId_T enum.
422  */
423 const NMMsgDef_T *BsSerialMsgDefLookupTbl[] =
424 {
425  NULL, ///< [BsSerialMsgIdNone]
426  &BsSerialReqOpenArgsMsgDef, ///< [BsSerialMsgIdReqOpenArgs]
427  &BsSerialReqReadMsgDef, ///< [BsSerialMsgIdReqRead]
428  &BsSerialReqTransMsgDef, ///< [BsSerialMsgIdReqTrans]
429  &BsSerialRspReadMsgDef, ///< [BsSerialMsgIdRspRead]
430  &BsSerialReqWriteMsgDef, ///< [BsSerialMsgIdReqWrite]
431  &BsSerialRspWriteMsgDef, ///< [BsSerialMsgIdRspWrite]
432  NULL ///< [BsSerialMsgIdNumOf]
433 };
434 
435 /*!
436  * BsSerial Message Maximum Size Look-Up Table. Indexed by BsSerialMsgId_T enum.
437  */
439 {
440  (size_t)(0), ///< [BsSerialMsgIdNone]
441  (size_t)(24), ///< [BsSerialMsgIdReqOpenArgs]
442  (size_t)(6), ///< [BsSerialMsgIdReqRead]
443  (size_t)(265), ///< [BsSerialMsgIdReqTrans]
444  (size_t)(262), ///< [BsSerialMsgIdRspRead]
445  (size_t)(262), ///< [BsSerialMsgIdReqWrite]
446  (size_t)(6), ///< [BsSerialMsgIdRspWrite]
447  (size_t)(0) ///< [BsSerialMsgIdNumOf]
448 };
449 
450 
451 //-----------------------------------------------------------------------------
452 // Functions
453 //-----------------------------------------------------------------------------
454 
455 /*!
456  * \brief Look up the message definition associated with the message id.
457  *
458  * \param eMsgId Message Id.
459  *
460  * \return
461  * On success, returns the pointer to the NMMsgDef_T.
462  * On error, NULL is returned.
463  */
464 const NMMsgDef_T * BsSerialLookupMsgDef( BsSerialMsgId_T eMsgId )
465 {
466  if( (uint_t)eMsgId >= (uint_t)BsSerialMsgIdNumOf )
467  {
468  return NULL;
469  }
470  else
471  {
472  return BsSerialMsgDefLookupTbl[(uint_t)eMsgId];
473  }
474 }
475 
476 /*!
477  * \brief Look up the message maximum length associated with the message id.
478  *
479  * The maximum length is the total number of packed bytes possible for the
480  * given message. The message may be much shorter.
481  *
482  * \param eMsgId Message Id.
483  *
484  * \return
485  * On success, returns the number of bytes.
486  * On error, 0 is returned.
487  */
489 {
490  if( (uint_t)eMsgId >= (uint_t)BsSerialMsgIdNumOf )
491  {
492  return (size_t)0;
493  }
494  else
495  {
496  return BsSerialMsgMaxLenLookupTbl[(uint_t)eMsgId];
497  }
498 }
499 
500 /*!
501  * \brief Pack a ITV message in big-endian byte order.
502  *
503  * \param eMsgId Message Id.
504  * \param [in] pStruct Pointer to the associated, populated message
505  * structure.
506  * \param [out] buf Output message buffer.
507  * \param bufSize Size of output buffer.
508  * \param bTrace Do [not] trace packing.
509  *
510  * \return
511  * On success, returns the number of bytes packed.
512  * On error, returns the appropriate < 0 negated NM_ECODE.
513  */
515  void * pStruct,
516  byte_t buf[],
517  size_t bufSize,
518  bool_t bTrace )
519 {
520  const NMMsgDef_T *pMsgDef;
521 
522  if( (pMsgDef = BsSerialLookupMsgDef(eMsgId)) == NULL )
523  {
524  LOGERROR("%s(ecode=%d): msgid=%u.",
525  nmStrError(NM_ECODE_MSGID), NM_ECODE_MSGID, eMsgId);
526  return -NM_ECODE_MSGID;
527  }
528 
529  if( bTrace )
530  {
531  return nmPackITVMsgDebug(pMsgDef, pStruct, buf, bufSize, NMEndianBig);
532  }
533  else
534  {
535  return nmPackITVMsg(pMsgDef, pStruct, buf, bufSize, NMEndianBig);
536  }
537 }
538 
539 /*!
540  * \brief Unpack a ITV message in big-endian byte order.
541  *
542  * \param eMsgId Message Id.
543  * \param [in] buf Input message buffer.
544  * \param uMsgLen Length of message (bytes) in input buffer.
545  * \param [out] pStruct Pointer to the associated message structure.
546  * \param bTrace Do [not] trace packing.
547  *
548  * \return
549  * On success, returns the number of bytes unpacked.
550  * On error, returns the appropriate < 0 negated NM_ECODE.
551  */
553  byte_t buf[],
554  size_t uMsgLen,
555  void * pStruct,
556  bool_t bTrace )
557 {
558  const NMMsgDef_T *pMsgDef;
559 
560  if( (pMsgDef = BsSerialLookupMsgDef(eMsgId)) == NULL )
561  {
562  LOGERROR("%s(ecode=%d): msgid=%u.",
563  nmStrError(NM_ECODE_MSGID), NM_ECODE_MSGID, eMsgId);
564  return -NM_ECODE_MSGID;
565  }
566 
567  if( bTrace )
568  {
569  return nmUnpackITVMsgDebug(pMsgDef, buf, uMsgLen, pStruct, NMEndianBig);
570  }
571  else
572  {
573  return nmUnpackITVMsg(pMsgDef, buf, uMsgLen, pStruct, NMEndianBig);
574  }
575 }
576 
BsSerialReqTransFId_T
Definition: bsSerialMsgs.c:194
const NMMsgDef_T * BsSerialMsgDefLookupTbl[]
Definition: bsSerialMsgs.c:423
BsSerialRspWriteFId_T
Definition: bsSerialMsgs.c:379
reserved field id
Definition: bsSerialMsgs.c:335
static const NMFieldDef_T BsSerialRspReadFieldDefs[]
Definition: bsSerialMsgs.c:279
int BsSerialUnpackMsg(BsSerialMsgId_T eMsgId, byte_t buf[], size_t uMsgLen, void *pStruct, bool_t bTrace)
Unpack a ITV message in big-endian byte order.
Definition: bsSerialMsgs.c:552
BsSerialReqWriteFId_T
Definition: bsSerialMsgs.c:333
BsSerialReqReadFId_T
Definition: bsSerialMsgs.c:132
readlen field id
Definition: bsSerialMsgs.c:135
byteswritten field id
Definition: bsSerialMsgs.c:382
#define EOFDEF
Definition: bsSerialMsgs.c:29
BsSerialMsgId_T
Definition: bsSerialMsgs.h:35
static const NMMsgDef_T BsSerialRspReadMsgDef
Definition: bsSerialMsgs.c:299
size_t BsSerialLookupMsgMaxLen(BsSerialMsgId_T eMsgId)
Look up the message maximum length associated with the message id.
Definition: bsSerialMsgs.c:488
static const NMFieldDef_T BsSerialReqWriteFieldDefs[]
Definition: bsSerialMsgs.c:343
number of fields
Definition: bsSerialMsgs.c:383
reserved field id
Definition: bsSerialMsgs.c:381
BsSerialReqOpenArgsFId_T
Definition: bsSerialMsgs.c:45
number of fields
Definition: bsSerialMsgs.c:199
static const NMMsgDef_T BsSerialReqTransMsgDef
Definition: bsSerialMsgs.c:235
number of fields
Definition: bsSerialMsgs.c:273
reserved field id
Definition: bsSerialMsgs.c:271
readbuf field id
Definition: bsSerialMsgs.c:272
#define BSSERIAL_REQTRANS_WRITEBUF_LEN
Definition: bsSerialMsgs.h:89
BsSerialRspReadFId_T
Definition: bsSerialMsgs.c:269
static const NMFieldDef_T BsSerialReqReadFieldDefs[]
Definition: bsSerialMsgs.c:142
BotSense bsProxy server - client raw serial NetMsgs XML Definition.
#define BSSERIAL_REQWRITE_WRITEBUF_LEN
Definition: bsSerialMsgs.h:140
static const NMFieldDef_T BsSerialRspWriteFieldDefs[]
Definition: bsSerialMsgs.c:389
reserved field id
Definition: bsSerialMsgs.c:196
static const NMFieldDef_T BsSerialReqTranswritebufFieldDef[]
Definition: bsSerialMsgs.c:176
static const NMFieldDef_T BsSerialReqWritewritebufFieldDef[]
Definition: bsSerialMsgs.c:315
int BsSerialPackMsg(BsSerialMsgId_T eMsgId, void *pStruct, byte_t buf[], size_t bufSize, bool_t bTrace)
Pack a ITV message in big-endian byte order.
Definition: bsSerialMsgs.c:514
static const NMFieldDef_T BsSerialReqOpenArgsFieldDefs[]
Definition: bsSerialMsgs.c:60
static const NMFieldDef_T BsSerialRspReadreadbufFieldDef[]
Definition: bsSerialMsgs.c:251
static const NMMsgDef_T BsSerialReqOpenArgsMsgDef
Definition: bsSerialMsgs.c:116
number of fields
Definition: bsSerialMsgs.c:337
static const NMFieldDef_T BsSerialReqTransFieldDefs[]
Definition: bsSerialMsgs.c:205
writebuf field id
Definition: bsSerialMsgs.c:336
number of fields
Definition: bsSerialMsgs.c:136
size_t BsSerialMsgMaxLenLookupTbl[]
Definition: bsSerialMsgs.c:438
static const NMMsgDef_T BsSerialReqReadMsgDef
Definition: bsSerialMsgs.c:160
const NMMsgDef_T * BsSerialLookupMsgDef(BsSerialMsgId_T eMsgId)
Look up the message definition associated with the message id.
Definition: bsSerialMsgs.c:464
static const NMMsgDef_T BsSerialRspWriteMsgDef
Definition: bsSerialMsgs.c:407
reserved field id
Definition: bsSerialMsgs.c:134
static const NMMsgDef_T BsSerialReqWriteMsgDef
Definition: bsSerialMsgs.c:363
number of message ids
Definition: bsSerialMsgs.h:44
writebuf field id
Definition: bsSerialMsgs.c:197
#define BSSERIAL_RSPREAD_READBUF_LEN
Definition: bsSerialMsgs.h:115