Diff for /mqtt/inc/Attic/aitmqtt.h between versions 1.1.1.1.2.17 and 1.1.1.1.2.22

version 1.1.1.1.2.17, 2011/11/22 14:00:09 version 1.1.1.1.2.22, 2011/11/28 10:17:12
Line 2 Line 2
 #define __AITMQTT_H  #define __AITMQTT_H
   
   
 #define MQTT_DATA_MAX           268435455  
 #define MQTT_CONN_STR           "MQIsdp"  
 #define MQTT_PROTO_VER          3  
 #define MQTT_KEEPALIVE          10  
   
 /* FIXED HEADER */  /* FIXED HEADER */
   
 struct mqtthdr {  struct mqtthdr {
Line 17  struct mqtthdr { Line 12  struct mqtthdr {
                                         dup:1,                                          dup:1,
                                         type:4;                                          type:4;
                 };                  };
                unsigned char   val;                unsigned char           val;
         } mqtt_msg;          } mqtt_msg;
        unsigned char           mqtt_len[1];    /* may be grow to 4 bytes */        unsigned char                   mqtt_len[1];    /* may be grow to 4 bytes */
 } __packed;  } __packed;
 #define MQTTHDR_MSGINIT(x)      (assert((x)), (x)->mqtt_msg.val ^= (x)->mqtt_msg.val)  #define MQTTHDR_MSGINIT(x)      (assert((x)), (x)->mqtt_msg.val ^= (x)->mqtt_msg.val)
   
Line 38  struct mqtthdr { Line 33  struct mqtthdr {
 #define MQTT_TYPE_PINGREQ       12      /* PING request */  #define MQTT_TYPE_PINGREQ       12      /* PING request */
 #define MQTT_TYPE_PINGRESP      13      /* PING response */  #define MQTT_TYPE_PINGRESP      13      /* PING response */
 #define MQTT_TYPE_DISCONNECT    14      /* client is disconnecting */  #define MQTT_TYPE_DISCONNECT    14      /* client is disconnecting */
#define MQTT_TYPE_RESERVED        15      /* reserved */#define MQTT_TYPE_MAX             15      /* reserved */
   
 #define MQTT_FLAG_DUP           1       /* This flag is set when the client or server attempts to re-deliver   #define MQTT_FLAG_DUP           1       /* This flag is set when the client or server attempts to re-deliver 
                                            a PUBLISH, PUBREL, SUBSCRIBE or UNSUBSCRIBE message.                                              a PUBLISH, PUBREL, SUBSCRIBE or UNSUBSCRIBE message. 
Line 100  typedef union { Line 95  typedef union {
 } mqtt_v_t;  } mqtt_v_t;
   
 typedef struct {  typedef struct {
        mqtt_v_t        sub_sb;        unsigned char   sub_ret;
        char            *sub_data;        struct __sbuf   sub_topic;
        unsigned char   sub_qos;        struct __sbuf   sub_value;
 } mqtt_subscr_t;  } mqtt_subscr_t;
   
 typedef struct {  typedef struct {
Line 136  typedef struct { Line 131  typedef struct {
         unsigned short  msg_len;          unsigned short  msg_len;
 } mqtt_msg_t;  } mqtt_msg_t;
   
   /* MQTT dispatcher callbacks */
   
   typedef int (*mqtt_cb_t)(void *);
   
   
 // -------------------------------------------------------  // -------------------------------------------------------
 // mqtt_GetErrno() Get error code of last operation  // mqtt_GetErrno() Get error code of last operation
 inline int mqtt_GetErrno();  inline int mqtt_GetErrno();
Line 216  inline void mqtt_subFree(mqtt_subscr_t ** __restrict s Line 215  inline void mqtt_subFree(mqtt_subscr_t ** __restrict s
  */   */
 inline mqtt_subscr_t *mqtt_subAlloc(unsigned short num);  inline mqtt_subscr_t *mqtt_subAlloc(unsigned short num);
   
   
   /*** SENDER FUNCTIONS ***/
   
 /*  /*
  * mqtt_msgCONNECT() Create CONNECT message   * mqtt_msgCONNECT() Create CONNECT message
  *   *
Line 242  int mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const Line 244  int mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const
  * return: -1 error or >-1 message size for send   * return: -1 error or >-1 message size for send
  */   */
 int mqtt_msgCONNACK(mqtt_msg_t * __restrict buf, unsigned char retcode);  int mqtt_msgCONNACK(mqtt_msg_t * __restrict buf, unsigned char retcode);
   /*
    * mqtt_msgDISCONNECT() Create DISCONNECT message
    *
    * @buf = Message buffer
    * return: -1 error or >-1 message size for send
    */
   int mqtt_msgDISCONNECT(mqtt_msg_t * __restrict buf);
   /*
    * mqtt_msgPINGREQ() Create PINGREQ message
    *
    * @buf = Message buffer
    * return: -1 error or >-1 message size for send
    */
   int mqtt_msgPINGREQ(mqtt_msg_t * __restrict buf);
   /*
    * mqtt_msgPINGRESP() Create PINGRESP message
    *
    * @buf = Message buffer
    * return: -1 error or >-1 message size for send
    */
   int mqtt_msgPINGRESP(mqtt_msg_t * __restrict buf);
   
 /*  /*
  * mqtt_msgPUBLISH() Create PUBLISH message   * mqtt_msgPUBLISH() Create PUBLISH message
Line 336  mqtt_msgUNSUBSCRIBE(mqtt_msg_t * __restrict buf, mqtt_ Line 359  mqtt_msgUNSUBSCRIBE(mqtt_msg_t * __restrict buf, mqtt_
  * return: -1 error or >-1 message size for send   * return: -1 error or >-1 message size for send
  */   */
 int mqtt_msgUNSUBACK(mqtt_msg_t * __restrict buf, unsigned short msgID);  int mqtt_msgUNSUBACK(mqtt_msg_t * __restrict buf, unsigned short msgID);
   
   
   /*** RECEIVER FUNCTIONS ***/
   
   /*
    * mqttInitCallbacks() Init callback array for dispatcher
    *
    * return: NULL error or !=NULL allocated callback array, after use free with mqttFiniCallbacks()
    */
   mqtt_cb_t *mqttInitCallbacks(void);
   /*
    * mqttFiniCallbacks() Free callback array
    *
    * @cb = Callback array
    * return: none
    */
   void mqttFiniCallbacks(mqtt_cb_t ** __restrict cb);
   /*
    * MQTT_CALLBACK() Assign function to callback array for MQTT dispatcher
    *
    * @_cbs = Callback array
    * @_x = MQTT Message type, like MQTT_TYPE_* ...
    * @_func = Function
    * return: none
    */
   #define MQTT_CALLBACK(_cbs, _x, _func)  (assert((_cbs)), (_cbs)[(_x)] = (_func))
   /*
    * mqttDispatcher() MQTT Message type dispatcher
    *
    * @cb = Callback array
    * @buf = Received MQTT message
    * return: -1 error or >-1 return value from executed callback
    */
   inline int mqttDispatcher(mqtt_cb_t * __restrict cb, mqtt_msg_t * __restrict buf);
   
   
 #endif  #endif

Removed from v.1.1.1.1.2.17  
changed lines
  Added in v.1.1.1.1.2.22


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>