MQTT C Client Libraries Internals: MQTTPacketOut.c File Reference

| MQTT C Client Libraries Internals

Functions
MQTTPacketOut.c File Reference

functions to deal with reading and writing of MQTT packets from and to sockets More...

`#include "MQTTPacketOut.h"`
`#include "Log.h"`
`#include "StackTrace.h"`
`#include <string.h>`
`#include <stdlib.h>`
`#include "Heap.h"`
Include dependency graph for MQTTPacketOut.c:

## Functions
int | MQTTPacket_send_connect (Clients *client, int MQTTVersion, MQTTProperties *connectProperties, MQTTProperties *willProperties)
| Send an MQTT CONNECT packet down a socket for V5 or later. More...
void * | MQTTPacket_connack (int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
| Function used in the new packets table to create connack packets. More...
void | MQTTPacket_freeConnack (Connack *pack)
| Free allocated storage for a connack packet. More...
int | MQTTPacket_send_pingreq (networkHandles *net, const char *clientID)
| Send an MQTT PINGREQ packet down a socket. More...
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. More...
void * | MQTTPacket_suback (int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
| Function used in the new packets table to create suback packets. More...
int | MQTTPacket_send_unsubscribe (List *topics, MQTTProperties *props, int msgid, int dup, Clients *client)
| Send an MQTT unsubscribe packet down a socket. More...
void * | MQTTPacket_unsuback (int MQTTVersion, unsigned char aHeader, char *data, size_t datalen)
| Function used in the new packets table to create unsuback packets. More...

## Detailed Description

functions to deal with reading and writing of MQTT packets from and to sockets

Some other related functions are in the MQTTPacket module

## Function Documentation

## ◆ 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.

Parameters

  MQTTVersion | MQTT 5 or less?
  aHeader | the MQTT header byte
  data | the rest of the packet
  datalen | the length of the rest of the packet

Returns
  pointer to the packet structure

Here is the call graph for this function:

## ◆ MQTTPacket_freeConnack()

void MQTTPacket_freeConnack | ( | Connack * | pack | ) |

Free allocated storage for a connack packet.

Parameters

  pack | pointer to the connack packet structure

## ◆ 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.

Parameters

  client | a structure from which to get all the required values
  MQTTVersion | the MQTT version to connect with
  connectProperties | MQTT V5 properties for the connect packet
  willProperties | MQTT V5 properties for the will message, if any

Returns
  the completion code (e.g. TCPSOCKET_COMPLETE)

Here is the call graph for this function:

## ◆ MQTTPacket_send_pingreq()

int MQTTPacket_send_pingreq | ( | networkHandles * | net,
|  | const char * | clientID
| ) |  |

Send an MQTT PINGREQ packet down a socket.

Parameters

  socket | the open socket to send the data to
  clientID | the string client identifier, only used for tracing

Returns
  the completion code (e.g. TCPSOCKET_COMPLETE)

Here is the call graph for this function:

## ◆ 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.

Parameters

  topics | list of topics
  qoss | list of corresponding QoSs
  msgid | the MQTT message id to use
  dup | boolean - whether to set the MQTT DUP flag
  socket | the open socket to send the data to
  clientID | the string client identifier, only used for tracing

Returns
  the completion code (e.g. TCPSOCKET_COMPLETE)

Here is the call graph for this function:

## ◆ 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.

Parameters

  topics | list of topics
  msgid | the MQTT message id to use
  dup | boolean - whether to set the MQTT DUP flag
  socket | the open socket to send the data to
  clientID | the string client identifier, only used for tracing

Returns
  the completion code (e.g. TCPSOCKET_COMPLETE)

Here is the call graph for this function:

## ◆ 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.

Parameters

  MQTTVersion | the version of MQTT
  aHeader | the MQTT header byte
  data | the rest of the packet
  datalen | the length of the rest of the packet

Returns
  pointer to the packet structure

Here is the call graph for this function:

## ◆ 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.

Parameters

  MQTTVersion | the version of MQTT
  aHeader | the MQTT header byte
  data | the rest of the packet
  datalen | the length of the rest of the packet

Returns
  pointer to the packet structure

Here is the call graph for this function: