Diff for /libaitmqtt/inc/aitmqtt.h between versions 1.3.4.3 and 1.3.4.6

version 1.3.4.3, 2022/09/12 22:09:29 version 1.3.4.6, 2022/09/13 20:12:15
Line 54  SUCH DAMAGE. Line 54  SUCH DAMAGE.
 #define MQTT_DATA_MAX           268435455  #define MQTT_DATA_MAX           268435455
   
 #define MQTT_PROTO_VER          3  #define MQTT_PROTO_VER          3
   #define MQTT_PROTO_DEFVER       5
 #define MQTT_KEEPALIVE          10  #define MQTT_KEEPALIVE          10
 #define MQTT_DEFAULT_MSGID      0xDEBA  #define MQTT_DEFAULT_MSGID      0xDEBA
   
Line 71  struct mqtthdr { Line 72  struct mqtthdr {
         } 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 */
 } __attribute__((packed));  } __attribute__((packed));
#define MQTTHDR_MSGINIT(x)      (assert((x)), (x)->mqtt_msg.val ^= (x)->mqtt_msg.val, *mqtt_len = 0)#define MQTTHDR_MSGINIT(x)      (assert((x)), (x)->mqtt_msg.val ^= (x)->mqtt_msg.val, *(x)->mqtt_len = 0)
 #define MQTTHDR_DATA_SIZEOF(x)  (assert((x)), mqtt_decodeLen((x)->mqtt_len, NULL))  #define MQTTHDR_DATA_SIZEOF(x)  (assert((x)), mqtt_decodeLen((x)->mqtt_len, NULL))
   
 #define MQTT_TYPE_UNKNOWN       0       /* reserved */  #define MQTT_TYPE_UNKNOWN       0       /* reserved */
 #define MQTT_TYPE_CONNECT       1       /* client request to connect to server (CLI) */  #define MQTT_TYPE_CONNECT       1       /* client request to connect to server (CLI) */
#define MQTT_TYPE_CONNACK       2       /* connect acknowledgment (SRV) */#define MQTT_TYPE_CONNACK       2       /* connect acknowledgment (SRV) [ret_no_data] */
#define MQTT_TYPE_PUBLISH       3       /* publish message */#define MQTT_TYPE_PUBLISH       3       /* publish message [ret_is_optional] */
#define MQTT_TYPE_PUBACK        4       /* publish acknowledgment */#define MQTT_TYPE_PUBACK        4       /* publish acknowledgment [ret_no_data] */
#define MQTT_TYPE_PUBREC        5       /* publish received (assured delivery part 1) */#define MQTT_TYPE_PUBREC        5       /* publish received (assured delivery part 1) [ret_no_data] */
#define MQTT_TYPE_PUBREL        6       /* publish release (assured delivery part 2) */#define MQTT_TYPE_PUBREL        6       /* publish release (assured delivery part 2) [ret_no_data] */
#define MQTT_TYPE_PUBCOMP       7       /* publish complete (assured delivery part 3) */#define MQTT_TYPE_PUBCOMP       7       /* publish complete (assured delivery part 3) [ret_no_data] */
 #define MQTT_TYPE_SUBSCRIBE     8       /* client subscribe request (CLI) */  #define MQTT_TYPE_SUBSCRIBE     8       /* client subscribe request (CLI) */
 #define MQTT_TYPE_SUBACK        9       /* subscribe acknowledgment (SRV) */  #define MQTT_TYPE_SUBACK        9       /* subscribe acknowledgment (SRV) */
 #define MQTT_TYPE_UNSUBSCRIBE   10      /* client unsubscribe request (CLI) */  #define MQTT_TYPE_UNSUBSCRIBE   10      /* client unsubscribe request (CLI) */
 #define MQTT_TYPE_UNSUBACK      11      /* unsubscribe acknowledgment (SRV) */  #define MQTT_TYPE_UNSUBACK      11      /* unsubscribe acknowledgment (SRV) */
