version 1.1.2.1, 2011/11/21 12:16:11
|
version 1.1.2.2, 2011/11/21 12:47:15
|
Line 53 mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha
|
Line 53 mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha
|
return -1; |
return -1; |
else { |
else { |
hdr = (struct mqtthdr *) (buf->msg_base + siz); |
hdr = (struct mqtthdr *) (buf->msg_base + siz); |
siz += 2; | siz += sizeof(struct mqtthdr); |
var = (mqtthdr_var_t*) (buf->msg_base + siz); |
var = (mqtthdr_var_t*) (buf->msg_base + siz); |
siz += 8; |
siz += 8; |
proto = buf->msg_base + siz; |
proto = buf->msg_base + siz; |
Line 134 mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha
|
Line 134 mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha
|
|
|
*hdr->mqtt_len = mqtt_encodeLen(siz - 2); |
*hdr->mqtt_len = mqtt_encodeLen(siz - 2); |
mqtt_msgRealloc(buf, siz); |
mqtt_msgRealloc(buf, siz); |
|
return siz; |
|
} |
|
|
|
/* |
|
* mqtt_msgCONNACK() Create CONNACK message |
|
* |
|
* @buf = Message buffer |
|
* @retcode = Return code |
|
* return: -1 error or >-1 message size for send |
|
*/ |
|
int |
|
mqtt_msgCONNACK(mqtt_msg_t * __restrict buf, u_char retcode) |
|
{ |
|
int siz = 0; |
|
struct mqtthdr *hdr; |
|
mqtthdr_connack_t *ack; |
|
|
|
if (!buf) |
|
return -1; |
|
if (retcode > MQTT_RETCODE_DENIED) { |
|
mqtt_SetErr(EINVAL, "Error:: invalid retcode"); |
|
return -1; |
|
} |
|
|
|
if (mqtt_msgRealloc(buf, sizeof(struct mqtthdr) + sizeof(mqtthdr_connack_t)) == -1) |
|
return -1; |
|
else { |
|
hdr = (struct mqtthdr *) (buf->msg_base + siz); |
|
siz += sizeof(struct mqtthdr); |
|
ack = (mqtthdr_connack_t*) (buf->msg_base + siz); |
|
siz += sizeof(mqtthdr_connack_t); |
|
} |
|
|
|
/* fixed header */ |
|
hdr->mqtt_msg.type = MQTT_TYPE_CONNACK; |
|
*hdr->mqtt_len = sizeof(mqtthdr_connack_t); |
|
|
|
/* CONNACK header */ |
|
ack->reserved = 0; |
|
ack->retcode = retcode; |
|
|
return siz; |
return siz; |
} |
} |