sdlan/apps/sdlan/include/sdlan.hrl
2026-01-15 15:11:48 +08:00

87 lines
2.1 KiB
Erlang

%%%-------------------------------------------------------------------
%%% @author anlicheng
%%% @copyright (C) 2024, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 09. 3月 2024 14:53
%%%-------------------------------------------------------------------
-author("anlicheng").
%% 定义version
-define(VERSION_1, 1).
-define(DEFAULT_PASS, <<"`encrypt!`">>).
-define(PACKET_EMPTY, 16#00).
-define(PACKET_REGISTER_SUPER, 16#01).
-define(PACKET_REGISTER_SUPER_ACK, 16#02).
-define(PACKET_REGISTER_SUPER_ACKNOWLEDGE, 16#03).
-define(PACKET_REGISTER_SUPER_NAK, 16#04).
-define(PACKET_UNREGISTER, 16#05).
%% 信息查询
-define(PACKET_QUERY_INFO, 16#06).
-define(PACKET_PEER_INFO, 16#07).
%% 心跳机制
-define(PACKET_PING, 16#08).
-define(PACKET_PONG, 16#09).
%% 推送的事件信息, 不需要返回值
-define(PACKET_EVENT, 16#10).
%% 定义事件信息
-define(PACKET_EVENT_KNOWN_IP, 16#01).
-define(PACKET_EVENT_DROP_IP, 16#02).
-define(PACKET_EVENT_NAT_CHANGED, 16#03).
-define(PACKET_EVENT_SEND_REGISTER, 16#04).
%% 网络关闭
-define(PACKET_EVENT_NETWORK_SHUTDOWN, 16#FF).
%% 推送命令信息, 需要等待返回值
-define(PACKET_COMMAND, 16#11).
-define(PACKET_COMMAND_ACK, 16#12).
%% 网络发生变化
-define(PACKET_COMMAND_CHANGE_NETWORK, 16#01).
-define(PACKET_COMMAND_UPGRADE, 16#02).
%% 网络流量统计
-define(PACKET_FLOW_TRACER, 16#15).
-define(PACKET_REGISTER, 16#20).
-define(PACKET_REGISTER_ACK, 16#21).
%% stun相关的请求
%% 请求
-define(PACKET_STUN_REQUEST, 16#30).
%% 响应
-define(PACKET_STUN_REPLY, 16#31).
%% stun网络类型检测
%% 请求
-define(PACKET_STUN_PROBE, 16#32).
%% 响应
-define(PACKET_STUN_PROBE_REPLY, 16#33).
%% stun消息转发
-define(PACKET_STUN_PROBE_RELAY, 16#3a).
%% stun请求的attr
-define(STUN_ATTR_CHANGE_NONE, 0).
-define(STUN_ATTR_CHANGE_PORT, 1).
-define(STUN_ATTR_CHANGE_PEER, 2).
%% 数据转发
-define(PACKET_STUN_DATA, 16#FF).
%% arp查询 request -> response
-define(PACKET_ARP_REQUEST, 16#a0).
-define(PACKET_ARP_RESPONSE, 16#a1).
-record(id_generator, {
tab :: atom(),
increment_id = 0 :: integer()
}).