%% Reason Codes from Table 2‑6 %% http://docs.oasis-open.org/mqtt/mqtt/v5.0/cs01/mqtt-v5.0-cs01.html#_Toc502667254 -define(MQTT_RC_SUCCESS, 0). % CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, UNSUBACK, AUTH -define(MQTT_RC_DISCONNECT, 0). % DISCONNECT -define(MQTT_RC_GRANTED_QOS_0, 0). % SUBACK -define(MQTT_RC_GRANTED_QOS_1, 1). % SUBACK -define(MQTT_RC_GRANTED_QOS_2, 2). % SUBACK -define(MQTT_RC_DISCONNECT_WILL, 4). % DISCONNECT -define(MQTT_RC_NO_MATCHING_SUBSCRIBERS, 16). % PUBACK, PUBREC -define(MQTT_RC_NO_SUBSCRIPTION_EXISTED, 17). % UNSUBACK -define(MQTT_RC_CONTINUE_AUTH, 18). % AUTH -define(MQTT_RC_REAUTHENTICATE, 19). % AUTH -define(MQTT_RC_ERROR, 128). % CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK, DISCONNECT -define(MQTT_RC_MALFORMED_PACKET, 129). % CONNACK, DISCONNECT -define(MQTT_RC_PROTOCOL_ERROR, 130). % CONNACK, DISCONNECT -define(MQTT_RC_IMPLEMENTATION_ERROR, 131). % CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK, DISCONNECT -define(MQTT_RC_PROTOCOL_VERSION, 132). % CONNACK -define(MQTT_RC_CLIENT_ID_INVALID, 133). % CONNACK -define(MQTT_RC_BAD_USERNAME_PASSWORD, 134). % CONNACK -define(MQTT_RC_NOT_AUTHORIZED, 135). % CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK, DISCONNECT -define(MQTT_RC_SERVER_UNAVAILABLE, 136). % CONNACK -define(MQTT_RC_SERVER_BUSY, 137). % CONNACK, DISCONNECT -define(MQTT_RC_BANNED, 138). % CONNACK -define(MQTT_RC_SERVER_SHUTTING_DOWN, 139). % DISCONNECT -define(MQTT_RC_BAD_AUTHENTICATION_METHOD,140). % CONNACK, DISCONNECT -define(MQTT_RC_KEEP_ALIVE_TIMEOUT, 141). % DISCONNECT -define(MQTT_RC_SESSION_TAKEN_OVER, 142). % DISCONNECT -define(MQTT_RC_TOPIC_FILTER_INVALID, 143). % SUBACK, UNSUBACK, DISCONNECT -define(MQTT_RC_TOPIC_NAME_INVALID, 144). % CONNACK, PUBACK, PUBREC, DISCONNECT -define(MQTT_RC_PACKET_ID_IN_USE, 145). % PUBACK, PUBREC, SUBACK, UNSUBACK -define(MQTT_RC_PACKET_ID_NOT_FOUND, 146). % PUBREL, PUBCOMP -define(MQTT_RC_RECEIVE_MAX_EXCEEDED, 147). % DISCONNECT -define(MQTT_RC_TOPIC_ALIAS_INVALID, 148). % DISCONNECT -define(MQTT_RC_PACKET_TOO_LARGE, 149). % CONNACK, DISCONNECT -define(MQTT_RC_MESSAGE_RATE_TOO_HIGH, 150). % DISCONNECT -define(MQTT_RC_QUOTA_EXCEEDED, 151). % CONNACK, PUBACK, PUBREC, SUBACK, DISCONNECT -define(MQTT_RC_ADMINISTRATIVE_ACTION, 152). % DISCONNECT -define(MQTT_RC_PAYLOAD_FORMAT_INVALID, 153). % CONNACK, PUBACK, PUBREC, DISCONNECT -define(MQTT_RC_RETAIN_NOT_SUPPORTED, 154). % CONNACK, DISCONNECT -define(MQTT_RC_QOS_NOT_SUPPORTED, 155). % CONNACK, DISCONNECT -define(MQTT_RC_USE_ANOTHER_SERVER, 156). % CONNACK, DISCONNECT -define(MQTT_RC_SERVER_MOVED, 157). % CONNACK, DISCONNECT -define(MQTT_RC_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED, 158). % SUBACK, DISCONNECT -define(MQTT_RC_CONNECTION_RATE_EXCEEDED, 159). % CONNACK, DISCONNECT -define(MQTT_RC_MAXIMUM_CONNECT_TIME, 160). % DISCONNECT -define(MQTT_RC_SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED, 161). % SUBACK, DISCONNECT -define(MQTT_RC_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED, 162). % SUBACK, DISCONNECT