Diff for /mqtt/inc/Attic/aitmqtt.h between versions 1.1.1.1.2.14 and 1.1.1.1.2.20

version 1.1.1.1.2.14, 2011/11/22 12:02:17 version 1.1.1.1.2.20, 2011/11/22 14:48:25
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 {
        struct {        union {
                unsigned char   retain:1,                 struct {
                                qos:2,                        unsigned char   retain:1, 
                                dup:1,                                        qos:2,
                                type:4;                                        dup:1,
                                         type:4;
                 };
                 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 MQTT_TYPE_UNKNOWN       0       /* reserved */  
 #define MQTT_TYPE_CONNECT       1       /* client request to connect to server */  
 #define MQTT_TYPE_CONNACK       2       /* connect acknowledgment */  
 #define MQTT_TYPE_PUBLISH       3       /* publish message */  
 #define MQTT_TYPE_PUBACK        4       /* publish acknowledgment */  
 #define MQTT_TYPE_PUBREC        5       /* publish received (assured delivery part 1) */  
 #define MQTT_TYPE_PUBREL        6       /* publish release (assured delivery part 2) */  
 #define MQTT_TYPE_PUBCOMP       7       /* publish complete (assured delivery part 3) */  
 #define MQTT_TYPE_SUBSCRIBE     8       /* client subscribe request */  
 #define MQTT_TYPE_SUBACK        9       /* subscribe acknowledgment */  
 #define MQTT_TYPE_UNSUBSCRIBE   10      /* client unsubscribe request */  
 #define MQTT_TYPE_UNSUBACK      11      /* unsubscribe acknowledgment */  
 #define MQTT_TYPE_PINGREQ       12      /* PING request */  
 #define MQTT_TYPE_PINGRESP      13      /* PING response */  
 #define MQTT_TYPE_DISCONNECT    14      /* client is disconnecting */  
 #define MQTT_TYPE_RESERVED      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. 
                                            This applies to messages where the value of QoS is greater than                                              This applies to messages where the value of QoS is greater than 
Line 132  typedef struct { Line 114  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 143  inline const char *mqtt_GetError(); Line 129  inline const char *mqtt_GetError();
   
 /*  /*
  * mqtt_msgAlloc() Allocate memory for MQTT Message   * mqtt_msgAlloc() Allocate memory for MQTT Message
    *
  * @len = >0 Allocate buffer with length   * @len = >0 Allocate buffer with length
  * return: NULL error or Message, after use must call mqtt_msgFree() with all!=0   * return: NULL error or Message, after use must call mqtt_msgFree() with all!=0
  */   */
 inline mqtt_msg_t *mqtt_msgAlloc(unsigned short len);  inline mqtt_msg_t *mqtt_msgAlloc(unsigned short len);
 /*  /*
  * mqtt_msgFree() Free MQTT message   * mqtt_msgFree() Free MQTT message
    *
  * @msg = Message buffer   * @msg = Message buffer
  * @all = !=0 Destroy entire message, if MQTT Message allocated with mqtt_msgAlloc()   * @all = !=0 Destroy entire message, if MQTT Message allocated with mqtt_msgAlloc()
  * return: none   * return: none
Line 156  inline mqtt_msg_t *mqtt_msgAlloc(unsigned short len); Line 144  inline mqtt_msg_t *mqtt_msgAlloc(unsigned short len);
 inline void mqtt_msgFree(mqtt_msg_t ** __restrict msg, int all);  inline void mqtt_msgFree(mqtt_msg_t ** __restrict msg, int all);
 /*  /*
  * mqtt_msgRealloc() Reallocate MQTT message buffer   * mqtt_msgRealloc() Reallocate MQTT message buffer
    *
  * @msg = MQTT message   * @msg = MQTT message
  * @len = new length   * @len = new length
  * return: -1 error or >-1 old buffer length   * return: -1 error or >-1 old buffer length
Line 164  inline int mqtt_msgRealloc(mqtt_msg_t * __restrict msg Line 153  inline int mqtt_msgRealloc(mqtt_msg_t * __restrict msg
   
 /*  /*
  * mqtt_encodeLen() Encode number to MQTT length field   * mqtt_encodeLen() Encode number to MQTT length field
    *
  * @num = number for encode   * @num = number for encode
  * return: -1 error or >-1 length   * return: -1 error or >-1 length
  */   */
 inline unsigned int mqtt_encodeLen(unsigned int num);  inline unsigned int mqtt_encodeLen(unsigned int num);
 /*  /*
  * mqtt_decodeLen() Decode length from MQTT packet   * mqtt_decodeLen() Decode length from MQTT packet
    *
  * @len = length   * @len = length
  * @n = sizeof bytes, if !=NULL   * @n = sizeof bytes, if !=NULL
  * return: -1 error, >-1 length of message   * return: -1 error, >-1 length of message
Line 177  inline unsigned int mqtt_encodeLen(unsigned int num); Line 168  inline unsigned int mqtt_encodeLen(unsigned int num);
 inline unsigned int mqtt_decodeLen(unsigned int len, char *n);  inline unsigned int mqtt_decodeLen(unsigned int len, char *n);
 /*  /*
  * mqtt_sizeLen Return sizeof len field   * mqtt_sizeLen Return sizeof len field
    *
  * @len = length   * @len = length
  * return: -1 error, >-1 sizeof len in bytes   * return: -1 error, >-1 sizeof len in bytes
  */   */
 inline char mqtt_sizeLen(unsigned int len);  inline char mqtt_sizeLen(unsigned int len);
 /*  /*
  * mqtt_str2sub Create MQTT subscribe variable from string(s)   * mqtt_str2sub Create MQTT subscribe variable from string(s)
    *
  * @csStr = strings   * @csStr = strings
  * @strnum = number of strings elements   * @strnum = number of strings elements
  * @qoses = QoS elements applied to subscribe variable,    * @qoses = QoS elements applied to subscribe variable, 
Line 191  inline char mqtt_sizeLen(unsigned int len); Line 184  inline char mqtt_sizeLen(unsigned int len);
  */   */
 inline mqtt_subscr_t *mqtt_str2sub(const char **csStr, unsigned short strnum, unsigned char *qoses);  inline mqtt_subscr_t *mqtt_str2sub(const char **csStr, unsigned short strnum, unsigned char *qoses);
 /*  /*
 * mqtt_freeSub() Free array from subscribe variables * mqtt_subFree() Free array from subscribe variables
  *   *
  * @subs = Subscribe variables   * @subs = Subscribe variables
  * @freeall = if !=0 free and subs pointer  
  * return: none   * return: none
  */   */
inline void mqtt_freeSub(mqtt_subscr_t ** __restrict subs, int freeeall);inline void mqtt_subFree(mqtt_subscr_t ** __restrict subs);
 /*
  * mqtt_subAlloc() Create array from subscribe variables
  *
  * @num = Number of elements
  * return: NULL error or subscribe array, after use must call mqtt_subFree()
  */
 inline mqtt_subscr_t *mqtt_subAlloc(unsigned short num);
   
   
   /*** SENDER FUNCTIONS ***/
   
 /*  /*
  * mqtt_msgCONNECT() Create CONNECT message   * mqtt_msgCONNECT() Create CONNECT message
  *   *
Line 225  int mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const Line 227  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 288  inline int mqtt_msgPUBCOMP(mqtt_msg_t * __restrict buf Line 311  inline int mqtt_msgPUBCOMP(mqtt_msg_t * __restrict buf
 int  int
 mqtt_msgSUBSCRIBE(mqtt_msg_t * __restrict buf, mqtt_subscr_t * __restrict Topics,   mqtt_msgSUBSCRIBE(mqtt_msg_t * __restrict buf, mqtt_subscr_t * __restrict Topics, 
                 unsigned short msgID, unsigned char Dup, unsigned char QOS);                  unsigned short msgID, unsigned char Dup, unsigned char QOS);
   /*
    * mqtt_msgSUBACK() Create SUBACK message
    *
    * @buf = Message buffer
    * @Topics = MQTT subscription topics
    * @msgID = MessageID
    * return: -1 error or >-1 message size for send
    */
   int mqtt_msgSUBACK(mqtt_msg_t * __restrict buf, mqtt_subscr_t * __restrict Topics, 
                   unsigned short msgID);
   /*
    * mqtt_msgUNSUBSCRIBE() Create UNSUBSCRIBE message
    *
    * @buf = Message buffer
    * @Topics = MQTT subscription topics
    * @msgID = MessageID
    * @Dup = Duplicate message
    * @QOS = QoS
    * return: -1 error or >-1 message size for send
    */
   int
   mqtt_msgUNSUBSCRIBE(mqtt_msg_t * __restrict buf, mqtt_subscr_t * __restrict Topics, 
                   unsigned short msgID, unsigned char Dup, unsigned char QOS);
   /*
    * mqtt_msgUNSUBACK() Create UNSUBACK message
    *
    * @buf = Message buffer
    * @msgID = MessageID
    * return: -1 error or >-1 message size for send
    */
   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);
   
   
 #endif  #endif

Removed from v.1.1.1.1.2.14  
changed lines
  Added in v.1.1.1.1.2.20


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