#define MQTT_TYPE_PINGREQ       12      /* PING request (CLI) */#define MQTT_TYPE_PINGREQ       12      /* PING request (CLI) [ret_no_data] */
#define MQTT_TYPE_PINGRESP      13      /* PING response (SRV) */#define MQTT_TYPE_PINGRESP      13      /* PING response (SRV) [ret_no_data] */
#define MQTT_TYPE_DISCONNECT    14      /* client is disconnecting */#define MQTT_TYPE_DISCONNECT    14      /* client is disconnecting [ret_no_data] */
#define MQTT_TYPE_AUTH          15      /* authentication exchange */#define MQTT_TYPE_AUTH          15      /* authentication exchange [ret_no_data] */
   
 #define MQTT_TYPE_MAX           15  #define MQTT_TYPE_MAX           15
   
Line 146  struct mqtthdr { Line 147  struct mqtthdr {
 #define MQTT_RETCODE_REFUSE_USERPASS    4  #define MQTT_RETCODE_REFUSE_USERPASS    4
 #define MQTT_RETCODE_DENIED             5  #define MQTT_RETCODE_DENIED             5
   
   /* REASON CODES */
   
   #define MQTT_REASON_OK                  0x0     /* CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, UNSUBACK, AUTH, DISCONNECT, SUBACK */
   #define MQTT_REASON_QOS1                0x1     /* SUBACK */
   #define MQTT_REASON_QOS2                0x2     /* SUBACK */
   #define MQTT_REASON_DWILL               0x4     /* DISCONNECT */
   #define MQTT_REASON_NOMATCH             0x10    /* PUBACK, PUBREC */
   #define MQTT_REASON_NOSUBEXIST          0x11    /* UNSUBACK */
   #define MQTT_REASON_CONTAUTH            0x18    /* AUTH */
   #define MQTT_REASON_REAUTH              0x19    /* AUTH */
   
   /* REASON ERROR CODES */
   
   #define MQTT_REASON_ERROR               0x80    /* CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK, DISCONNECT */
   #define MQTT_REASON_MALFORMPKT          0x81    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_PROTOERR            0x82    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_IMPLSPECERR         0x83    /* CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK, DISCONNECT */
   #define MQTT_REASON_UNSUPVERPROTO       0x84    /* CONNACK */
   #define MQTT_REASON_CLINOVALID          0x85    /* CONNACK */
   #define MQTT_REASON_BADUSERPASS         0x86    /* CONNACK */
   #define MQTT_REASON_NOAUTH              0x87    /* CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK, DISCONNECT */
   #define MQTT_REASON_SRVUNAVAIL          0x88    /* CONNACK */
   #define MQTT_REASON_SRVBUSY             0x89    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_BANNED              0x8A    /* CONNACK */
   #define MQTT_REASON_SRVSHUTDOWN         0x8B    /* DISCONNECT */
   #define MQTT_REASON_BADAUTHMETHOD       0x8C    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_KEEPALIVETO         0x8D    /* DISCONNECT */
   #define MQTT_REASON_SESTAKEOVER         0x8E    /* DISCONNECT */
   #define MQTT_REASON_TOPICFLTINVAL       0x8F    /* SUBACK, UNSUBACK, DISCONNECT */
   #define MQTT_REASON_TOPICNAMEINV        0x90    /* CONNACK, PUBACK, PUBREC, DISCONNECT */
   #define MQTT_REASON_PKTIDINUSE          0x91    /* PUBACK, PUBREC, SUBACK, UNSUBACK */
   #define MQTT_REASON_PKTIDNOTFOUND       0x92    /* PUBREL, PUBCOMP */
   #define MQTT_REASON_RCVMAXEXCEED        0x93    /* DISCONNECT */
   #define MQTT_REASON_TOPICALIASINV       0x94    /* DISCONNECT */
   #define MQTT_REASON_PKTTOOLARGE         0x95    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_MSGRATETOHIGH       0x96    /* DISCONNECT */
   #define MQTT_REASON_QUOTAEXCEED         0x97    /* CONNACK, PUBACK, PUBREC, SUBACK, DISCONNECT */
   #define MQTT_REASON_ADMINACTION         0x98    /* DISCONNECT */
   #define MQTT_REASON_PAYLOADFMTINV       0x99    /* CONNACK, PUBACK, PUBREC, DISCONNECT */
   #define MQTT_REASON_RETAINNOTSUP        0x9A    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_QOSNOTSUP           0x9B    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_USENEXTSRV          0x9C    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_SRVMOVED            0x9D    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_SHARSUBNOTSUP       0x9E    /* SUBACK, DISCONNECT */
   #define MQTT_REASON_CONRATEEXCEED       0x9F    /* CONNACK, DISCONNECT */
   #define MQTT_REASON_MAXCONNTIME         0xA0    /* DISCONNECT */
   #define MQTT_REASON_SUBIDNOTSUP         0xA1    /* SUBACK, DISCONNECT */
   #define MQTT_RESON_WILDSUBNOTSUP        0xA2    /* SUBACK, DISCONNECT */
   
 /* MQTT Message buffer */  /* MQTT Message buffer */
   
 typedef struct {  typedef struct {
         void            *msg_base;          void            *msg_base;
        unsigned short       msg_len;        unsigned int       msg_len;
 } mqtt_msg_t;  } mqtt_msg_t;
   
 /* MQTT structures */  /* MQTT structures */
Line 211  const char *mqtt_GetError(); Line 260  const char *mqtt_GetError();
  * @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
  */   */
mqtt_msg_t *mqtt_msgAlloc(unsigned short len);mqtt_msg_t *mqtt_msgAlloc(unsigned int len);
 /*  /*
  * mqtt_msgFree() Free MQTT message   * mqtt_msgFree() Free MQTT message
  *   *
Line 227  void mqtt_msgFree(mqtt_msg_t ** __restrict msg, int al Line 276  void mqtt_msgFree(mqtt_msg_t ** __restrict msg, int al
  * @len = new length   * @len = new length
  * return: -1 error or >-1 old buffer length   * return: -1 error or >-1 old buffer length
  */   */
int mqtt_msgRealloc(mqtt_msg_t * __restrict msg, unsigned short len);int mqtt_msgRealloc(mqtt_msg_t * __restrict msg, unsigned int len);
 /*  /*
  * mqtt_msgDup() - Duplicate message buffer   * mqtt_msgDup() - Duplicate message buffer
  *   *
Line 288  char mqtt_sizeLen(unsigned int len); Line 337  char mqtt_sizeLen(unsigned int len);
  */   */
 unsigned int mqtt_pktLen(struct mqtthdr * __restrict hdr);  unsigned int mqtt_pktLen(struct mqtthdr * __restrict hdr);
 /*  /*
 * mqtt_str2subs Create MQTT subscribe variable from string(s) * mqtt_strs2subs Create MQTT subscribe variable from string(s)
  *   *
  * @csStr = null terminated string array   * @csStr = null terminated string array
 * @strnum = copy at most number of strings elements * @strnum = copy at most number of strings elements, ==0 till NULL element
  * @qoses = QoS elements applied to subscribe variable,    * @qoses = QoS elements applied to subscribe variable, 
  *              count of elements must be equal with csStr elements   *              count of elements must be equal with csStr elements
  * return: NULL error or != subscribe variables array, must be free after use with mqtt_freeSub()   * return: NULL error or != subscribe variables array, must be free after use with mqtt_freeSub()
  */   */
mqtt_subscr_t *mqtt_str2subs(const char **csStr, unsigned short strnum, mqtt_subscr_t *mqtt_strs2subs(const char **csStr, unsigned short strnum, unsigned char *qoses);
                unsigned char *qoses); 
 /*  /*
  * mqtt_subFree() Free array from subscribe variables   * mqtt_subFree() Free array from subscribe variables
  *   *

Removed from v.1.3.4.3  
changed lines
  Added in v.1.3.4.6


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