emqx_placeholder.hrl 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. %%--------------------------------------------------------------------
  2. %% Copyright (c) 2017-2024 EMQ Technologies Co., Ltd. All Rights Reserved.
  3. %%
  4. %% Licensed under the Apache License, Version 2.0 (the "License");
  5. %% you may not use this file except in compliance with the License.
  6. %% You may obtain a copy of the License at
  7. %%
  8. %% http://www.apache.org/licenses/LICENSE-2.0
  9. %%
  10. %% Unless required by applicable law or agreed to in writing, software
  11. %% distributed under the License is distributed on an "AS IS" BASIS,
  12. %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. %% See the License for the specific language governing permissions and
  14. %% limitations under the License.
  15. %%--------------------------------------------------------------------
  16. -ifndef(EMQX_PLACEHOLDER_HRL).
  17. -define(EMQX_PLACEHOLDER_HRL, true).
  18. -define(PH_VAR_THIS, <<"$_THIS_">>).
  19. -define(PH(Var), <<"${" Var "}">>).
  20. %% action: publish/subscribe
  21. -define(VAR_ACTION, "action").
  22. -define(PH_ACTION, ?PH(?VAR_ACTION)).
  23. %% cert
  24. -define(VAR_CERT_SUBJECT, "cert_subject").
  25. -define(VAR_CERT_CN_NAME, "cert_common_name").
  26. -define(PH_CERT_SUBJECT, ?PH(?VAR_CERT_SUBJECT)).
  27. -define(PH_CERT_CN_NAME, ?PH(?VAR_CERT_CN_NAME)).
  28. %% MQTT/Gateway
  29. -define(VAR_PASSWORD, "password").
  30. -define(VAR_CLIENTID, "clientid").
  31. -define(VAR_USERNAME, "username").
  32. -define(VAR_TOPIC, "topic").
  33. -define(VAR_ENDPOINT_NAME, "endpoint_name").
  34. -define(VAR_NS_CLIENT_ATTRS, {var_namespace, "client_attrs"}).
  35. -define(PH_PASSWORD, ?PH(?VAR_PASSWORD)).
  36. -define(PH_CLIENTID, ?PH(?VAR_CLIENTID)).
  37. -define(PH_FROM_CLIENTID, ?PH("from_clientid")).
  38. -define(PH_USERNAME, ?PH(?VAR_USERNAME)).
  39. -define(PH_FROM_USERNAME, ?PH("from_username")).
  40. -define(PH_TOPIC, ?PH(?VAR_TOPIC)).
  41. %% MQTT payload
  42. -define(PH_PAYLOAD, ?PH("payload")).
  43. %% client IPAddress
  44. -define(VAR_PEERHOST, "peerhost").
  45. -define(PH_PEERHOST, ?PH(?VAR_PEERHOST)).
  46. %% ip & port
  47. -define(PH_HOST, ?PH("host")).
  48. -define(PH_PORT, ?PH("port")).
  49. %% Enumeration of message QoS 0,1,2
  50. -define(VAR_QOS, "qos").
  51. -define(PH_QOS, ?PH(?VAR_QOS)).
  52. -define(PH_FLAGS, ?PH("flags")).
  53. %% Additional data related to process within the MQTT message
  54. -define(PH_HEADERS, ?PH("headers")).
  55. %% protocol name
  56. -define(VAR_PROTONAME, "proto_name").
  57. -define(PH_PROTONAME, ?PH(?VAR_PROTONAME)).
  58. %% protocol version
  59. -define(PH_PROTOVER, ?PH("proto_ver")).
  60. %% MQTT keepalive interval
  61. -define(PH_KEEPALIVE, ?PH("keepalive")).
  62. %% MQTT clean_start
  63. -define(PH_CLEAR_START, ?PH("clean_start")).
  64. %% MQTT Session Expiration time
  65. -define(PH_EXPIRY_INTERVAL, ?PH("expiry_interval")).
  66. %% Time when PUBLISH message reaches Broker (ms)
  67. -define(PH_PUBLISH_RECEIVED_AT, ?PH("publish_received_at")).
  68. %% Mountpoint for bridging messages
  69. -define(VAR_MOUNTPOINT, "mountpoint").
  70. -define(PH_MOUNTPOINT, ?PH(?VAR_MOUNTPOINT)).
  71. %% IPAddress and Port of terminal
  72. -define(PH_PEERNAME, ?PH("peername")).
  73. %% IPAddress and Port listened by emqx
  74. -define(PH_SOCKNAME, ?PH("sockname")).
  75. %% whether it is MQTT bridge connection
  76. -define(PH_IS_BRIDGE, ?PH("is_bridge")).
  77. %% Terminal connection completion time (s)
  78. -define(PH_CONNECTED_AT, ?PH("connected_at")).
  79. %% Event trigger time(millisecond)
  80. -define(PH_TIMESTAMP, ?PH("timestamp")).
  81. %% Terminal disconnection completion time (s)
  82. -define(PH_DISCONNECTED_AT, ?PH("disconnected_at")).
  83. -define(PH_NODE, ?PH("node")).
  84. -define(PH_REASON, ?PH("reason")).
  85. -define(PH_ENDPOINT_NAME, ?PH(?VAR_ENDPOINT_NAME)).
  86. -define(VAR_RETAIN, "retain").
  87. -define(PH_RETAIN, ?PH(?VAR_RETAIN)).
  88. %% sync change these place holder with binary def.
  89. -define(PH_S_ACTION, "${action}").
  90. -define(PH_S_CERT_SUBJECT, "${cert_subject}").
  91. -define(PH_S_CERT_CN_NAME, "${cert_common_name}").
  92. -define(PH_S_PASSWORD, "${password}").
  93. -define(PH_S_CLIENTID, "${clientid}").
  94. -define(PH_S_FROM_CLIENTID, "${from_clientid}").
  95. -define(PH_S_USERNAME, "${username}").
  96. -define(PH_S_FROM_USERNAME, "${from_username}").
  97. -define(PH_S_TOPIC, "${topic}").
  98. -define(PH_S_PAYLOAD, "${payload}").
  99. -define(PH_S_PEERHOST, "${peerhost}").
  100. -define(PH_S_HOST, "${host}").
  101. -define(PH_S_PORT, "${port}").
  102. -define(PH_S_QOS, "${qos}").
  103. -define(PH_S_FLAGS, "${flags}").
  104. -define(PH_S_HEADERS, "${headers}").
  105. -define(PH_S_PROTONAME, "${proto_name}").
  106. -define(PH_S_PROTOVER, "${proto_ver}").
  107. -define(PH_S_KEEPALIVE, "${keepalive}").
  108. -define(PH_S_CLEAR_START, "${clean_start}").
  109. -define(PH_S_EXPIRY_INTERVAL, "${expiry_interval}").
  110. -define(PH_S_PUBLISH_RECEIVED_AT, "${publish_received_at}").
  111. -define(PH_S_MOUNTPOINT, "${mountpoint}").
  112. -define(PH_S_PEERNAME, "${peername}").
  113. -define(PH_S_SOCKNAME, "${sockname}").
  114. -define(PH_S_IS_BRIDGE, "${is_bridge}").
  115. -define(PH_S_CONNECTED_AT, "${connected_at}").
  116. -define(PH_S_TIMESTAMP, "${timestamp}").
  117. -define(PH_S_DISCONNECTED_AT, "${disconnected_at}").
  118. -define(PH_S_NODE, "${node}").
  119. -define(PH_S_REASON, "${reason}").
  120. -define(PH_S_ENDPOINT_NAME, "${endpoint_name}").
  121. -define(PH_S_RETAIN, "${retain}").
  122. -endif.