--- libaitmqtt/inc/aitmqtt.h 2022/09/12 23:07:18 1.3.4.4 +++ libaitmqtt/inc/aitmqtt.h 2022/09/13 20:37:21 1.3.4.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitmqtt.h,v 1.3.4.4 2022/09/12 23:07:18 misho Exp $ +* $Id: aitmqtt.h,v 1.3.4.7 2022/09/13 20:37:21 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -47,13 +47,14 @@ SUCH DAMAGE. #define __AITMQTT_H -#define MAX_CONNID 24 -#define MAX_CRED 13 +#define MQTT_CONNID_MAX 24 +#define MQTT_CRED_MAX 13 #define MQTTMSG_MAX 65535 #define MQTTMSG_BIN_MAX 65535 #define MQTT_DATA_MAX 268435455 #define MQTT_PROTO_VER 3 +#define MQTT_PROTO_DEFVER 5 #define MQTT_KEEPALIVE 10 #define MQTT_DEFAULT_MSGID 0xDEBA @@ -71,7 +72,7 @@ struct mqtthdr { } mqtt_msg; unsigned char mqtt_len[1]; /* may be grow to 4 bytes */ } __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 MQTT_TYPE_UNKNOWN 0 /* reserved */ @@ -199,7 +200,7 @@ struct mqtthdr { typedef struct { void *msg_base; - unsigned short msg_len; + unsigned int msg_len; } mqtt_msg_t; /* MQTT structures */ @@ -259,7 +260,7 @@ const char *mqtt_GetError(); * @len = >0 Allocate buffer with length * 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 * @@ -275,7 +276,7 @@ void mqtt_msgFree(mqtt_msg_t ** __restrict msg, int al * @len = new 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 * @@ -336,16 +337,15 @@ char mqtt_sizeLen(unsigned int len); */ 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 - * @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, * count of elements must be equal with csStr elements * 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, - unsigned char *qoses); +mqtt_subscr_t *mqtt_strs2subs(const char **csStr, unsigned short strnum, unsigned char *qoses); /* * mqtt_subFree() Free array from subscribe variables *