| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- %
- % NOTICE: copy from rabbitmq mqtt-adaper
- %
- %% The contents of this file are subject to the Mozilla Public License
- %% Version 1.1 (the "License"); you may not use this file except in
- %% compliance with the License. You may obtain a copy of the License
- %% at http://www.mozilla.org/MPL/
- %%
- %% Software distributed under the License is distributed on an "AS IS"
- %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
- %% the License for the specific language governing rights and
- %% limitations under the License.
- %%
- %% The Original Code is RabbitMQ.
- %%
- %% The Initial Developer of the Original Code is VMware, Inc.
- %% Copyright (c) 2007-2012 VMware, Inc. All rights reserved.
- %%
- -define(MQTT_PROTO_MAJOR, 3).
- -define(MQTT_PROTO_MINOR, 1).
- %% frame types
- -define(CONNECT, 1).
- -define(CONNACK, 2).
- -define(PUBLISH, 3).
- -define(PUBACK, 4).
- -define(PUBREC, 5).
- -define(PUBREL, 6).
- -define(PUBCOMP, 7).
- -define(SUBSCRIBE, 8).
- -define(SUBACK, 9).
- -define(UNSUBSCRIBE, 10).
- -define(UNSUBACK, 11).
- -define(PINGREQ, 12).
- -define(PINGRESP, 13).
- -define(DISCONNECT, 14).
- %% connect return codes
- -define(CONNACK_ACCEPT, 0).
- -define(CONNACK_PROTO_VER, 1). %% unacceptable protocol version
- -define(CONNACK_INVALID_ID, 2). %% identifier rejected
- -define(CONNACK_SERVER, 3). %% server unavailable
- -define(CONNACK_CREDENTIALS, 4). %% bad user name or password
- -define(CONNACK_AUTH, 5). %% not authorized
- %% qos levels
- -define(QOS_0, 0).
- -define(QOS_1, 1).
- -define(QOS_2, 2).
- -record(mqtt_frame, {fixed,
- variable,
- payload}).
- -record(mqtt_frame_fixed, {type = 0,
- dup = 0,
- qos = 0,
- retain = 0}).
- -record(mqtt_frame_connect, {proto_ver,
- will_retain,
- will_qos,
- will_flag,
- clean_sess,
- keep_alive,
- client_id,
- will_topic,
- will_msg,
- username,
- password}).
- -record(mqtt_frame_connack, {return_code}).
- -record(mqtt_frame_publish, {topic_name,
- message_id}).
- -record(mqtt_frame_subscribe,{message_id,
- topic_table}).
- -record(mqtt_frame_suback, {message_id,
- qos_table = []}).
- -record(mqtt_topic, {name,
- qos}).
- -record(mqtt_frame_other, {other}).
- -record(mqtt_msg, {retain,
- qos,
- topic,
- dup,
- message_id,
- payload}).
|