MQTTReasonCodes.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*******************************************************************************
  2. * Copyright (c) 2017, 2018 IBM Corp.
  3. *
  4. * All rights reserved. This program and the accompanying materials
  5. * are made available under the terms of the Eclipse Public License v1.0
  6. * and Eclipse Distribution License v1.0 which accompany this distribution.
  7. *
  8. * The Eclipse Public License is available at
  9. * http://www.eclipse.org/legal/epl-v10.html
  10. * and the Eclipse Distribution License is available at
  11. * http://www.eclipse.org/org/documents/edl-v10.php.
  12. *
  13. * Contributors:
  14. * Ian Craggs - initial API and implementation and/or initial documentation
  15. *******************************************************************************/
  16. #if !defined(MQTTREASONCODES_H)
  17. #define MQTTREASONCODES_H
  18. /** The MQTT V5 one byte reason code */
  19. enum MQTTReasonCodes {
  20. MQTTREASONCODE_SUCCESS = 0,
  21. MQTTREASONCODE_NORMAL_DISCONNECTION = 0,
  22. MQTTREASONCODE_GRANTED_QOS_0 = 0,
  23. MQTTREASONCODE_GRANTED_QOS_1 = 1,
  24. MQTTREASONCODE_GRANTED_QOS_2 = 2,
  25. MQTTREASONCODE_DISCONNECT_WITH_WILL_MESSAGE = 4,
  26. MQTTREASONCODE_NO_MATCHING_SUBSCRIBERS = 16,
  27. MQTTREASONCODE_NO_SUBSCRIPTION_FOUND = 17,
  28. MQTTREASONCODE_CONTINUE_AUTHENTICATION = 24,
  29. MQTTREASONCODE_RE_AUTHENTICATE = 25,
  30. MQTTREASONCODE_UNSPECIFIED_ERROR = 128,
  31. MQTTREASONCODE_MALFORMED_PACKET = 129,
  32. MQTTREASONCODE_PROTOCOL_ERROR = 130,
  33. MQTTREASONCODE_IMPLEMENTATION_SPECIFIC_ERROR = 131,
  34. MQTTREASONCODE_UNSUPPORTED_PROTOCOL_VERSION = 132,
  35. MQTTREASONCODE_CLIENT_IDENTIFIER_NOT_VALID = 133,
  36. MQTTREASONCODE_BAD_USER_NAME_OR_PASSWORD = 134,
  37. MQTTREASONCODE_NOT_AUTHORIZED = 135,
  38. MQTTREASONCODE_SERVER_UNAVAILABLE = 136,
  39. MQTTREASONCODE_SERVER_BUSY = 137,
  40. MQTTREASONCODE_BANNED = 138,
  41. MQTTREASONCODE_SERVER_SHUTTING_DOWN = 139,
  42. MQTTREASONCODE_BAD_AUTHENTICATION_METHOD = 140,
  43. MQTTREASONCODE_KEEP_ALIVE_TIMEOUT = 141,
  44. MQTTREASONCODE_SESSION_TAKEN_OVER = 142,
  45. MQTTREASONCODE_TOPIC_FILTER_INVALID = 143,
  46. MQTTREASONCODE_TOPIC_NAME_INVALID = 144,
  47. MQTTREASONCODE_PACKET_IDENTIFIER_IN_USE = 145,
  48. MQTTREASONCODE_PACKET_IDENTIFIER_NOT_FOUND = 146,
  49. MQTTREASONCODE_RECEIVE_MAXIMUM_EXCEEDED = 147,
  50. MQTTREASONCODE_TOPIC_ALIAS_INVALID = 148,
  51. MQTTREASONCODE_PACKET_TOO_LARGE = 149,
  52. MQTTREASONCODE_MESSAGE_RATE_TOO_HIGH = 150,
  53. MQTTREASONCODE_QUOTA_EXCEEDED = 151,
  54. MQTTREASONCODE_ADMINISTRATIVE_ACTION = 152,
  55. MQTTREASONCODE_PAYLOAD_FORMAT_INVALID = 153,
  56. MQTTREASONCODE_RETAIN_NOT_SUPPORTED = 154,
  57. MQTTREASONCODE_QOS_NOT_SUPPORTED = 155,
  58. MQTTREASONCODE_USE_ANOTHER_SERVER = 156,
  59. MQTTREASONCODE_SERVER_MOVED = 157,
  60. MQTTREASONCODE_SHARED_SUBSCRIPTIONS_NOT_SUPPORTED = 158,
  61. MQTTREASONCODE_CONNECTION_RATE_EXCEEDED = 159,
  62. MQTTREASONCODE_MAXIMUM_CONNECT_TIME = 160,
  63. MQTTREASONCODE_SUBSCRIPTION_IDENTIFIERS_NOT_SUPPORTED = 161,
  64. MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162
  65. };
  66. #if defined(WIN32) || defined(WIN64)
  67. #define DLLImport __declspec(dllimport)
  68. #define DLLExport __declspec(dllexport)
  69. #else
  70. #define DLLImport extern
  71. #define DLLExport __attribute__ ((visibility ("default")))
  72. #endif
  73. /**
  74. * Returns a printable string description of an MQTT V5 reason code.
  75. * @param value an MQTT V5 reason code.
  76. * @return the printable string description of the input reason code.
  77. * NULL if the code was not found.
  78. */
  79. DLLExport const char* MQTTReasonCode_toString(enum MQTTReasonCodes value);
  80. #endif