version 1.2, 2012/06/20 15:02:24
|
version 1.3, 2012/06/28 11:06:17
|
Line 64 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
Line 64 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
u_char Dup, u_char QOS, u_char Retain, const void *pData, int datlen) |
u_char Dup, u_char QOS, u_char Retain, const void *pData, int datlen) |
{ |
{ |
int len, siz; |
int len, siz; |
u_int n; | u_int n, *l; |
struct mqtthdr *hdr; |
struct mqtthdr *hdr; |
mqtthdr_var_t *topic; |
mqtthdr_var_t *topic; |
mqtt_len_t *mid; |
mqtt_len_t *mid; |
Line 104 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
Line 104 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
hdr->mqtt_msg.qos = QOS; |
hdr->mqtt_msg.qos = QOS; |
hdr->mqtt_msg.dup = Dup ? 1 : 0; |
hdr->mqtt_msg.dup = Dup ? 1 : 0; |
hdr->mqtt_msg.retain = Retain ? 1 : 0; |
hdr->mqtt_msg.retain = Retain ? 1 : 0; |
*(u_int*) hdr->mqtt_len = n; | l = (u_int*) hdr->mqtt_len; |
| *l = n; |
data += siz; |
data += siz; |
|
|
/* variable header */ |
/* variable header */ |
Line 127 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
Line 128 mqtt_msgPUBLISH(mqtt_msg_t * __restrict buf, const cha
|
static int |
static int |
_mqtt_msgPUB_(mqtt_msg_t * __restrict buf, u_char cmd, u_short msgID) |
_mqtt_msgPUB_(mqtt_msg_t * __restrict buf, u_char cmd, u_short msgID) |
{ |
{ |
int siz = 0; | int siz = sizeof(struct mqtthdr); |
struct mqtthdr *hdr; |
struct mqtthdr *hdr; |
mqtt_len_t *v; |
mqtt_len_t *v; |
|
|
Line 136 _mqtt_msgPUB_(mqtt_msg_t * __restrict buf, u_char cmd,
|
Line 137 _mqtt_msgPUB_(mqtt_msg_t * __restrict buf, u_char cmd,
|
|
|
if (mqtt_msgRealloc(buf, sizeof(struct mqtthdr) + sizeof(mqtt_len_t)) == -1) |
if (mqtt_msgRealloc(buf, sizeof(struct mqtthdr) + sizeof(mqtt_len_t)) == -1) |
return -1; |
return -1; |
else { | else |
hdr = (struct mqtthdr *) (buf->msg_base + siz); | hdr = (struct mqtthdr *) buf->msg_base; |
siz += sizeof(struct mqtthdr); | |
v = (mqtt_len_t*) (buf->msg_base + siz); | |
siz += sizeof(mqtt_len_t); | |
} | |
|
|
/* fixed header */ |
/* fixed header */ |
MQTTHDR_MSGINIT(hdr); |
MQTTHDR_MSGINIT(hdr); |
Line 149 _mqtt_msgPUB_(mqtt_msg_t * __restrict buf, u_char cmd,
|
Line 146 _mqtt_msgPUB_(mqtt_msg_t * __restrict buf, u_char cmd,
|
*hdr->mqtt_len = sizeof(mqtt_len_t); |
*hdr->mqtt_len = sizeof(mqtt_len_t); |
|
|
/* MessageID */ |
/* MessageID */ |
|
v = (mqtt_len_t*) (buf->msg_base + siz); |
v->val = htons(msgID); |
v->val = htons(msgID); |
|
siz += sizeof(mqtt_len_t); |
|
|
return siz; |
return siz; |
} |
} |