Update preset.
[bertos.git] / bertos / net / pocketbus.h
index eb32d5630ad96be0da76503922a7fb88fb452177..db7b9c155b45d8b068b2981d600f7a56edf0e344 100644 (file)
  * Copyright 2007 Develer S.r.l. (http://www.develer.com/)
  * -->
  *
- * \version $Id: pocketbus.h 20131 2007-12-13 17:39:55Z batt $
  *
  * \author Francesco Sacchi <batt@develer.com>
  *
- * \brief pocketBus protocol interface.
+ * \brief Basical functions to use pocketBus protocol.
+ *
+ * $WIZ$ module_name = "pocketbus"
+ * $WIZ$ module_depends = "rotating_hash", "kfile"
+ * $WIZ$ module_configuration = "bertos/cfg/cfg_pocketbus.h"
  */
 
 #ifndef NET_POCKETBUS_H
 #define NET_POCKETBUS_H
 
-#include <cfg/cfg_pocketbus.h>        /* for CONFIG_POCKETBUS_BUFLEN */
+#include "cfg/cfg_pocketbus.h"        /* for CONFIG_POCKETBUS_BUFLEN */
 #include <cfg/compiler.h>
 
 #include <algo/rotating_hash.h>
 
-#include <drv/ser.h>
-
-#include <kern/kfile.h>
+#include <io/kfile.h>
 
 /**
  * pocketBus special characters definitions.
@@ -76,7 +77,7 @@ typedef uint16_t pocketbus_addr_t;
  */
 typedef struct PocketBusHdr
 {
-       #define POCKETBUS_VER 1 
+       #define POCKETBUS_VER 1
        uint8_t ver;   ///< packet version
        pocketbus_addr_t addr; ///< slave address
 } PocketBusHdr;
@@ -86,15 +87,16 @@ typedef struct PocketBusHdr
  */
 typedef struct PocketBusCtx
 {
+       uint8_t buf[CONFIG_POCKETBUS_BUFLEN]; ///< receiving Buffer
        struct KFile *fd;   ///< File descriptor
        bool sync;           ///< Status flag: true if we have received an STX, false otherwise
        bool escape;         ///< Status flag: true if we are in escape mode, false otherwise
        rotating_t in_cks;   ///< Checksum computation for received data.
        rotating_t out_cks;  ///< Checksum computation for transmitted data.
        pocketbus_len_t len; ///< Received length
-       uint8_t buf[CONFIG_POCKETBUS_BUFLEN]; ///< receiving Buffer
 } PocketBusCtx;
 
+STATIC_ASSERT(offsetof(PocketBusCtx, buf) == 0);
 /**
  * Structure holding pocketBus message parameters.
  */
@@ -102,7 +104,7 @@ typedef struct PocketMsg
 {
        struct PocketBusCtx *ctx; ///< pocketBus message context
        pocketbus_addr_t addr;    ///< address for received packet
-       pocketbus_len_t len;      ///< payload length 
+       pocketbus_len_t len;      ///< payload length
        const uint8_t *payload;   ///< payload data
 } PocketMsg;