| version 1.1.1.1.2.5, 2012/01/27 15:16:40 | version 1.1.1.1.2.10, 2012/04/26 15:26:37 | 
| Line 12  terms: | Line 12  terms: | 
 | All of the documentation and software included in the ELWIX and AITNET | All of the documentation and software included in the ELWIX and AITNET | 
 | Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> | Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> | 
 |  |  | 
| Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 | Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 | 
 | by Michael Pounov <misho@elwix.org>.  All rights reserved. | by Michael Pounov <misho@elwix.org>.  All rights reserved. | 
 |  |  | 
 | Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | 
| Line 104  struct mqtthdr { | Line 104  struct mqtthdr { | 
 | #define MQTT_QOS_EXACTLY        2       /* Exactly once, Assured delivery, =1 */ | #define MQTT_QOS_EXACTLY        2       /* Exactly once, Assured delivery, =1 */ | 
 | #define MQTT_QOS_RESERVED       3       /* reserved */ | #define MQTT_QOS_RESERVED       3       /* reserved */ | 
 |  |  | 
 |  | #define MQTT_QOS_DENY           0       /* Not granted QoS for SUBACK */ | 
 |  | #define MQTT_QOS_PASS           2       /* Granted QoS for SUBACK */ | 
 |  |  | 
 | #define MQTT_FLAG_RETAIN        1       /* This flag is only used on PUBLISH messages. | #define MQTT_FLAG_RETAIN        1       /* This flag is only used on PUBLISH messages. | 
 |  |  | 
 | When a client sends a PUBLISH to a server, | When a client sends a PUBLISH to a server, | 
| Line 234  inline int mqtt_msgRealloc(mqtt_msg_t * __restrict msg | Line 237  inline int mqtt_msgRealloc(mqtt_msg_t * __restrict msg | 
 | */ | */ | 
 | int mqtt_expandTopic(const char *csInput, char * __restrict psRegEx, int regexLen, | int mqtt_expandTopic(const char *csInput, char * __restrict psRegEx, int regexLen, | 
 | unsigned char BOL, unsigned char EOL); | unsigned char BOL, unsigned char EOL); | 
 |  | /* | 
 |  | * mqtt_sqlTopic() - Expanding topic to SQL search string | 
 |  | * | 
 |  | * @csInput = Input topic | 
 |  | * @psSQL = Output to SQL search string | 
 |  | * @sqlLen = Length of psSQL | 
 |  | * return: -1 error, 0 changed bytes | 
 |  | */ | 
 |  | int mqtt_sqlTopic(const char *csInput, char * __restrict psSQL, int sqlLen); | 
 |  |  | 
 | /* | /* | 
 | * mqtt_encodeLen() Encode number to MQTT length field | * mqtt_encodeLen() Encode number to MQTT length field | 
| Line 258  inline unsigned int mqtt_decodeLen(void * __restrict l | Line 270  inline unsigned int mqtt_decodeLen(void * __restrict l | 
 | */ | */ | 
 | inline char mqtt_sizeLen(unsigned int len); | inline char mqtt_sizeLen(unsigned int len); | 
 | /* | /* | 
| * mqtt_str2sub Create MQTT subscribe variable from string(s) | * mqtt_str2subs Create MQTT subscribe variable from string(s) | 
 | * | * | 
| * @csStr = strings | * @csStr = null terminated string array | 
| * @strnum = number of strings elements | * @strnum = copy at most number of strings elements | 
 | * @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() | 
 | */ | */ | 
| inline mqtt_subscr_t *mqtt_str2sub(const char **csStr, unsigned short strnum, unsigned char *qoses); | inline mqtt_subscr_t *mqtt_str2subs(const char **csStr, unsigned short strnum, | 
|  | unsigned char *qoses); | 
 | /* | /* | 
 | * mqtt_subFree() Free array from subscribe variables | * mqtt_subFree() Free array from subscribe variables | 
 | * | * | 
| Line 535  unsigned short mqtt_readPUBCOMP(mqtt_msg_t * __restric | Line 548  unsigned short mqtt_readPUBCOMP(mqtt_msg_t * __restric | 
 | * @buf = Message buffer | * @buf = Message buffer | 
 | * @msgID = MessageID | * @msgID = MessageID | 
 | * @subscr = Subscriptions, must be free after use with mqtt_subFree() | * @subscr = Subscriptions, must be free after use with mqtt_subFree() | 
| * return: NULL error or !=NULL MQTT fixed header | * return: -1 error or >-1 elements into subscr | 
 | */ | */ | 
| struct mqtthdr *mqtt_readSUBSCRIBE(mqtt_msg_t * __restrict buf, unsigned short *msgID, | int mqtt_readSUBSCRIBE(mqtt_msg_t * __restrict buf, unsigned short *msgID, | 
 | mqtt_subscr_t **subscr); | mqtt_subscr_t **subscr); | 
 | /* | /* | 
 | * mqtt_readSUBACK() Read SUBACK message | * mqtt_readSUBACK() Read SUBACK message | 
| Line 554  int mqtt_readSUBACK(mqtt_msg_t * __restrict buf, unsig | Line 567  int mqtt_readSUBACK(mqtt_msg_t * __restrict buf, unsig | 
 | * @buf = Message buffer | * @buf = Message buffer | 
 | * @msgID = MessageID | * @msgID = MessageID | 
 | * @subscr = Subscriptions, must be free after use with mqtt_subFree() | * @subscr = Subscriptions, must be free after use with mqtt_subFree() | 
| * return: NULL error or !=NULL MQTT fixed header | * return: -1 error or >-1 elements into subscr | 
 | */ | */ | 
| struct mqtthdr *mqtt_readUNSUBSCRIBE(mqtt_msg_t * __restrict buf, unsigned short *msgID, | int mqtt_readUNSUBSCRIBE(mqtt_msg_t * __restrict buf, unsigned short *msgID, | 
 | mqtt_subscr_t **subscr); | mqtt_subscr_t **subscr); | 
 | /* | /* | 
 | * mqtt_readUNSUBACK() Read UNSUBACK message | * mqtt_readUNSUBACK() Read UNSUBACK message |