MQTT C Client Libraries Internals
Functions
Clients.c File Reference

functions which apply to client structures More...

#include "Clients.h"
#include <string.h>
#include <stdio.h>
Include dependency graph for Clients.c:

Functions

int clientIDCompare (void *a, void *b)
 List callback function for comparing clients by clientid. More...
 
int clientSocketCompare (void *a, void *b)
 List callback function for comparing clients by socket. More...
 

Detailed Description

functions which apply to client structures

Function Documentation

◆ clientIDCompare()

int clientIDCompare ( void *  a,
void *  b 
)

List callback function for comparing clients by clientid.

Parameters
afirst integer value
bsecond integer value
Returns
boolean indicating whether a and b are equal

◆ clientSocketCompare()

int clientSocketCompare ( void *  a,
void *  b 
)

List callback function for comparing clients by socket.

Parameters
afirst integer value
bsecond integer value
Returns
boolean indicating whether a and b are equal
pstclear
int pstclear(void *handle)
Delete all the persisted message in the client persistence directory.
Definition: MQTTPersistenceDefault.c:507
MQTTClient_connectOptions::httpHeaders
const MQTTClient_nameValue * httpHeaders
httpHeaders
Definition: MQTTClient.h:922
MQTTClient_willOptions::data
const void * data
binary payload data
Definition: MQTTClient.h:632
clientStructCompare
static int clientStructCompare(void *a, void *b)
List callback function for comparing clients by client structure.
Definition: MQTTAsync.c:2853
MQTTProperty::integer2
unsigned short integer2
holds the value of a 2 byte integer property type
Definition: MQTTProperties.h:100
List::current
ListElement * current
current element in the list, for iteration
Definition: LinkedList.h:71
MQTTClient_persistence::pget
Persistence_get pget
A function pointer to an implementation of Persistence_get().
Definition: MQTTClientPersistence.h:235
MQTTClient_disconnect_internal
static int MQTTClient_disconnect_internal(MQTTClient handle, int timeout)
mqttclient_mutex must be locked when you call this function, if multi threaded
Definition: MQTTClient.c:1884
socket_queue::datalen
size_t datalen
current length of data in buf
Definition: SocketBuffer.h:44
Connect::all
unsigned char all
all connect flags
Definition: MQTTPacket.h:94
Socket_continueWrites
int Socket_continueWrites(fd_set *pwset)
Continue any outstanding writes for a socket set.
Definition: Socket.c:981
MQTTProtocol_freeClient
void MQTTProtocol_freeClient(Clients *client)
Free a client structure.
Definition: MQTTProtocolClient.c:805
MQTTClient_connectOptions::sessionPresent
int sessionPresent
if the MQTT version is 3.1.1, the value of sessionPresent returned in the connack
Definition: MQTTClient.h:901
MQTTAsync_nameValue
Utility structure where name/value pairs are needed.
Definition: MQTTAsync.h:1043
MQTTLenString::data
char * data
pointer to the string data
Definition: MQTTProperties.h:87
MQTTProperties::length
int length
mbi: byte length of all properties
Definition: MQTTProperties.h:116
NodeStruct
Structure to hold all data for one list element.
Definition: Tree.h:64
ListDetachHead
void * ListDetachHead(List *aList)
Removes and frees an the first item in a list.
Definition: LinkedList.c:268
Persistence_clear
int(* Persistence_clear)(void *handle)
Clears the persistence store, so that it no longer contains any persisted data.
Definition: MQTTClientPersistence.h:197
MQTTProtocol_subscribe
int MQTTProtocol_subscribe(Clients *client, List *topics, List *qoss, int msgID, MQTTSubscribe_options *opts, MQTTProperties *props)
MQTT outgoing subscribe processing for a client.
Definition: MQTTProtocolOut.c:349
MQTTAsync_willOptions
MQTTAsync_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for the client.
Definition: MQTTAsync.h:903
trace_destination_backup_name
static char * trace_destination_backup_name
the name of the backup trace file
Definition: Log.c:101
Socket_setnonblocking
int Socket_setnonblocking(int sock)
Set a socket non-blocking, OS independently.
Definition: Socket.c:74
ListElementStruct::prev
struct ListElementStruct * prev
pointer to previous list element
Definition: LinkedList.h:74
MQTTClient_global_init
void MQTTClient_global_init(MQTTClient_init_options *inits)
Global init of mqtt library.
Definition: MQTTClient.c:85
MQTTClient_SSLOptions
MQTTClient_sslProperties defines the settings to establish an SSL/TLS connection using the OpenSSL li...
Definition: MQTTClient.h:656
List::size
size_t size
heap storage used
Definition: LinkedList.h:73
MQTTAsync_SSLOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:953
MQTTAsync_connectOptions::username
const char * username
MQTT servers that support the MQTT v3.1 protocol provide authentication and authorisation by user nam...
Definition: MQTTAsync.h:1115
Thread_wait_sem
int Thread_wait_sem(sem_type sem, int timeout)
Wait for a semaphore to be posted, or timeout.
Definition: Thread.c:230
Connack::all
unsigned char all
all connack flags
Definition: MQTTPacket.h:138
ListAppendNoMalloc
void ListAppendNoMalloc(List *aList, void *content, ListElement *newel, size_t size)
Append an already allocated ListElement and content to a list.
Definition: LinkedList.c:69
Ack::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:215
pstput
int pstput(void *handle, char *key, int bufcount, char *buffers[], int buflens[])
Write wire message to the client persistence directory.
Definition: MQTTPersistenceDefault.c:187
MQTTPacket_send_connect
int MQTTPacket_send_connect(Clients *client, int MQTTVersion, MQTTProperties *connectProperties, MQTTProperties *willProperties)
Send an MQTT CONNECT packet down a socket for V5 or later.
Definition: MQTTPacketOut.c:48
Clients::inboundMsgs
List * inboundMsgs
inbound in flight messages
Definition: Clients.h:133
Clients::maxInflightMessages
int maxInflightMessages
the max number of inflight outbound messages we allow
Definition: Clients.h:131
Unsuback::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:186
MQTTAsync_disconnectOptions::onSuccess
MQTTAsync_onSuccess * onSuccess
A pointer to a callback function to be called if the disconnect successfully completes.
Definition: MQTTAsync.h:1273
MQTTAsync_getVersionInfo
MQTTAsync_nameValue * MQTTAsync_getVersionInfo(void)
This function returns version information about the library.
Definition: MQTTAsync.c:4379
MQTTAsync_SSLOptions::verify
int verify
Whether to carry out post-connect checks, including that a certificate matches the given host name.
Definition: MQTTAsync.h:996
ListRemove
int ListRemove(List *aList, void *content)
Removes and frees an item in a list by comparing the pointer to the content.
Definition: LinkedList.c:257
MQTTAsync_willOptions::message
const char * message
The LWT payload.
Definition: MQTTAsync.h:913
MQTTClient_connectOptions::serverURIcount
int serverURIcount
The number of entries in the optional serverURIs array.
Definition: MQTTClient.h:874
Connect::will
bool will
will flag
Definition: MQTTPacket.h:111
MQTTProtocol_handleSubacks
int MQTTProtocol_handleSubacks(void *pack, int sock)
Process an incoming suback packet for a socket.
Definition: MQTTProtocolOut.c:367
MQTTAsync_successData::alt
union MQTTAsync_successData::@6 alt
A union of the different values that can be returned for subscribe, unsubscribe and publish.
Socket_abortWrite
int Socket_abortWrite(int socket)
Continue an outstanding write for a particular socket.
Definition: Socket.c:948
Suback
Data for a suback packet.
Definition: MQTTPacket.h:172
MQTTAsync_connectOptions::onSuccess5
MQTTAsync_onSuccess5 * onSuccess5
A pointer to a callback function to be called if the connect successfully completes.
Definition: MQTTAsync.h:1213
heap_info::max_size
size_t max_size
max size the heap has reached in bytes
Definition: Heap.h:65
Sockets::cur_clientsds
ListElement * cur_clientsds
current client socket descriptor (iterator)
Definition: Socket.h:121
TreeRemoveNodeIndex
void * TreeRemoveNodeIndex(Tree *aTree, Node *curnode, int index)
Remove an item from a tree.
Definition: Tree.c:420
MQTTClient_connectOptions::will
MQTTClient_willOptions * will
This is a pointer to an MQTTClient_willOptions structure.
Definition: MQTTClient.h:841
Unsuback::msgId
int msgId
MQTT message id.
Definition: MQTTPacket.h:187
MQTTClients
Definition: MQTTClient.c:299
Socket_addPendingWrite
void Socket_addPendingWrite(int socket)
Add a socket to the pending write list, so that it is checked for writing in select.
Definition: Socket.c:578
MQTTAsync_subscribe
int MQTTAsync_subscribe(MQTTAsync handle, const char *topic, int qos, MQTTAsync_responseOptions *response)
This function attempts to subscribe a client to a single topic, which may contain wildcards (see wild...
Definition: MQTTAsync.c:3611
MQTTAsync_unsubscribeMany
int MQTTAsync_unsubscribeMany(MQTTAsync handle, int count, char *const *topic, MQTTAsync_responseOptions *response)
This function attempts to remove existing subscriptions to a list of topics made by the specified cli...
Definition: MQTTAsync.c:3621
clientIDCompare
int clientIDCompare(void *a, void *b)
List callback function for comparing clients by clientid.
Definition: Clients.c:36
connectionLost_call
static thread_return_type WINAPI connectionLost_call(void *context)
Wrapper function to call connection lost on a separate thread.
Definition: MQTTClient.c:671
MQTTClient_message::qos
int qos
The quality of service (QoS) assigned to the message.
Definition: MQTTClient.h:290
Sockets::rset
fd_set rset
socket read set (see select doc)
Definition: Socket.h:117
MQTTClient_receive
int MQTTClient_receive(MQTTClient handle, char **topicName, int *topicLen, MQTTClient_message **message, unsigned long timeout)
This function performs a synchronous receive of incoming messages.
Definition: MQTTClient.c:2664
MQTTAsync_failureData5::packet_type
int packet_type
Packet type on which the failure occurred - used for publish QoS 1/2 exchanges.
Definition: MQTTAsync.h:479
SocketBuffer_freeDefQ
void SocketBuffer_freeDefQ(void)
Free the default queue memory.
Definition: SocketBuffer.c:122
MQTTAsync_command
Definition: MQTTAsync.c:319
frameData
builds a websocket frame for data transmission
Definition: WebSocket.c:227
SocketBuffer_terminate
void SocketBuffer_terminate(void)
Terminate the socketBuffer module.
Definition: SocketBuffer.c:133
ListFindItem
ListElement * ListFindItem(List *aList, void *content, int(*callback)(void *, void *))
Finds an element in a list by comparing the content or pointer to the content.
Definition: LinkedList.c:154
NodeStruct::size
size_t size
size of content
Definition: Tree.h:82
MQTTAsync_disconnectOptions::context
void * context
Definition: MQTTAsync.h:1285
MQTTAsync_message::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:260
socketcompare
int socketcompare(void *a, void *b)
List callback function for comparing socket_queues by socket.
Definition: SocketBuffer.c:70
MQTTPacket_suback
void * MQTTPacket_suback(int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
Function used in the new packets table to create suback packets.
Definition: MQTTPacketOut.c:292
props_rc_parms
Definition: MQTTClient.c:333
Publish::topic
char * topic
topic string
Definition: MQTTPacket.h:200
MQTTCLIENT_PERSISTENCE_ERROR
#define MQTTCLIENT_PERSISTENCE_ERROR
Application-specific persistence functions must return this error code if there is a problem executin...
Definition: MQTTClientPersistence.h:85
MQTTClient_setTraceCallback
void MQTTClient_setTraceCallback(MQTTClient_traceCallback *callback)
This function sets the trace callback if needed.
Definition: MQTTClient.c:2851
MQTTProtocol_specialChars
void MQTTProtocol_specialChars(char *p0, char *p1, b64_size_t *basic_auth_in_len)
Allow user or password characters to be expressed in the form of XX, XX being the hexadecimal value o...
Definition: MQTTProtocolOut.c:105
pending_write
Definition: MQTTProtocol.h:29
ListRemoveHead
int ListRemoveHead(List *aList)
Removes and frees an the first item in a list.
Definition: LinkedList.c:294
MQTTClient_message::payload
void * payload
A pointer to the payload of the MQTT message.
Definition: MQTTClient.h:276
qEntry
Definition: MQTTAsync.c:311
readInt4
int readInt4(char **pptr)
Calculates an integer from two bytes read from the input buffer.
Definition: MQTTPacket.c:929
MQTTProperties
MQTT version 5 property list.
Definition: MQTTProperties.h:113
pstkeys
int pstkeys(void *handle, char ***keys, int *nkeys)
Returns the keys (file names w/o the extension) in the client persistence directory.
Definition: MQTTPersistenceDefault.c:613
MQTTCLIENT_PERSISTENCE_USER
#define MQTTCLIENT_PERSISTENCE_USER
This persistence_type value specifies an application-specific persistence mechanism (see MQTTClient_c...
Definition: MQTTClientPersistence.h:79
heap_info
Information about the state of the heap.
Definition: Heap.h:63
Publish::MQTTVersion
int MQTTVersion
the version of MQTT
Definition: MQTTPacket.h:205
MQTTClient_connectOptions::keepAliveInterval
int keepAliveInterval
The "keep alive" interval, measured in seconds, defines the maximum time that should pass without com...
Definition: MQTTClient.h:803
Persistence_get
int(* Persistence_get)(void *handle, char *key, char **buffer, int *buflen)
Retrieve the specified data from the persistent store.
Definition: MQTTClientPersistence.h:156
Messages::len
int len
PUBREC, PUBREL, PUBCOMP
Definition: Clients.h:61
MQTTProtocol_startPublishCommon
static int MQTTProtocol_startPublishCommon(Clients *pubclient, Publish *publish, int qos, int retained)
Utility function to start a new publish exchange.
Definition: MQTTProtocolClient.c:139
MQTTPersistence_restore
int MQTTPersistence_restore(Clients *c)
Restores the persisted records to the outbound and inbound message queues of the client.
Definition: MQTTPersistence.c:180
Clients::phandle
void * phandle
the persistence handle
Definition: Clients.h:137
Clients::persistence
MQTTClient_persistence * persistence
a persistence implementation
Definition: Clients.h:138
MQTTClient_connectOptions::serverURIs
char *const * serverURIs
An optional array of null-terminated strings specifying the servers to which the client will connect.
Definition: MQTTClient.h:885
MQTTProtocol_checkPendingWrites
static void MQTTProtocol_checkPendingWrites(void)
See if any pending writes have been completed, and cleanup if so.
Definition: MQTTClient.c:2940
MQTTAsync_createOptions::MQTTVersion
int MQTTVersion
Whether the MQTT version is 3.1, 3.1.1, or 5.
Definition: MQTTAsync.h:879
MQTTAsync_successData::serverURI
char * serverURI
the connection string of the server
Definition: MQTTAsync.h:507
MQTTClient_willOptions::qos
int qos
The quality of service setting for the LWT message (see MQTTClient_message.qos and qos).
Definition: MQTTClient.h:627
Clients::net
networkHandles net
network info for this client
Definition: Clients.h:127
Connack::reserved
unsigned int reserved
message type nibble
Definition: MQTTPacket.h:149
Persistence_close
int(* Persistence_close)(void *handle)
Close the persistent store referred to by the handle.
Definition: MQTTClientPersistence.h:123
MQTTPacket
Data for a packet with header only.
Definition: MQTTPacket.h:163
MQTTAsync_failureData5::code
int code
A numeric code identifying the MQTT client library error.
Definition: MQTTAsync.h:475
MQTTProtocol_freeMessageList
void MQTTProtocol_freeMessageList(List *msgList)
Empty and free up all storage used by a message list.
Definition: MQTTProtocolClient.c:877
MQTTPacket_send_publish
int MQTTPacket_send_publish(Publish *pack, int dup, int qos, int retained, networkHandles *net, const char *clientID)
Send an MQTT PUBLISH packet down a socket.
Definition: MQTTPacket.c:823
Sockets::rset_saved
fd_set rset_saved
saved socket read set
Definition: Socket.h:118
SocketBuffer_getWrite
pending_writes * SocketBuffer_getWrite(int socket)
Get any queued write data for a specific socket.
Definition: SocketBuffer.c:399
MQTTAsync_connectOptions::MQTTVersion
int MQTTVersion
Sets the version of MQTT to be used on the connect.
Definition: MQTTAsync.h:1176
Unsuback
Data for an MQTT V5 unsuback packet.
Definition: MQTTPacket.h:185
Socket_continueWrite
int Socket_continueWrite(int socket)
Continue an outstanding write for a particular socket.
Definition: Socket.c:862
MQTTAsync_disconnectOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:1260
MQTTAsync_SSLOptions::privateKey
const char * privateKey
If not included in the sslKeyStore, this setting points to the file in PEM format containing the clie...
Definition: MQTTAsync.h:968
MQTTPacket_ack
void * MQTTPacket_ack(int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
Function used in the new packets table to create acknowledgement packets.
Definition: MQTTPacket.c:771
MQTTClient_subscribeMany5
MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char *const *topic, int *qos, MQTTSubscribe_options *opts, MQTTProperties *props)
This function attempts to subscribe an MQTT version 5.0 client to a list of topics,...
Definition: MQTTClient.c:1936
SocketBuffer_getQueuedChar
int SocketBuffer_getQueuedChar(int socket, char *c)
Get any queued character for a specific socket.
Definition: SocketBuffer.c:219
MQTTClient_message
A structure representing the payload and attributes of an MQTT message.
Definition: MQTTClient.h:267
MQTTAsync_successData5::destinationName
char * destinationName
the topic destination for the message
Definition: MQTTAsync.h:537
MQTTPersistence_initialize
int MQTTPersistence_initialize(Clients *c, const char *serverURI)
Open persistent store and restore any persisted messages.
Definition: MQTTPersistence.c:114
ListDetach
int ListDetach(List *aList, void *content)
Removes but does not free an item in a list by comparing the pointer to the content.
Definition: LinkedList.c:245
Log
void Log(enum LOG_LEVELS log_level, int msgno, const char *format,...)
Log a message.
Definition: Log.c:417
MQTTProtocol_connect
int MQTTProtocol_connect(const char *ip_address, Clients *aClient, int websocket, int MQTTVersion, MQTTProperties *connectProperties, MQTTProperties *willProperties)
MQTT outgoing connect processing for a client.
Definition: MQTTProtocolOut.c:149
MQTTClient_createWithOptions
int MQTTClient_createWithOptions(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTClient_createOptions *options)
A version of :MQTTClient_create() with additional options.
Definition: MQTTClient.c:368
ListFreeNoContent
void ListFreeNoContent(List *aList)
Removes and but does not free all items in a list, and frees the list itself.
Definition: LinkedList.c:392
NodeStruct::content
void * content
pointer to element content
Definition: Tree.h:81
MQTTClient_SSLOptions::CApath
const char * CApath
From the OpenSSL documentation: If CApath is not NULL, it points to a directory containing CA certifi...
Definition: MQTTClient.h:708
MQTTClient_publish
int MQTTClient_publish(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTClient_deliveryToken *deliveryToken)
This function attempts to publish a message to a given topic (see also MQTTClient_publishMessage()).
Definition: MQTTClient.c:2377
MQTTClient_nameValue
MQTTClient_libraryInfo is used to store details relating to the currently used library such as the ve...
Definition: MQTTClient.h:754
MQTTProperty::identifier
enum MQTTPropertyCodes identifier
The MQTT V5 property id.
Definition: MQTTProperties.h:96
Socket_getdata
char * Socket_getdata(int socket, size_t bytes, size_t *actual_len)
Attempts to read a number of bytes from a socket, non-blocking.
Definition: Socket.c:370
MQTTAsync_disconnect
int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions *options)
This function attempts to disconnect the client from the MQTT server.
Definition: MQTTAsync.c:3415
Connect::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:91
MQTTPacket_freeUnsuback
void MQTTPacket_freeUnsuback(Unsuback *pack)
Free allocated storage for a suback packet.
Definition: MQTTPacket.c:688
MQTTCLIENT_PERSISTENCE_NONE
#define MQTTCLIENT_PERSISTENCE_NONE
This persistence_type value specifies a memory-based persistence mechanism (see MQTTClient_create()).
Definition: MQTTClientPersistence.h:74
MQTTAsync_responseOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:626
Connack::rc
unsigned char rc
connack reason code
Definition: MQTTPacket.h:153
MQTTAsync_SSLOptions::trustStore
const char * trustStore
The file in PEM format containing the public digital certificates trusted by the client.
Definition: MQTTAsync.h:958
storageElement::line
int line
the line no in the source file where it was allocated
Definition: Heap.c:71
ListNextElement
ListElement * ListNextElement(List *aList, ListElement **pos)
Forward iteration through a list.
Definition: LinkedList.c:411
Suback::MQTTVersion
int MQTTVersion
the version of MQTT
Definition: MQTTPacket.h:175
Connect::version
unsigned char version
MQTT version number.
Definition: MQTTPacket.h:126
MQTTPersistence_qEntry
Definition: MQTTPersistence.h:80
MQTTAsync_createOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:865
stackEntry
Definition: StackTrace.c:47
Socket_writev
int Socket_writev(int socket, iobuf *iovecs, int count, unsigned long *bytes)
Attempts to write a series of iovec buffers to a socket in one system call so that they are sent as o...
Definition: Socket.c:434
MQTTPersistence_create
int MQTTPersistence_create(MQTTClient_persistence **persistence, int type, void *pcontext)
Creates a MQTTClient_persistence structure representing a persistence implementation.
Definition: MQTTPersistence.c:47
MQTTProperty::value
MQTTLenString value
The value of a user property.
Definition: MQTTProperties.h:104
Thread_destroy_mutex
int Thread_destroy_mutex(mutex_type mutex)
Destroy a mutex which has already been created.
Definition: Thread.c:156
MQTTStrncpy
char * MQTTStrncpy(char *dest, const char *src, size_t dest_size)
Copy no more than dest_size -1 characters from the string pointed to by src to the array pointed to b...
Definition: MQTTProtocolClient.c:894
SocketBuffer_complete
char * SocketBuffer_complete(int socket)
A socket read has now completed so we can get rid of the queue.
Definition: SocketBuffer.c:281
Ack::properties
MQTTProperties properties
MQTT 5.0 properties.
Definition: MQTTPacket.h:219
writeData
void writeData(char **pptr, const void *data, int datalen)
Writes length delimited data to an output buffer.
Definition: MQTTPacket.c:467
MQTTAsync_SSLOptions
MQTTAsync_sslProperties defines the settings to establish an SSL/TLS connection using the OpenSSL lib...
Definition: MQTTAsync.h:951
MQTTAsync_failureData5::message
const char * message
Optional further text explaining the error.
Definition: MQTTAsync.h:477
MQTTAsync_willOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:905
Log_nameValue
Definition: Log.h:70
MQTTClient_publishMessage
int MQTTClient_publishMessage(MQTTClient handle, const char *topicName, MQTTClient_message *message, MQTTClient_deliveryToken *deliveryToken)
This function attempts to publish a message to a given topic (see also MQTTClient_publish()).
Definition: MQTTClient.c:2422
MQTTAsync_destroy
void MQTTAsync_destroy(MQTTAsync *handle)
This function frees the memory allocated to an MQTT client (see MQTTAsync_create()).
Definition: MQTTAsync.c:2165
Connack::sessionPresent
bool sessionPresent
was a session found on the server?
Definition: MQTTPacket.h:148
Connect::willMsg
char * willMsg
will payload
Definition: MQTTPacket.h:123
MQTTAsync_setTraceLevel
void MQTTAsync_setTraceLevel(enum MQTTASYNC_TRACE_LEVELS level)
This function sets the level of trace information which will be returned in the trace callback.
Definition: MQTTAsync.c:4367
MQTTAsync_sendMessage
int MQTTAsync_sendMessage(MQTTAsync handle, const char *destinationName, const MQTTAsync_message *message, MQTTAsync_responseOptions *response)
This function attempts to publish a message to a given topic (see also MQTTAsync_publish()).
Definition: MQTTAsync.c:3813
MQTTProtocol_handleUnsubacks
int MQTTProtocol_handleUnsubacks(void *pack, int sock)
Process an incoming unsuback packet for a socket.
Definition: MQTTProtocolOut.c:405
Thread_create_cond
cond_type Thread_create_cond(int *rc)
Create a new condition variable.
Definition: Thread.c:365
Heap_terminate
void Heap_terminate(void)
Heap termination.
Definition: Heap.c:417
SocketBuffer_writeComplete
int SocketBuffer_writeComplete(int socket)
A socket write has now completed so we can get rid of the queue.
Definition: SocketBuffer.c:411
call_disconnected
static thread_return_type WINAPI call_disconnected(void *context)
Wrapper function to call disconnected on a separate thread.
Definition: MQTTClient.c:709
MQTTAsync_successData5::properties
MQTTProperties properties
MQTT V5 properties returned, if any.
Definition: MQTTAsync.h:523
Tree::indexes
int indexes
no of indexes into tree
Definition: Tree.h:83
MQTTAsync_successData5::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:519
MQTTClient_disconnect1
static int MQTTClient_disconnect1(MQTTClient handle, int timeout, int internal, int stop, enum MQTTReasonCodes, MQTTProperties *)
mqttclient_mutex must be locked when you call this function, if multi threaded
Definition: MQTTClient.c:1837
UTF8_validate
int UTF8_validate(int len, const char *data)
Validate a length-delimited string has only UTF-8 characters.
Definition: utf-8.c:129
MQTTAsync_connectOptions::onSuccess
MQTTAsync_onSuccess * onSuccess
A pointer to a callback function to be called if the connect successfully completes.
Definition: MQTTAsync.h:1144
Ack::msgId
int msgId
MQTT message id.
Definition: MQTTPacket.h:216
MQTTClient_yield
void MQTTClient_yield(void)
When implementing a single-threaded client, call this function periodically to allow processing of me...
Definition: MQTTClient.c:2720
MQTTAsync_connectOptions::serverURIcount
int serverURIcount
The number of entries in the serverURIs array.
Definition: MQTTAsync.h:1160
MQTTClient_willOptions::retained
int retained
The retained flag for the LWT message (see MQTTClient_message.retained).
Definition: MQTTClient.h:622
MQTTAsync_createOptions
Options for the ::MQTTAsync_createWithOptions call.
Definition: MQTTAsync.h:863
Socket_outInitialize
void Socket_outInitialize(void)
Initialize the socket module.
Definition: Socket.c:122
MQTTProperty::integer4
unsigned int integer4
holds the value of a 4 byte integer property type
Definition: MQTTProperties.h:101
Thread_start
thread_type Thread_start(thread_fn fn, void *parameter)
Start a new thread.
Definition: Thread.c:60
Connect::keepAliveTimer
int keepAliveTimer
keepalive timeout value in seconds
Definition: MQTTPacket.h:125
MQTTAsync_setTraceCallback
void MQTTAsync_setTraceCallback(MQTTAsync_traceCallback *callback)
This function sets the trace callback if needed.
Definition: MQTTAsync.c:4373
MQTTAsync_willOptions::topicName
const char * topicName
The LWT topic to which the LWT message will be published.
Definition: MQTTAsync.h:911
MQTTPacket_freeSuback
void MQTTPacket_freeSuback(Suback *pack)
Free allocated storage for a suback packet.
Definition: MQTTPacket.c:672
Thread_getid
thread_id_type Thread_getid(void)
Get the thread id of the thread from which this function is called.
Definition: Thread.c:176
Publications
Stored publication data to minimize copying.
Definition: Clients.h:40
pstget
int pstget(void *handle, char *key, char **buffer, int *buflen)
Retrieve a wire message from the client persistence directory.
Definition: MQTTPersistenceDefault.c:243
MQTTClient_willOptions
MQTTClient_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for the client.
Definition: MQTTClient.h:608
MQTTAsync_SSLOptions::keyStore
const char * keyStore
The file in PEM format containing the public certificate chain of the client.
Definition: MQTTAsync.h:963
MQTTClient_SSLOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTClient.h:658
MQTTAsync_successData5::reasonCodes
enum MQTTReasonCodes * reasonCodes
an array of reasonCodes
Definition: MQTTAsync.h:531
MQTTClient_unsubscribeMany5
MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char *const *topic, MQTTProperties *props)
This function attempts to remove existing subscriptions to a list of topics made by the specified cli...
Definition: MQTTClient.c:2109
Thread_check_sem
int Thread_check_sem(sem_type sem)
Check to see if a semaphore has been posted, without waiting The semaphore will be unchanged,...
Definition: Thread.c:292
MQTTAsync_connectOptions::context
void * context
Definition: MQTTAsync.h:1156
Publish
Data for a publish packet.
Definition: MQTTPacket.h:198
MQTTClient_publishMessage5
MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char *topicName, MQTTClient_message *message, MQTTClient_deliveryToken *deliveryToken)
Attempts to publish a message to the given topic using MQTT version 5.0 (see also MQTTClient_publish5...
Definition: MQTTClient.c:2391
Tree::size
size_t size
heap storage used
Definition: Tree.h:85
MQTTAsync_responseOptions
Structure to define call options.
Definition: MQTTAsync.h:624
clientSocketCompare
int clientSocketCompare(void *a, void *b)
List callback function for comparing clients by socket.
Definition: Clients.c:50
MQTTClient_connectOptions
MQTTClient_connectOptions defines several settings that control the way the client connects to an MQT...
Definition: MQTTClient.h:781
MQTTClient_subscribe
int MQTTClient_subscribe(MQTTClient handle, const char *topic, int qos)
This function attempts to subscribe a client to a single topic, which may contain wildcards (see wild...
Definition: MQTTClient.c:2095
MQTTProtocol_createMessage
Messages * MQTTProtocol_createMessage(Publish *publish, Messages **mm, int qos, int retained, int allocatePayload)
Copy and store message data for retries.
Definition: MQTTProtocolClient.c:193
Sockets::maxfdp1
int maxfdp1
max descriptor used +1 (again see select doc)
Definition: Socket.h:119
MQTTClient_isConnected
int MQTTClient_isConnected(MQTTClient handle)
This function allows the client application to test whether or not a client is currently connected to...
Definition: MQTTClient.c:1921
MQTTAsync_connectOptions::ssl
MQTTAsync_SSLOptions * ssl
This is a pointer to an MQTTAsync_SSLOptions structure.
Definition: MQTTAsync.h:1138
MQTTAsync_willOptions::payload
struct MQTTAsync_willOptions::@14 payload
The LWT payload in binary form.
MQTTAsync_failureData::message
const char * message
Optional text explaining the error.
Definition: MQTTAsync.h:457
queues
static List * queues
List of queued input buffers.
Definition: SocketBuffer.c:50
pending_writes
Definition: SocketBuffer.h:49
MQTTProtocol_closeSession
void MQTTProtocol_closeSession(Clients *c, int sendwill)
mqttclient_mutex must be locked when you call this function, if multi threaded
Definition: MQTTClient.c:1893
Clients::sessionExpiry
int sessionExpiry
MQTT 5 session expiry.
Definition: Clients.h:141
MQTTAsync_createOptions::sendWhileDisconnected
int sendWhileDisconnected
Whether to allow messages to be sent when the client library is not connected.
Definition: MQTTAsync.h:871
MQTTAsync_successData::MQTTVersion
int MQTTVersion
the version of MQTT being used
Definition: MQTTAsync.h:508
writes
static List writes
List of queued write buffers.
Definition: SocketBuffer.c:55
MQTTClient_free
void MQTTClient_free(void *memory)
This function frees memory allocated by the MQTT C client library, especially the topic name.
Definition: MQTTClient.c:610
MQTTPersistence_message
Definition: MQTTPersistence.h:67
MQTTPacket_freeConnack
void MQTTPacket_freeConnack(Connack *pack)
Free allocated storage for a connack packet.
Definition: MQTTPacketOut.c:187
HeapScan
static void HeapScan(enum LOG_LEVELS log_level)
Scans the heap and reports any items currently allocated.
Definition: Heap.c:383
Socket_close
void Socket_close(int socket)
Close a socket and remove it from the select list.
Definition: Socket.c:628
TreeInitialize
Tree * TreeInitialize(int(*compare)(void *, void *, int))
Allocates and initializes a new tree structure.
Definition: Tree.c:65
MQTTAsync_connectOptions::connectProperties
MQTTProperties * connectProperties
MQTT V5 properties for connect.
Definition: MQTTAsync.h:1203
MQTTClient_SSLOptions::ssl_psk_cb
unsigned int(* ssl_psk_cb)(const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u)
Callback function for setting TLS-PSK options.
Definition: MQTTClient.h:727
MQTTClient_setTraceLevel
void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level)
This function sets the level of trace information which will be returned in the trace callback.
Definition: MQTTClient.c:2845
Tree::allow_duplicates
unsigned int allow_duplicates
switch to allow duplicate entries
Definition: Tree.h:87
MQTTAsync_connectOptions::cleansession
int cleansession
This is a boolean value.
Definition: MQTTAsync.h:1099
MQTTClient_persistence::pput
Persistence_put pput
A function pointer to an implementation of Persistence_put().
Definition: MQTTClientPersistence.h:231
MQTTAsync_failureData5::reasonCode
enum MQTTReasonCodes reasonCode
The MQTT reason code returned.
Definition: MQTTAsync.h:471
TreeRemoveIndex
void * TreeRemoveIndex(Tree *aTree, void *content, int index)
Remove an item from a tree.
Definition: Tree.c:487
MQTTClient_SSLOptions::verify
int verify
Whether to carry out post-connect checks, including that a certificate matches the given host name.
Definition: MQTTClient.h:701
MQTTClient_connectOptions::ssl
MQTTClient_SSLOptions * ssl
This is a pointer to an MQTTClient_SSLOptions structure.
Definition: MQTTClient.h:870
MQTTPersistence_remove
int MQTTPersistence_remove(Clients *c, char *type, int qos, int msgId)
Deletes a record from the persistent store.
Definition: MQTTPersistence.c:503
Socket_close_only
int Socket_close_only(int socket)
Close a socket without removing it from the select list.
Definition: Socket.c:600
trace_settings_type::max_trace_entries
int max_trace_entries
max no of entries in the trace buffer
Definition: Log.h:58
MQTTClient_willOptions::len
int len
binary payload length
Definition: MQTTClient.h:631
lower
char lower
lower limit of valid range
Definition: utf-8.c:49
List::count
int count
no of items
Definition: LinkedList.h:72
MQTTAsync_message
A structure representing the payload and attributes of an MQTT message.
Definition: MQTTAsync.h:258
socket_queue
Definition: SocketBuffer.h:38
MQTTClient_message::dup
int dup
The dup flag indicates whether or not this message is a duplicate.
Definition: MQTTClient.h:316
MQTTAsync_disconnectOptions::onFailure5
MQTTAsync_onFailure5 * onFailure5
A pointer to a callback function to be called if the disconnect fails.
Definition: MQTTAsync.h:1305
MQTTAsync_SSLOptions::ssl_error_cb
int(* ssl_error_cb)(const char *str, size_t len, void *u)
Callback function for OpenSSL error handler ERR_print_errors_cb Exists only if struct_version >= 3.
Definition: MQTTAsync.h:1009
MQTTAsync_successData::token
MQTTAsync_token token
A token identifying the successful request.
Definition: MQTTAsync.h:488
MQTTAsync_SSLOptions::ssl_psk_cb
unsigned int(* ssl_psk_cb)(const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u)
Callback function for setting TLS-PSK options.
Definition: MQTTAsync.h:1022
Thread_signal_cond
int Thread_signal_cond(cond_type condvar)
Signal a condition variable.
Definition: Thread.c:399
MQTTClient_init_options
Initialization options.
Definition: MQTTClient.h:225
Socket_getpeer
char * Socket_getpeer(int sock)
Get information about the other end connected to a socket.
Definition: Socket.c:1056
Connack::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:135
stringcompare
int stringcompare(void *a, void *b)
List callback function for comparing C strings.
Definition: LinkedList.c:448
MQTTAsync_connectOptions::password
const char * password
MQTT servers that support the MQTT v3.1 protocol provide authentication and authorisation by user nam...
Definition: MQTTAsync.h:1121
MQTTAsync_successData5::sub
struct MQTTAsync_successData5::@9::@10 sub
For subscribeMany, the list of reasonCodes returned by the server.
ptrCompare
static int ptrCompare(void *a, void *b, int value)
List callback function for comparing storage elements.
Definition: Heap.c:114
Unsuback::reasonCodes
List * reasonCodes
list of reason codes
Definition: MQTTPacket.h:190
MQTTAsync_failureData::code
int code
A numeric code identifying the error.
Definition: MQTTAsync.h:455
Socket_putdatas
int Socket_putdatas(int socket, char *buf0, size_t buf0len, int count, char **buffers, size_t *buflens, int *frees)
Attempts to write a series of buffers to a socket in one system call so that they are sent as one pac...
Definition: Socket.c:506
MQTTAsync_responseOptions::onSuccess
MQTTAsync_onSuccess * onSuccess
A pointer to a callback function to be called if the API call successfully completes.
Definition: MQTTAsync.h:635
MQTTProtocol_checkPendingWrites
static void MQTTProtocol_checkPendingWrites(void)
See if any pending writes have been completed, and cleanup if so.
Definition: MQTTAsync.c:1337
MQTTClient_willOptions::topicName
const char * topicName
The LWT topic to which the LWT message will be published.
Definition: MQTTClient.h:616
MQTTAsync_successData::qos
int qos
For subscribe, the granted QoS of the subscription returned by the server.
Definition: MQTTAsync.h:494
Heap_get_info
heap_info * Heap_get_info(void)
Access to heap state.
Definition: Heap.c:432
MQTTAsync_willOptions::qos
int qos
The quality of service setting for the LWT message (see MQTTAsync_message.qos and qos).
Definition: MQTTAsync.h:922
MQTTClient_SSLOptions::trustStore
const char * trustStore
The file in PEM format containing the public digital certificates trusted by the client.
Definition: MQTTClient.h:663
Connect::willRetain
bool willRetain
will retain setting
Definition: MQTTPacket.h:113
MQTTClient_subscribe5
MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char *topic, int qos, MQTTSubscribe_options *opts, MQTTProperties *props)
This function attempts to subscribe an MQTT version 5.0 client to a single topic, which may contain w...
Definition: MQTTClient.c:2081
MQTTClient_SSLOptions::keyStore
const char * keyStore
The file in PEM format containing the public certificate chain of the client.
Definition: MQTTClient.h:668
Ack::MQTTVersion
int MQTTVersion
the version of MQTT
Definition: MQTTPacket.h:218
MQTTClient_connectOptions::reliable
int reliable
This is a boolean value that controls how many messages can be in-flight simultaneously.
Definition: MQTTClient.h:835
MQTTCLIENT_PERSISTENCE_DEFAULT
#define MQTTCLIENT_PERSISTENCE_DEFAULT
This persistence_type value specifies the default file system-based persistence mechanism (see MQTTCl...
Definition: MQTTClientPersistence.h:69
MQTTClient_connectOptions::cleansession
int cleansession
This is a boolean value.
Definition: MQTTClient.h:825
MQTTPersistence_put
int MQTTPersistence_put(int socket, char *buf0, size_t buf0len, int count, char **buffers, size_t *buflens, int htype, int msgId, int scr, int MQTTVersion)
Adds a record to the persistent store.
Definition: MQTTPersistence.c:411
trace_settings_type::trace_level
enum LOG_LEVELS trace_level
trace level
Definition: Log.h:57
Sockets::connect_pending
List * connect_pending
list of sockets for which a connect is pending
Definition: Socket.h:122
MQTTAsync_SSLOptions::ssl_error_context
void * ssl_error_context
Application-specific contex for OpenSSL error handler ERR_print_errors_cb Exists only if struct_versi...
Definition: MQTTAsync.h:1015
MQTTAsync_setConnectionLostCallback
int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl)
This function sets the callback function for a connection lost event for a specific client.
Definition: MQTTAsync.c:2693
Header::qos
unsigned int qos
QoS value, 0, 1 or 2.
Definition: MQTTPacket.h:78
Header::type
unsigned int type
message type nibble
Definition: MQTTPacket.h:80
MQTTPersistence_insertInOrder
void MQTTPersistence_insertInOrder(List *list, void *content, size_t size)
Inserts the specified message into the list, maintaining message ID order.
Definition: MQTTPersistence.c:378
Persistence_keys
int(* Persistence_keys)(void *handle, char ***keys, int *nkeys)
Returns the keys in this persistent data store.
Definition: MQTTClientPersistence.h:186
MQTTAsync_message::dup
int dup
The dup flag indicates whether or not this message is a duplicate.
Definition: MQTTAsync.h:307
MQTTAsync_disconnectOptions::onFailure
MQTTAsync_onFailure * onFailure
A pointer to a callback function to be called if the disconnect fails.
Definition: MQTTAsync.h:1279
MQTTAsync_connectOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTAsync.h:1056
MQTTAsync_create
int MQTTAsync_create(MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
This function creates an MQTT client ready for connection to the specified server and using the speci...
Definition: MQTTAsync.c:722
MQTTAsync_successData5::unsub
struct MQTTAsync_successData5::@9::@13 unsub
For unsubscribeMany, the list of reasonCodes returned by the server.
ListElementStruct
Structure to hold all data for one list element.
Definition: LinkedList.h:57
MQTTPacket::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:164
ListRemoveItem
int ListRemoveItem(List *aList, void *content, int(*callback)(void *, void *))
Removes and frees an element in a list by comparing the content.
Definition: LinkedList.c:349
NodeStruct::child
struct NodeStruct * child[2]
pointers to child tree nodes 0 = left, 1 = right
Definition: Tree.h:80
Connect::cleanstart
bool cleanstart
cleansession flag
Definition: MQTTPacket.h:110
ClientStates
Configuration data related to all clients.
Definition: Clients.h:155
MQTTAsync_SSLOptions::enableServerCertAuth
int enableServerCertAuth
True/False option to enable verification of the server certificate.
Definition: MQTTAsync.h:983
storageElement::size
size_t size
size of the allocated storage
Definition: Heap.c:73
readUTF
char * readUTF(char **pptr, char *enddata)
Reads a "UTF" string from the input buffer.
Definition: MQTTPacket.c:401
MQTTClient_destroy
void MQTTClient_destroy(MQTTClient *handle)
This function frees the memory allocated to an MQTT client (see MQTTClient_create()).
Definition: MQTTClient.c:554
MQTTAsync_message::payload
void * payload
A pointer to the payload of the MQTT message.
Definition: MQTTAsync.h:267
MQTTClient_SSLOptions::enableServerCertAuth
int enableServerCertAuth
True/False option to enable verification of the server certificate.
Definition: MQTTClient.h:688
Clients::good
unsigned int good
if we have an error on the socket we turn this off
Definition: Clients.h:124
MQTTPacket_connack
void * MQTTPacket_connack(int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
Function used in the new packets table to create connack packets.
Definition: MQTTPacketOut.c:142
MQTTAsync_willOptions::retained
int retained
The retained flag for the LWT message (see MQTTAsync_message.retained).
Definition: MQTTAsync.h:917
MQTTLenString
The data for a length delimited string.
Definition: MQTTProperties.h:85
MQTTClient_persistence::pclose
Persistence_close pclose
A function pointer to an implementation of Persistence_close().
Definition: MQTTClientPersistence.h:227
MQTTAsync_freeMessage
void MQTTAsync_freeMessage(MQTTAsync_message **message)
This function frees memory allocated to an MQTT message, including the additional memory allocated to...
Definition: MQTTAsync.c:2225
MQTTAsync_connectOptions::connectTimeout
int connectTimeout
The time interval in seconds to allow a connect to complete.
Definition: MQTTAsync.h:1125
Messages::nextMessageType
char nextMessageType
used for retry and expiry
Definition: Clients.h:60
MQTTPacket_unsuback
void * MQTTPacket_unsuback(int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
Function used in the new packets table to create unsuback packets.
Definition: MQTTPacketOut.c:408
MQTTClient_subscribeMany
int MQTTClient_subscribeMany(MQTTClient handle, int count, char *const *topic, int *qos)
This function attempts to subscribe a client to a list of topics, which may contain wildcards (see wi...
Definition: MQTTClient.c:2066
MQTTClient_connectOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTClient.h:793
MQTTAsync_setDeliveryCompleteCallback
int MQTTAsync_setDeliveryCompleteCallback(MQTTAsync handle, void *context, MQTTAsync_deliveryComplete *dc)
This function sets the callback function for a delivery complete event for a specific client.
Definition: MQTTAsync.c:2738
MQTTAsync_connectOptions::httpHeaders
const MQTTAsync_nameValue * httpHeaders
httpHeaders
Definition: MQTTAsync.h:1223
ListZero
void ListZero(List *newl)
Sets a list structure to empty - all null values.
Definition: LinkedList.c:42
MQTTClient_willOptions::payload
struct MQTTClient_willOptions::@16 payload
The LWT payload in binary form.
MQTTPacket_freeAck
void MQTTPacket_freeAck(Ack *pack)
Free allocated storage for an ack packet.
Definition: MQTTPacket.c:605
socket_queue::fixed_header
char fixed_header[5]
header plus up to 4 length bytes
Definition: SocketBuffer.h:42
SocketBuffer_cleanup
void SocketBuffer_cleanup(int socket)
Cleanup any buffers for a specific socket.
Definition: SocketBuffer.c:151
MQTTAsync_failureData5
The data returned on completion of an unsuccessful API call in the response callback onFailure.
Definition: MQTTAsync.h:463
MQTTClient_connectOptions::data
const void * data
binary password data
Definition: MQTTClient.h:909
MQTTAsync_responseOptions::onFailure
MQTTAsync_onFailure * onFailure
A pointer to a callback function to be called if the API call fails.
Definition: MQTTAsync.h:641
MQTTAsync_createOptions::maxBufferedMessages
int maxBufferedMessages
the maximum number of messages allowed to be buffered while not connected.
Definition: MQTTAsync.h:873
MQTTClient_connectOptions::serverURI
const char * serverURI
the serverURI connected to
Definition: MQTTClient.h:899
lines_written
static int lines_written
number of lines written to the current output file
Definition: Log.c:102
MQTTAsync_connectOptions::will
MQTTAsync_willOptions * will
This is a pointer to an MQTTAsync_willOptions structure.
Definition: MQTTAsync.h:1109
MQTTProtocol_keepalive
void MQTTProtocol_keepalive(START_TIME_TYPE now)
MQTT protocol keepAlive processing.
Definition: MQTTProtocolClient.c:652
Tree::count
int count
no of items
Definition: Tree.h:84
Heap_roundup
static size_t Heap_roundup(size_t size)
Round allocation size up to a multiple of the size of an int.
Definition: Heap.c:98
MQTTClient_message::msgid
int msgid
The message identifier is normally reserved for internal use by the MQTT client and server.
Definition: MQTTClient.h:320
MQTTAsync_Socket_noPendingWrites
static int MQTTAsync_Socket_noPendingWrites(int socket)
Call Socket_noPendingWrites(int socket) with protection by socket_mutex, see https://github....
Definition: MQTTAsync.c:1323
MQTTClient_connectOptions::MQTTVersion
int MQTTVersion
Sets the version of MQTT to be used on the connect.
Definition: MQTTClient.h:893
MQTTClient_SSLOptions::disableDefaultTrustStore
int disableDefaultTrustStore
Don't load default SSL CA.
Definition: MQTTClient.h:740
MQTTAsync_successData::message
MQTTAsync_message message
the message being sent to the server
Definition: MQTTAsync.h:501
MQTTAsync_message::retained
int retained
The retained flag serves two purposes depending on whether the message it is associated with is being...
Definition: MQTTAsync.h:300
MQTTClient_setDisconnected
int MQTTClient_setDisconnected(MQTTClient handle, void *context, MQTTClient_disconnected *disconnected)
Sets the MQTTClient_disconnected() callback function for a client.
Definition: MQTTClient.c:680
MQTTSubscribe_options::retainAsPublished
unsigned char retainAsPublished
To keep the retain flag as on the original publish message, set to 1.
Definition: MQTTSubscribeOpts.h:50
ws_frame::len
size_t len
length of frame
Definition: WebSocket.c:145
Ack::rc
unsigned char rc
MQTT 5 reason code.
Definition: MQTTPacket.h:217
MQTTAsync_responseOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:629
Connack
Data for a connack packet.
Definition: MQTTPacket.h:134
Thread_destroy_sem
int Thread_destroy_sem(sem_type sem)
Destroy a semaphore which has already been created.
Definition: Thread.c:341
MQTTProtocol_retry
void MQTTProtocol_retry(START_TIME_TYPE now, int doRetry, int regardless)
MQTT retry protocol and socket pending writes processing.
Definition: MQTTProtocolClient.c:774
MQTTClient_createOptions::MQTTVersion
int MQTTVersion
Whether the MQTT version is 3.1, 3.1.1, or 5.
Definition: MQTTClient.h:543
MQTTClient_disconnect
int MQTTClient_disconnect(MQTTClient handle, int timeout)
This function attempts to disconnect the client from the MQTT server.
Definition: MQTTClient.c:1899
SocketBuffer_getQueuedData
char * SocketBuffer_getQueuedData(int socket, size_t bytes, size_t *actual_len)
Get any queued data for a specific socket.
Definition: SocketBuffer.c:176
Clients::MQTTVersion
int MQTTVersion
the version of MQTT being used, 3, 4 or 5
Definition: Clients.h:140
s
Sockets s
Structure to hold all socket data for the module.
Definition: Socket.c:66
Sockets
Structure to hold all socket data for the module.
Definition: Socket.h:116
Tree::heap_tracking
unsigned int heap_tracking
switch on heap tracking for this tree?
Definition: Tree.h:86
MQTTAsync_connectOptions::len
int len
binary password length
Definition: MQTTAsync.h:1193
MQTTClient_SSLOptions::privateKey
const char * privateKey
If not included in the sslKeyStore, this setting points to the file in PEM format containing the clie...
Definition: MQTTClient.h:673
MQTTClient_SSLOptions::enabledCipherSuites
const char * enabledCipherSuites
The list of cipher suites that the client will present to the server during the SSL handshake.
Definition: MQTTClient.h:685
writeChar
void writeChar(char **pptr, char c)
Writes one character to an output buffer.
Definition: MQTTPacket.c:426
MQTTLenString::len
int len
the length of the string
Definition: MQTTProperties.h:86
MQTTAsync_SSLOptions::privateKeyPassword
const char * privateKeyPassword
The password to load the client's privateKey if encrypted.
Definition: MQTTAsync.h:970
MQTTProtocol_retries
static void MQTTProtocol_retries(START_TIME_TYPE now, Clients *client, int regardless)
MQTT retry processing per client.
Definition: MQTTProtocolClient.c:702
MQTTAsync_disconnectOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:1262
MQTTPacket_send_subscribe
int MQTTPacket_send_subscribe(List *topics, List *qoss, MQTTSubscribe_options *opts, MQTTProperties *props, int msgid, int dup, Clients *client)
Send an MQTT subscribe packet down a socket.
Definition: MQTTPacketOut.c:228
Thread_wait_cond
int Thread_wait_cond(cond_type condvar, int timeout)
Wait with a timeout (seconds) for condition variable.
Definition: Thread.c:416
MQTTAsync_disconnectOptions::timeout
int timeout
The client delays disconnection for up to this time (in milliseconds) in order to allow in-flight mes...
Definition: MQTTAsync.h:1267
ARRAY_SIZE
#define ARRAY_SIZE(a)
Macro to determine the number of elements in a single-dimension array.
Definition: utf-8.c:37
MQTTAsync_SSLOptions::enabledCipherSuites
const char * enabledCipherSuites
The list of cipher suites that the client will present to the server during the SSL handshake.
Definition: MQTTAsync.h:980
MQTTAsync_failureData5::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:467
MQTTClient_SSLOptions::ssl_error_context
void * ssl_error_context
Application-specific contex for OpenSSL error handler ERR_print_errors_cb Exists only if struct_versi...
Definition: MQTTClient.h:720
MQTTAsync_disconnectOptions::properties
MQTTProperties properties
MQTT V5 input properties.
Definition: MQTTAsync.h:1289
MQTTAsync_successData5::reasonCode
enum MQTTReasonCodes reasonCode
MQTT V5 reason code returned.
Definition: MQTTAsync.h:522
MQTTClient_unsubscribeMany
int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char *const *topic)
This function attempts to remove existing subscriptions to a list of topics made by the specified cli...
Definition: MQTTClient.c:2213
MQTTClient_setCallbacks
int MQTTClient_setCallbacks(MQTTClient handle, void *context, MQTTClient_connectionLost *cl, MQTTClient_messageArrived *ma, MQTTClient_deliveryComplete *dc)
This function sets the callback functions for a specific client.
Definition: MQTTClient.c:1030
MQTTClient_connectOptions::binarypwd
struct MQTTClient_connectOptions::@18 binarypwd
Optional binary password.
SocketBuffer_updateWrite
pending_writes * SocketBuffer_updateWrite(int socket, char *topic, char *payload)
Update the queued write data for a socket in the case of QoS 0 messages.
Definition: SocketBuffer.c:424
MQTTAsync_createOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:869
Connect::clientID
char * clientID
string client id
Definition: MQTTPacket.h:121
MQTTClient_connectOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTClient.h:783
MQTTAsync_SSLOptions::sslVersion
int sslVersion
The SSL/TLS version to use.
Definition: MQTTAsync.h:989
MQTTClient_unsubscribe
int MQTTClient_unsubscribe(MQTTClient handle, const char *topic)
This function attempts to remove an existing subscription made by the specified client.
Definition: MQTTClient.c:2230
Connect::password
bool password
3.1 password
Definition: MQTTPacket.h:114
Socket_getch
int Socket_getch(int socket, char *c)
Reads one byte from a socket.
Definition: Socket.c:332
Suback::msgId
int msgId
MQTT message id.
Definition: MQTTPacket.h:174
Persistence_put
int(* Persistence_put)(void *handle, char *key, int bufcount, char *buffers[], int buflens[])
Put the specified data into the persistent store.
Definition: MQTTClientPersistence.h:140
Publish::payloadlen
int payloadlen
payload length
Definition: MQTTPacket.h:204
MQTTAsync_connectOptions::maxInflight
int maxInflight
This controls how many messages can be in-flight simultaneously.
Definition: MQTTAsync.h:1103
Clients::will
willMessages * will
the MQTT will message, if any
Definition: Clients.h:132
Connect
Data for a connect packet.
Definition: MQTTPacket.h:90
MQTTAsync_SSLOptions::disableDefaultTrustStore
int disableDefaultTrustStore
Don't load default SSL CA.
Definition: MQTTAsync.h:1035
MQTTClient_message::struct_version
int struct_version
The version number of this structure.
Definition: MQTTClient.h:272
MQTTAsync_isConnected
int MQTTAsync_isConnected(MQTTAsync handle)
This function allows the client application to test whether or not a client is currently connected to...
Definition: MQTTAsync.c:3424
ListEmpty
void ListEmpty(List *aList)
Removes and frees all items in a list, leaving the list ready for new items.
Definition: LinkedList.c:359
MQTTClient_init_options::struct_version
int struct_version
The version number of this structure.
Definition: MQTTClient.h:229
MQTTAsync_unsubscribe
int MQTTAsync_unsubscribe(MQTTAsync handle, const char *topic, MQTTAsync_responseOptions *response)
This function attempts to remove an existing subscription made by the specified client.
Definition: MQTTAsync.c:3699
MQTTSubscribe_options::struct_version
int struct_version
The version number of this structure.
Definition: MQTTSubscribeOpts.h:41
messageIDCompare
int messageIDCompare(void *a, void *b)
List callback function for comparing Message structures by message id.
Definition: MQTTProtocolClient.c:64
UTF8_char_validate
static const char * UTF8_char_validate(int len, const char *data)
Validate a single UTF-8 character.
Definition: utf-8.c:76
Socket_getReadySocket
int Socket_getReadySocket(int more_work, struct timeval *tp, mutex_type mutex)
Returns the next socket ready for communications as indicated by select.
Definition: Socket.c:242
MQTTClient_init_options::do_openssl_init
int do_openssl_init
1 = we do openssl init, 0 = leave it to the application
Definition: MQTTClient.h:231
MQTTAsync_successData5
The data returned on completion of a successful API call in the response callback onSuccess.
Definition: MQTTAsync.h:517
MQTTAsync_subscribeMany
int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char *const *topic, int *qos, MQTTAsync_responseOptions *response)
This function attempts to subscribe a client to a list of topics, which may contain wildcards (see wi...
Definition: MQTTAsync.c:3494
isReady
int isReady(int socket, fd_set *read_set, fd_set *write_set)
Don't accept work from a client unless it is accepting work back, i.e.
Definition: Socket.c:221
MQTTAsync_SSLOptions::CApath
const char * CApath
From the OpenSSL documentation: If CApath is not NULL, it points to a directory containing CA certifi...
Definition: MQTTAsync.h:1003
MQTTClient_persistence::pkeys
Persistence_keys pkeys
A function pointer to an implementation of Persistence_keys().
Definition: MQTTClientPersistence.h:243
readChar
unsigned char readChar(char **pptr)
Reads one character from the input buffer.
Definition: MQTTPacket.c:413
MQTTProperties::max_count
int max_count
max number of properties that the currently allocated array can store
Definition: MQTTProperties.h:115
heap
static Tree heap
Tree that holds the allocation records.
Definition: Heap.c:79
MQTTClient_connect5
MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions *options, MQTTProperties *connectProperties, MQTTProperties *willProperties)
Attempts to connect a previously-created client (see MQTTClient_create()) to an MQTT server using MQT...
Definition: MQTTClient.c:1649
MQTTAsync_disconnectOptions
Options for the MQTTAsync_disconnect call.
Definition: MQTTAsync.h:1258
MQTTClient_persistence::premove
Persistence_remove premove
A function pointer to an implementation of Persistence_remove().
Definition: MQTTClientPersistence.h:239
MQTTClient_getVersionInfo
MQTTClient_nameValue * MQTTClient_getVersionInfo(void)
This function returns version information about the library.
Definition: MQTTClient.c:2857
MQTTAsync_successData5::alt
union MQTTAsync_successData5::@9 alt
A union of the different values that can be returned for subscribe, unsubscribe and publish.
SocketBuffer_pendingWrite
int SocketBuffer_pendingWrite(int socket, int count, iobuf *iovecs, int *frees, size_t total, size_t bytes)
A socket write was interrupted so store the remaining data.
Definition: SocketBuffer.c:349
Publish::properties
MQTTProperties properties
MQTT 5.0 properties.
Definition: MQTTPacket.h:206
Unsuback::properties
MQTTProperties properties
MQTT 5.0 properties.
Definition: MQTTPacket.h:189
MQTTProtocol_startPublish
int MQTTProtocol_startPublish(Clients *pubclient, Publish *publish, int qos, int retained, Messages **mm)
Start a new publish exchange.
Definition: MQTTProtocolClient.c:161
MQTTClient_message::payloadlen
int payloadlen
The length of the MQTT message payload in bytes.
Definition: MQTTClient.h:274
trace_destination
static FILE * trace_destination
flag to indicate if trace is to be sent to a stream
Definition: Log.c:99
MQTTAsync_free
void MQTTAsync_free(void *memory)
This function frees memory allocated by the MQTT C client library, especially the topic name.
Definition: MQTTAsync.c:2236
networkHandles
Definition: Clients.h:77
SocketBuffer_newDefQ
int SocketBuffer_newDefQ(void)
Create a new default queue when one has just been used.
Definition: SocketBuffer.c:79
MQTTClient_strerror
const char * MQTTClient_strerror(int code)
Returns a pointer to the string representation of the error or NULL.
Definition: MQTTClient.c:2893
Tree::root
Node * root
root node pointer
Definition: Tree.h:80
Connack::flags
union Connack::@22 flags
connack flags byte
MQTTProperty::byte
unsigned char byte
holds the value of a byte property type
Definition: MQTTProperties.h:99
ListInitialize
List * ListInitialize(void)
Allocates and initializes a new list structure.
Definition: LinkedList.c:52
HeapDump
int HeapDump(FILE *file)
Dump the state of the heap.
Definition: Heap.c:462
MQTTAsync_assignMsgId
static int MQTTAsync_assignMsgId(MQTTAsyncs *m)
Assign a new message id for a client.
Definition: MQTTAsync.c:3452
Sockets::clientsds
List * clientsds
list of client socket descriptors
Definition: Socket.h:120
Clients::username
const char * username
MQTT v3.1 user name.
Definition: Clients.h:118
ws_frame
raw websocket frame data
Definition: WebSocket.c:144
pstcontainskey
int pstcontainskey(void *handle, char *key)
Returns whether if a wire message is persisted in the client persistence directory.
Definition: MQTTPersistenceDefault.c:381
Header::dup
bool dup
DUP flag bit.
Definition: MQTTPacket.h:79
willMessages
Client will message data.
Definition: Clients.h:68
Thread_destroy_cond
int Thread_destroy_cond(cond_type condvar)
Destroy a condition variable.
Definition: Thread.c:437
MQTTClient_connectOptions::maxInflightMessages
int maxInflightMessages
The maximum number of messages in flight.
Definition: MQTTClient.h:914
clientSockCompare
static int clientSockCompare(void *a, void *b)
List callback function for comparing clients by socket.
Definition: MQTTAsync.c:532
pstclose
int pstclose(void *handle)
Delete client persistence directory (if empty).
Definition: MQTTPersistenceDefault.c:347
MQTTAsync_connectOptions::serverURIs
char *const * serverURIs
Definition: MQTTAsync.h:1169
MQTTAsync_connectOptions::maxRetryInterval
int maxRetryInterval
Maximum retry interval in seconds.
Definition: MQTTAsync.h:1188
MQTTClient_willOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTClient.h:610
MQTTAsync_connectOptions::keepAliveInterval
int keepAliveInterval
The "keep alive" interval, measured in seconds, defines the maximum time that should pass without com...
Definition: MQTTAsync.h:1077
ListInsert
ListElement * ListInsert(List *aList, void *content, size_t size, ListElement *index)
Insert an item to a list at a specific position.
Definition: LinkedList.c:107
Clients::cleanstart
unsigned int cleanstart
MQTT V5 clean start flag.
Definition: Clients.h:122
Socket_noPendingWrites
int Socket_noPendingWrites(int socket)
Indicate whether any data is pending outbound for a socket.
Definition: Socket.c:418
MQTTClient_message::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTClient.h:269
ListPopTail
void * ListPopTail(List *aList)
Removes but does not free the last item in a list.
Definition: LinkedList.c:306
Suback::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:173
Publish::payload
char * payload
binary payload, length delimited
Definition: MQTTPacket.h:203
MQTTAsync_successData5::pub
struct MQTTAsync_successData5::@9::@11 pub
For publish, the message being sent to the server.
MQTTAsync_SSLOptions::ssl_psk_context
void * ssl_psk_context
Application-specific contex for ssl_psk_cb Exists only if struct_version >= 4.
Definition: MQTTAsync.h:1028
Clients::password
const void * password
MQTT v3.1 binary password.
Definition: Clients.h:120
SocketBuffer_initialize
int SocketBuffer_initialize(void)
Initialize the socketBuffer module.
Definition: SocketBuffer.c:102
MQTTPacket_send_pubcomp
int MQTTPacket_send_pubcomp(int MQTTVersion, int msgid, networkHandles *net, const char *clientID)
Send an MQTT PUBCOMP packet down a socket.
Definition: MQTTPacket.c:751
MQTTClient_willOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTClient.h:614
Clients::messageQueue
List * messageQueue
inbound complete but undelivered messages
Definition: Clients.h:135
Clients::cleansession
unsigned int cleansession
MQTT V3 clean session flag.
Definition: Clients.h:121
MQTTAsync_successData5::MQTTVersion
int MQTTVersion
the version of MQTT being used
Definition: MQTTAsync.h:543
MQTTPacket_send_pubrec
int MQTTPacket_send_pubrec(int MQTTVersion, int msgid, networkHandles *net, const char *clientID)
Send an MQTT PUBREC packet down a socket.
Definition: MQTTPacket.c:710
MQTTPacket_send
int MQTTPacket_send(networkHandles *net, Header header, char *buffer, size_t buflen, int freeData, int MQTTVersion)
Sends an MQTT packet in one system call write.
Definition: MQTTPacket.c:185
MQTTAsync_message::msgid
int msgid
The message identifier is normally reserved for internal use by the MQTT client and server.
Definition: MQTTAsync.h:311
MQTTAsync_nameValue::value
const char * value
value string
Definition: MQTTAsync.h:1045
MQTTAsync_send
int MQTTAsync_send(MQTTAsync handle, const char *destinationName, int payloadlen, const void *payload, int qos, int retained, MQTTAsync_responseOptions *response)
This function attempts to publish a message to a given topic (see also MQTTAsync_sendMessage()).
Definition: MQTTAsync.c:3727
Thread_create_sem
sem_type Thread_create_sem(int *rc)
Create a new semaphore.
Definition: Thread.c:190
max_lines_per_file
static int max_lines_per_file
maximum number of lines to write to one trace file
Definition: Log.c:103
Tree
Structure to hold all data for one tree.
Definition: Tree.h:77
storageElement::ptr
void * ptr
pointer to the allocated storage
Definition: Heap.c:72
Clients::outboundMsgs
List * outboundMsgs
outbound in flight messages
Definition: Clients.h:134
storageElement
Each item on the heap is recorded with this structure.
Definition: Heap.c:69
MQTTClient_createOptions
Options for the MQTTClient_createWithOptions call.
Definition: MQTTClient.h:533
Socket_new
int Socket_new(const char *addr, size_t addr_len, int port, int *sock)
Create a new socket and TCP connect to an address/port.
Definition: Socket.c:672
MQTTProtocol_storePublication
Publications * MQTTProtocol_storePublication(Publish *publish, int *len)
Store message data for possible retry.
Definition: MQTTProtocolClient.c:249
MQTTClient_SSLOptions::ssl_error_cb
int(* ssl_error_cb)(const char *str, size_t len, void *u)
Callback function for OpenSSL error handler ERR_print_errors_cb Exists only if struct_version >= 3.
Definition: MQTTClient.h:714
MQTTClient_persistence::popen
Persistence_open popen
A function pointer to an implementation of Persistence_open().
Definition: MQTTClientPersistence.h:223
Thread_post_sem
int Thread_post_sem(sem_type sem)
Post a semaphore.
Definition: Thread.c:313
UTF8_validateString
int UTF8_validateString(const char *string)
Validate a null-terminated string has only UTF-8 characters.
Definition: utf-8.c:156
MQTTPacket_encode
int MQTTPacket_encode(char *buf, size_t length)
Encodes the message length according to the MQTT algorithm.
Definition: MQTTPacket.c:285
MQTTAsync_successData::destinationName
char * destinationName
the topic destination for the message
Definition: MQTTAsync.h:502
Clients::connected
unsigned int connected
whether it is currently connected
Definition: Clients.h:123
ListAppend
ListElement * ListAppend(List *aList, void *content, size_t size)
Append an item to a list.
Definition: LinkedList.c:90
heap_info::current_size
size_t current_size
current size of the heap in bytes
Definition: Heap.h:64
MQTTSubscribe_options::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTSubscribeOpts.h:38
ListUnlink
static int ListUnlink(List *aList, void *content, int(*callback)(void *, void *), int freeContent)
Removes and optionally frees an element in a list by comparing the content.
Definition: LinkedList.c:201
MQTTAsync_connectOptions::retryInterval
int retryInterval
The time interval in seconds after which unacknowledged publish requests are retried during a TCP ses...
Definition: MQTTAsync.h:1133
MQTTProtocol_emptyMessageList
void MQTTProtocol_emptyMessageList(List *msgList)
Empty a message list, leaving it able to accept new messages.
Definition: MQTTProtocolClient.c:856
Header::retain
bool retain
retained flag bit
Definition: MQTTPacket.h:77
packet_names
static const char * packet_names[]
List of the predefined MQTT v3/v5 packet names.
Definition: MQTTPacket.c:50
MQTTProtocol_unsubscribe
int MQTTProtocol_unsubscribe(Clients *client, List *topics, int msgID, MQTTProperties *props)
MQTT outgoing unsubscribe processing for a client.
Definition: MQTTProtocolOut.c:388
_unlink
#define _unlink
_unlink mapping for linux
Definition: Log.c:59
MQTTPacket_sends
int MQTTPacket_sends(networkHandles *net, Header header, int count, char **buffers, size_t *buflens, int *frees, int MQTTVersion)
Sends an MQTT packet from multiple buffers in one system call write.
Definition: MQTTPacket.c:237
readUTFlen
static char * readUTFlen(char **pptr, char *enddata, int *len)
Reads a "UTF" string from the input buffer.
Definition: MQTTPacket.c:368
MQTTClient_connectOptions::password
const char * password
MQTT servers that support the MQTT v3.1.1 protocol provide authentication and authorisation by user n...
Definition: MQTTClient.h:853
MQTTPacket_send_unsubscribe
int MQTTPacket_send_unsubscribe(List *topics, MQTTProperties *props, int msgid, int dup, Clients *client)
Send an MQTT unsubscribe packet down a socket.
Definition: MQTTPacketOut.c:359
MQTTClient_connectOptions::username
const char * username
MQTT servers that support the MQTT v3.1.1 protocol provide authentication and authorisation by user n...
Definition: MQTTClient.h:847
Ack
Data for one of the ack packets.
Definition: MQTTPacket.h:214
MQTTAsync_global_init
void MQTTAsync_global_init(MQTTAsync_init_options *inits)
Global init of mqtt library.
Definition: MQTTAsync.c:79
MQTTStrdup
char * MQTTStrdup(const char *src)
Duplicate a string, safely, allocating space on the heap.
Definition: MQTTProtocolClient.c:919
MQTTPacket_header_only
void * MQTTPacket_header_only(int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
Function used in the new packets table to create packets which have only a header.
Definition: MQTTPacket.c:483
Socket_outTerminate
void Socket_outTerminate(void)
Terminate the socket module.
Definition: Socket.c:151
MQTTAsync_queuedCommand
Definition: MQTTAsync.c:425
nameToType
Definition: MQTTProperties.c:29
MQTTClient_persistence::pcontainskey
Persistence_containskey pcontainskey
A function pointer to an implementation of Persistence_containskey().
Definition: MQTTClientPersistence.h:251
MQTTSubscribe_options::retainHandling
unsigned char retainHandling
0 - send retained messages at the time of the subscribe (original MQTT behaviour) 1 - send retained m...
Definition: MQTTSubscribeOpts.h:55
Socket_error
int Socket_error(char *aString, int sock)
Gets the specific error corresponding to SOCKET_ERROR.
Definition: Socket.c:101
MQTTClient_create
int MQTTClient_create(MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
This function creates an MQTT client ready for connection to the specified server and using the speci...
Definition: MQTTClient.c:505
MQTTAsync_disconnectOptions::onSuccess5
MQTTAsync_onSuccess5 * onSuccess5
A pointer to a callback function to be called if the disconnect successfully completes.
Definition: MQTTAsync.h:1299
MQTTPersistence_restoreMessageQueue
int MQTTPersistence_restoreMessageQueue(Clients *c)
Restores a queue of messages from persistence to memory.
Definition: MQTTPersistence.c:777
Messages_get
const char * Messages_get(int index, enum LOG_LEVELS log_level)
Get a log message by its index.
Definition: Messages.c:94
MQTTAsync_SSLOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:955
readInt
int readInt(char **pptr)
Calculates an integer from two bytes read from the input buffer.
Definition: MQTTPacket.c:347
trace_settings_type
Definition: Log.h:56
TreeAddByIndex
void * TreeAddByIndex(Tree *aTree, void *content, size_t size, int index)
Add an item to a tree.
Definition: Tree.c:210
networkHandles::websocket
int websocket
socket has been upgraded to use web sockets
Definition: Clients.h:90
MQTTClient_SSLOptions::privateKeyPassword
const char * privateKeyPassword
The password to load the client's privateKey if encrypted.
Definition: MQTTClient.h:675
MQTTAsync_init_options
Initialization options.
Definition: MQTTAsync.h:218
MQTTClient_persistence::pclear
Persistence_clear pclear
A function pointer to an implementation of Persistence_clear().
Definition: MQTTClientPersistence.h:247
MQTTPersistence_wrapMsgID
void MQTTPersistence_wrapMsgID(Clients *client)
Checks whether the message IDs wrapped by looking for the largest gap between two consecutive message...
Definition: MQTTPersistence.c:551
MQTTAsync_message::qos
int qos
The quality of service (QoS) assigned to the message.
Definition: MQTTAsync.h:281
MQTTAsync_failureData::token
MQTTAsync_token token
A token identifying the failed request.
Definition: MQTTAsync.h:453
Publish::msgId
int msgId
MQTT message id.
Definition: MQTTPacket.h:202
state
static heap_info state
global heap state information
Definition: Heap.c:58
MQTTClient_connectOptions::retryInterval
int retryInterval
The time interval in seconds after which unacknowledged publish requests are retried during a TCP ses...
Definition: MQTTClient.h:865
Tree::compare
int(* compare)(void *, void *, int)
comparison function
Definition: Tree.h:81
MQTTAsync_responseOptions::token
MQTTAsync_token token
A token is returned from the call.
Definition: MQTTAsync.h:653
Suback::qoss
List * qoss
list of granted QoSs (MQTT 3/4) / reason codes (MQTT 5)
Definition: MQTTPacket.h:177
Thread_lock_mutex
int Thread_lock_mutex(mutex_type mutex)
Lock a mutex which has alrea.
Definition: Thread.c:112
SocketBuffer_queueChar
void SocketBuffer_queueChar(int socket, char c)
Queued a Charactor to a specific socket.
Definition: SocketBuffer.c:303
pending_socketcompare
int pending_socketcompare(void *a, void *b)
List callback function for comparing pending_writes by socket.
Definition: SocketBuffer.c:388
MQTTClient_unsubscribe5
MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char *topic, MQTTProperties *props)
This function attempts to remove an existing subscription made by the specified client using MQTT 5....
Definition: MQTTClient.c:2221
Clients::msgID
int msgID
the MQTT message id
Definition: Clients.h:128
MQTTPersistence_clear
int MQTTPersistence_clear(Clients *c)
Clears the persistent store.
Definition: MQTTPersistence.c:161
def_queue
static socket_queue * def_queue
Default input queue buffer.
Definition: SocketBuffer.c:45
MQTTPacket_send_ack
static int MQTTPacket_send_ack(int MQTTVersion, int type, int msgid, int dup, networkHandles *net)
Send an MQTT acknowledgement packet down a socket.
Definition: MQTTPacket.c:624
Clients::passwordlen
int passwordlen
MQTT password length.
Definition: Clients.h:119
MQTTClient_message::properties
MQTTProperties properties
The MQTT V5 properties associated with the message.
Definition: MQTTClient.h:324
MQTTAsync_nameValue::name
const char * name
name string
Definition: MQTTAsync.h:1044
MQTTClient_getPendingDeliveryTokens
int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens)
This function sets a pointer to an array of delivery tokens for messages that are currently in-flight...
Definition: MQTTClient.c:2804
MQTTPersistence_close
int MQTTPersistence_close(Clients *c)
Close persistent store.
Definition: MQTTPersistence.c:136
MQTTAsync_message::properties
MQTTProperties properties
The MQTT V5 properties associated with the message.
Definition: MQTTAsync.h:315
Suback::properties
MQTTProperties properties
MQTT 5.0 properties.
Definition: MQTTPacket.h:176
MQTTAsync_connectOptions::onFailure5
MQTTAsync_onFailure5 * onFailure5
A pointer to a callback function to be called if the connect fails.
Definition: MQTTAsync.h:1219
pstremove
int pstremove(void *handle, char *key)
Delete a persisted message from the client persistence directory.
Definition: MQTTPersistenceDefault.c:303
MQTTAsync_failureData5::properties
MQTTProperties properties
The MQTT properties on the ack, if any.
Definition: MQTTAsync.h:473
MQTTAsync_connectOptions::willProperties
MQTTProperties * willProperties
MQTT V5 properties for the will message in the connect.
Definition: MQTTAsync.h:1207
MQTTAsync_successData
The data returned on completion of a successful API call in the response callback onSuccess.
Definition: MQTTAsync.h:486
MQTTClient_persistence
A structure containing the function pointers to a persistence implementation and the context or state...
Definition: MQTTClientPersistence.h:215
Clients::keepAliveInterval
int keepAliveInterval
the MQTT keep alive interval
Definition: Clients.h:129
Unsuback::MQTTVersion
int MQTTVersion
the version of MQTT
Definition: MQTTPacket.h:188
MQTTAsync_failureData
The data returned on completion of an unsuccessful API call in the response callback onFailure.
Definition: MQTTAsync.h:451
Socket_getaddrname
char * Socket_getaddrname(struct sockaddr *sa, int sock)
Convert a numeric address to character string.
Definition: Socket.c:1021
Header
Bitfields for the MQTT header byte.
Definition: MQTTPacket.h:64
List
Structure to hold all data for one list.
Definition: LinkedList.h:68
MQTTProperty
Structure to hold an MQTT version 5 property of any type.
Definition: MQTTProperties.h:95
MQTTClientPersistence.h
This structure represents a persistent data store, used to store outbound and inbound messages,...
cond_type_struct
Definition: Thread.h:46
MQTTClient_publish5
MQTTResponse MQTTClient_publish5(MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTProperties *properties, MQTTClient_deliveryToken *deliveryToken)
Attempts to publish a message to a given topic using MQTT version 5.0 (see also MQTTClient_publishMes...
Definition: MQTTClient.c:2238
MQTTClient_willOptions::message
const char * message
The LWT payload in string form.
Definition: MQTTClient.h:618
MQTTAsync_disconnectOptions::reasonCode
enum MQTTReasonCodes reasonCode
Reason code for MQTTV5 disconnect.
Definition: MQTTAsync.h:1293
Connack::properties
MQTTProperties properties
MQTT 5.0 properties.
Definition: MQTTPacket.h:155
MQTTPacket_free_packet
void MQTTPacket_free_packet(MQTTPacket *pack)
Free allocated storage for a various packet tyoes.
Definition: MQTTPacket.c:889
mymalloc
void * mymalloc(char *file, int line, size_t size)
Allocates a block of memory.
Definition: Heap.c:158
len
int len
number of elements in the following array (1 to 4)
Definition: utf-8.c:46
MQTTAsync_connectOptions
MQTTAsync_connectOptions defines several settings that control the way the client connects to an MQTT...
Definition: MQTTAsync.h:1054
MQTTAsync_responseOptions::context
void * context
A pointer to any application-specific context.
Definition: MQTTAsync.h:647
socket_queue::buflen
size_t buflen
total length of the buffer
Definition: SocketBuffer.h:43
MQTTResponse
MQTT version 5.0 response information.
Definition: MQTTClient.h:955
List::last
ListElement * last
last element in the list
Definition: LinkedList.h:70
MQTTClient_createOptions::struct_id
char struct_id[4]
The eyecatcher for this structure.
Definition: MQTTClient.h:535
Clients
Data related to one client.
Definition: Clients.h:116
ListFind
ListElement * ListFind(List *aList, void *content)
Finds an element in a list by comparing the content pointers, rather than the contents.
Definition: LinkedList.c:140
Heap_unlink
void Heap_unlink(char *file, int line, void *p)
Remove an item from the recorded heap without actually freeing it.
Definition: Heap.c:300
ws_frame::pos
size_t pos
current position within the buffer
Definition: WebSocket.c:146
Thread_unlock_mutex
int Thread_unlock_mutex(mutex_type mutex)
Unlock a mutex which has already been locked.
Definition: Thread.c:133
MQTTClient_connectOptions::returned
struct MQTTClient_connectOptions::@17 returned
Returned from the connect when the MQTT version used to connect is 3.1.1.
List::first
ListElement * first
first element in the list
Definition: LinkedList.h:69
MQTTAsync_reconnect
int MQTTAsync_reconnect(MQTTAsync handle)
Reconnects a client with the previously used connect options.
Definition: MQTTAsync.c:1234
new_packets
pf new_packets[]
Array of functions to build packets, indexed according to packet code.
Definition: MQTTPacket.c:73
MQTTClient_persistence::context
void * context
A pointer to any data required to initialize the persistent store.
Definition: MQTTClientPersistence.h:219
Heap_initialize
int Heap_initialize(void)
Heap initialization.
Definition: Heap.c:406
Connect::willTopic
char * willTopic
will topic
Definition: MQTTPacket.h:122
MQTTAsync_willOptions::data
const void * data
binary payload data
Definition: MQTTAsync.h:927
Thread_create_mutex
mutex_type Thread_create_mutex(int *rc)
Create a new mutex.
Definition: Thread.c:88
MQTTSubscribe_options::noLocal
unsigned char noLocal
To not receive our own publications, set to 1.
Definition: MQTTSubscribeOpts.h:45
MQTTAsync_connectOptions::onFailure
MQTTAsync_onFailure * onFailure
A pointer to a callback function to be called if the connect fails.
Definition: MQTTAsync.h:1150
MQTTAsync_setMessageArrivedCallback
int MQTTAsync_setMessageArrivedCallback(MQTTAsync handle, void *context, MQTTAsync_messageArrived *ma)
This function sets the callback function for a message arrived event for a specific client.
Definition: MQTTAsync.c:2716
MQTTAsync_responseOptions::onFailure5
MQTTAsync_onFailure5 * onFailure5
A pointer to a callback function to be called if the API call successfully completes.
Definition: MQTTAsync.h:665
MQTTAsync_connect
int MQTTAsync_connect(MQTTAsync handle, const MQTTAsync_connectOptions *options)
This function attempts to connect a previously-created client (see MQTTAsync_create()) to an MQTT ser...
Definition: MQTTAsync.c:2985
MQTTPacket_freePublish
void MQTTPacket_freePublish(Publish *pack)
Free allocated storage for a publish packet.
Definition: MQTTPacket.c:589
writeUTF
void writeUTF(char **pptr, const char *string)
Writes a "UTF" string to an output buffer.
Definition: MQTTPacket.c:452
ListPrevElement
ListElement * ListPrevElement(List *aList, ListElement **pos)
Backward iteration through a list.
Definition: LinkedList.c:424
MQTTProperties::count
int count
number of property entries in the array
Definition: MQTTProperties.h:114
MQTTProtocol_handlePubrecs
int MQTTProtocol_handlePubrecs(void *pack, int sock)
Process an incoming pubrec packet for a socket.
Definition: MQTTProtocolClient.c:449
Connect::Protocol
char * Protocol
MQTT protocol name.
Definition: MQTTPacket.h:120
MQTTPacket_name
const char * MQTTPacket_name(int ptype)
Converts an MQTT packet code into its name.
Definition: MQTTPacket.c:65
writeInt
void writeInt(char **pptr, int anInt)
Writes an integer as 2 bytes to an output buffer.
Definition: MQTTPacket.c:438
MQTTPacket_send_pubrel
int MQTTPacket_send_pubrel(int MQTTVersion, int msgid, int dup, networkHandles *net, const char *clientID)
Send an MQTT PUBREL packet down a socket.
Definition: MQTTPacket.c:731
MQTTProperties::array
MQTTProperty * array
array of properties
Definition: MQTTProperties.h:117
Log_stackTrace
void Log_stackTrace(enum LOG_LEVELS log_level, int msgno, int thread_id, int current_depth, const char *name, int line, int *rc)
The reason for this function is to make trace logging as fast as possible so that the function exit/e...
Definition: Log.c:448
MQTTClient_freeMessage
void MQTTClient_freeMessage(MQTTClient_message **message)
This function frees memory allocated to an MQTT message, including the additional memory allocated to...
Definition: MQTTClient.c:599
MQTTAsync_connectOptions::data
const void * data
binary password data
Definition: MQTTAsync.h:1194
Header::byte
char byte
the whole byte
Definition: MQTTPacket.h:65
threadEntry
Definition: StackTrace.c:54
MQTTAsync_command::MQTTVersion
int MQTTVersion
current MQTT version being used to connect
Definition: MQTTAsync.c:361
trace_destination_name
static char * trace_destination_name
the name of the trace file
Definition: Log.c:100
MQTTAsync_successData5::message
MQTTAsync_message message
the message being sent to the server
Definition: MQTTAsync.h:536
upper
char upper
upper limit of valid range
Definition: utf-8.c:50
MQTTClient_message::retained
int retained
The retained flag serves two purposes depending on whether the message it is associated with is being...
Definition: MQTTClient.h:309
ListDetachItem
int ListDetachItem(List *aList, void *content, int(*callback)(void *, void *))
Removes but does not free an element in a list by comparing the content.
Definition: LinkedList.c:335
MQTTClient_connect
int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions *options)
This function attempts to connect a previously-created client (see MQTTClient_create()) to an MQTT se...
Definition: MQTTClient.c:1635
SocketBuffer_interrupted
void SocketBuffer_interrupted(int socket, size_t actual_len)
A socket read was interrupted so we need to queue data.
Definition: SocketBuffer.c:252
MQTTAsync_successData5::reasonCodeCount
int reasonCodeCount
the number of reason codes in the reasonCodes array
Definition: MQTTAsync.h:530
MQTTClient_SSLOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTClient.h:660
Internal_heap_unlink
static int Internal_heap_unlink(char *file, int line, void *p)
Remove an item from the recorded heap without actually freeing it.
Definition: Heap.c:245
FindString
char * FindString(char *filename, const char *eyecatcher_input)
Finds an eyecatcher in a binary file and returns the following value.
Definition: MQTTVersion.c:73
MQTTAsync_responseOptions::properties
MQTTProperties properties
MQTT V5 input properties.
Definition: MQTTAsync.h:669
Persistence_open
int(* Persistence_open)(void **handle, const char *clientID, const char *serverURI, void *context)
Initialize the persistent store.
Definition: MQTTClientPersistence.h:113
traceEntry
Definition: Log.c:77
MQTTPacket_Factory
void * MQTTPacket_Factory(int MQTTVersion, networkHandles *net, int *error)
Reads one MQTT packet from a socket.
Definition: MQTTPacket.c:103
MQTTClient_SSLOptions::sslVersion
int sslVersion
The SSL/TLS version to use.
Definition: MQTTClient.h:694
pstopen
int pstopen(void **handle, const char *clientID, const char *serverURI, void *context)
Create persistence directory for the client: context/clientID-serverURI.
Definition: MQTTPersistenceDefault.c:64
SHA_CTX_S
Definition: SHA1.h:39
MQTTClient_waitForCompletion
int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken mdt, unsigned long timeout)
This function is called by the client application to synchronize execution of the main thread with co...
Definition: MQTTClient.c:2762
MQTTAsync_struct
Definition: MQTTAsync.c:368
bytes
struct @32::@33 bytes[4]
up to 4 bytes can be used per character
MQTTAsync_init_options::do_openssl_init
int do_openssl_init
1 = we do openssl init, 0 = leave it to the application
Definition: MQTTAsync.h:224
MQTTPacket_VBIdecode
int MQTTPacket_VBIdecode(int(*getcharfn)(char *, int), unsigned int *value)
Decodes the message length according to the MQTT algorithm.
Definition: MQTTPacket.c:996
MQTTAsync_setDisconnected
int MQTTAsync_setDisconnected(MQTTAsync handle, void *context, MQTTAsync_disconnected *disconnected)
Sets the MQTTAsync_disconnected() callback function for a client.
Definition: MQTTAsync.c:2762
MQTTProtocol_addressPort
size_t MQTTProtocol_addressPort(const char *uri, int *port, const char **topic)
Separates an address:port into two separate values.
Definition: MQTTProtocolOut.c:54
MQTTResponse_free
void MQTTResponse_free(MQTTResponse response)
Frees the storage associated with the MQTT response.
Definition: MQTTClient.c:618
Publish::header
Header header
MQTT header byte.
Definition: MQTTPacket.h:199
MQTTAsync_connectOptions::automaticReconnect
int automaticReconnect
Reconnect automatically in the case of a connection being lost?
Definition: MQTTAsync.h:1180
MQTTAsync_setConnected
int MQTTAsync_setConnected(MQTTAsync handle, void *context, MQTTAsync_connected *connected)
Sets the MQTTAsync_connected() callback function for a client.
Definition: MQTTAsync.c:2784
Socket_addSocket
int Socket_addSocket(int newSd)
Add a socket to the list of socket to check with select.
Definition: Socket.c:169
MQTTAsync_responseOptions::onSuccess5
MQTTAsync_onSuccess5 * onSuccess5
A pointer to a callback function to be called if the API call successfully completes.
Definition: MQTTAsync.h:659
pstmkdir
int pstmkdir(char *pPathname)
Function to create a directory.
Definition: MQTTPersistenceDefault.c:157
MQTTAsync_connectOptions::binarypwd
struct MQTTAsync_connectOptions::@15 binarypwd
Optional binary password.
MQTTAsync_message::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:263
writeInt4
void writeInt4(char **pptr, int anInt)
Writes an integer as 4 bytes to an output buffer.
Definition: MQTTPacket.c:909
ListFree
void ListFree(List *aList)
Removes and frees all items in a list, and frees the list itself.
Definition: LinkedList.c:381
Socket_clearPendingWrite
void Socket_clearPendingWrite(int socket)
Clear a socket from the pending write list - if one was added with Socket_addPendingWrite.
Definition: Socket.c:588
MQTTPacket_send_puback
int MQTTPacket_send_puback(int MQTTVersion, int msgid, networkHandles *net, const char *clientID)
Send an MQTT PUBACK packet down a socket.
Definition: MQTTPacket.c:656
storageElement::file
char * file
the name of the source file where the storage was allocated
Definition: Heap.c:70
Persistence_containskey
int(* Persistence_containskey)(void *handle, char *key)
Returns whether any data has been persisted using the specified key.
Definition: MQTTClientPersistence.h:208
MQTTProtocol_handlePingresps
int MQTTProtocol_handlePingresps(void *pack, int sock)
Process an incoming pingresp packet for a socket.
Definition: MQTTProtocolOut.c:326
MQTTAsync_willOptions::len
int len
binary payload length
Definition: MQTTAsync.h:926
MQTTClient_connectOptions::connectTimeout
int connectTimeout
The time interval in seconds to allow a connect to complete.
Definition: MQTTClient.h:857
MQTTProtocol_handlePubrels
int MQTTProtocol_handlePubrels(void *pack, int sock)
Process an incoming pubrel packet for a socket.
Definition: MQTTProtocolClient.c:518
MQTTPacket_send_pingreq
int MQTTPacket_send_pingreq(networkHandles *net, const char *clientID)
Send an MQTT PINGREQ packet down a socket.
Definition: MQTTPacketOut.c:203
MQTTAsync_connectOptions::minRetryInterval
int minRetryInterval
Minimum retry interval in seconds.
Definition: MQTTAsync.h:1184
clientSockCompare
static int clientSockCompare(void *a, void *b)
List callback function for comparing clients by socket.
Definition: MQTTClient.c:658
MQTTPersistence_restorePacket
void * MQTTPersistence_restorePacket(int MQTTVersion, char *buffer, size_t buflen)
Returns a MQTT packet restored from persisted data.
Definition: MQTTPersistence.c:340
Connect::flags
union Connect::@20 flags
connect flags byte
MQTTProtocol_handlePubcomps
int MQTTProtocol_handlePubcomps(void *pack, int sock)
Process an incoming pubcomp packet for a socket.
Definition: MQTTProtocolClient.c:597
MQTTClient_SSLOptions::ssl_psk_context
void * ssl_psk_context
Application-specific contex for ssl_psk_cb Exists only if struct_version >= 4.
Definition: MQTTClient.h:733
MQTTProtocol_removePublication
void MQTTProtocol_removePublication(Publications *p)
Remove stored message data.
Definition: MQTTProtocolClient.c:281
Sockets::write_pending
List * write_pending
list of sockets for which a write is pending
Definition: Socket.h:123
MQTTProtocol_handlePublishes
int MQTTProtocol_handlePublishes(void *pack, int sock)
Process an incoming publish packet for a socket The payload field of the packet has not been transfer...
Definition: MQTTProtocolClient.c:301
HeapDumpString
int HeapDumpString(FILE *file, char *str)
Dump a string from the heap so that it can be displayed conveniently.
Definition: Heap.c:443
MQTTPacket_publish
void * MQTTPacket_publish(int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
Function used in the new packets table to create publish packets.
Definition: MQTTPacket.c:541
MQTTClient_connectOptions::len
int len
binary password length
Definition: MQTTClient.h:908
MQTTProtocol_handlePubacks
int MQTTProtocol_handlePubacks(void *pack, int sock)
Process an incoming puback packet for a socket.
Definition: MQTTProtocolClient.c:403
ListElementStruct::next
struct ListElementStruct * next
pointer to next list element
Definition: LinkedList.h:75
Connect::username
bool username
3.1 user name
Definition: MQTTPacket.h:115
MQTTAsync_message::payloadlen
int payloadlen
The length of the MQTT message payload in bytes.
Definition: MQTTAsync.h:265
MQTTAsync_init_options::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:222
MQTTAsync_getPendingTokens
int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens)
This function sets a pointer to an array of tokens for messages that are currently in-flight (pending...
Definition: MQTTAsync.c:4208
MQTTPacket_send_disconnect
int MQTTPacket_send_disconnect(Clients *client, enum MQTTReasonCodes reason, MQTTProperties *props)
Send an MQTT disconnect packet down a socket.
Definition: MQTTPacket.c:496
MQTTProtocol_assignMsgId
int MQTTProtocol_assignMsgId(Clients *client)
Assign a new message id for a client.
Definition: MQTTProtocolClient.c:77
MQTTAsync_successData5::sessionPresent
int sessionPresent
the session present flag returned from the server
Definition: MQTTAsync.h:544
MQTTProperty::data
MQTTLenString data
The value of a string property, or the name of a user property.
Definition: MQTTProperties.h:103
MQTTAsync_successData::sessionPresent
int sessionPresent
the session present flag returned from the server
Definition: MQTTAsync.h:509
MQTTAsync_successData5::token
MQTTAsync_token token
A token identifying the successful request.
Definition: MQTTAsync.h:521
myrealloc
void * myrealloc(char *file, int line, void *p, size_t size)
Reallocates a block of memory.
Definition: Heap.c:320
valid_ranges
struct @32 valid_ranges[]
Structure to hold the valid ranges of UTF-8 characters, for each byte up to 4.
ListElementStruct::content
void * content
pointer to element content
Definition: LinkedList.h:76
MQTTAsync_willOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:909
MQTTAsync_successData5::serverURI
char * serverURI
the connection string of the server
Definition: MQTTAsync.h:542
myfree
void myfree(char *file, int line, void *p)
Frees a block of memory.
Definition: Heap.c:277
MQTTAsync_connectOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTAsync.h:1066
MQTTPacket_decode
int MQTTPacket_decode(networkHandles *net, size_t *value)
Decodes the message length according to the MQTT algorithm.
Definition: MQTTPacket.c:313
Clients::clientID
char * clientID
the string id of the client
Definition: Clients.h:117
MQTTSubscribe_options
The MQTT V5 subscribe options, apart from QoS which existed before V5.
Definition: MQTTSubscribeOpts.h:22
MQTTAsync_strerror
const char * MQTTAsync_strerror(int code)
Returns a pointer to a string representation of the error code, or NULL.
Definition: MQTTAsync.c:4414
Connack::MQTTVersion
unsigned int MQTTVersion
the version of MQTT
Definition: MQTTPacket.h:154
MQTTProtocol
Definition: MQTTProtocol.h:36
MQTTAsync_waitForCompletion
int MQTTAsync_waitForCompletion(MQTTAsync handle, MQTTAsync_token dt, unsigned long timeout)
Waits for a request corresponding to a token to complete.
Definition: MQTTAsync.c:4319
MQTTAsync_failureData5::token
MQTTAsync_token token
A token identifying the failed request.
Definition: MQTTAsync.h:469
NodeStruct::parent
struct NodeStruct * parent
pointer to parent tree node, in case we need it
Definition: Tree.h:79
Messages
Client publication message data.
Definition: Clients.h:52
MQTTClient_createOptions::struct_version
int struct_version
The version number of this structure.
Definition: MQTTClient.h:537
intcompare
int intcompare(void *a, void *b)
List callback function for comparing integers.
Definition: LinkedList.c:436
MQTTAsync_setCallbacks
int MQTTAsync_setCallbacks(MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl, MQTTAsync_messageArrived *ma, MQTTAsync_deliveryComplete *dc)
This function sets the global callback functions for a specific client.
Definition: MQTTAsync.c:2667
Connect::willQoS
unsigned int willQoS
will QoS value
Definition: MQTTPacket.h:112
Heap_findItem
void * Heap_findItem(void *p)
Utility to find an item in the heap.
Definition: Heap.c:368
MQTTAsync_successData::pub
struct MQTTAsync_successData::@6::@7 pub
For publish, the message being sent to the server.
Sockets::pending_wset
fd_set pending_wset
socket pending write set for select
Definition: Socket.h:124
MQTTAsync_successData::qosList
int * qosList
For subscribeMany, if more than one subscription was requested, the list of granted QoSs of the subsc...
Definition: MQTTAsync.h:497
Persistence_remove
int(* Persistence_remove)(void *handle, char *key)
Remove the data for the specified key from the store.
Definition: MQTTClientPersistence.h:169