--- libaitmqtt/inc/aitmqtt.h 2012/04/27 15:15:12 1.1.1.1.2.12 +++ libaitmqtt/inc/aitmqtt.h 2012/04/27 16:02:16 1.1.1.1.2.14 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitmqtt.h,v 1.1.1.1.2.12 2012/04/27 15:15:12 misho Exp $ +* $Id: aitmqtt.h,v 1.1.1.1.2.14 2012/04/27 16:02:16 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -302,6 +302,14 @@ inline mqtt_subscr_t *mqtt_subAlloc(unsigned short num * return: NULL error or subscribe array, after use must call mqtt_subFree() */ inline mqtt_subscr_t *mqtt_subRealloc(mqtt_subscr_t ** __restrict subs, unsigned short num); +/* + * mqtt_subCopy() - Copy subscription structure to another one + * + * @dst = destination subscription + * @src = source subscription + * return: =NULL error or !=NULL successful copied a structure + */ +inline mqtt_subscr_t *mqtt_subCopy(mqtt_subscr_t * __restrict dst, mqtt_subscr_t * __restrict src); /*** SENDER FUNCTIONS ***/ @@ -508,11 +516,10 @@ int mqtt_readPINGRESP(mqtt_msg_t * __restrict buf); * @topicLen = Topic length * @msgID = MessageID * @pData = Data buffer - * @datLen = Data buffer length, if *datLen == 0 allocate memory for pData - * return: NULL error or !=NULL MQTT data buffer + * return: -1 error or !=-1 allocated data buffer length */ -void *mqtt_readPUBLISH(mqtt_msg_t * __restrict buf, char * __restrict psTopic, - int topicLen, unsigned short *msgID, void * __restrict pData, int *datLen); +int mqtt_readPUBLISH(mqtt_msg_t * __restrict buf, char * __restrict psTopic, + int topicLen, unsigned short *msgID, void ** __restrict pData); /* * mqtt_readPUBACK() Read PUBACK message *