]> git.stg.codes - stg.git/blob - include/stg/rad_packets.h
Use std::jthread and C++17.
[stg.git] / include / stg / rad_packets.h
1 #ifndef RAD_PACKETSH
2 #define RAD_PACKETSH
3
4 #define RAD_MAGIC_LEN        (5)
5 #define RAD_PROTO_VER_LEN    (2)
6 #define RAD_MAX_PACKET_LEN   (1024)
7 #define RAD_LOGIN_LEN        (32)
8 #define RAD_SERVICE_LEN        (16)
9 #define RAD_PASSWORD_LEN        (32)
10 #define RAD_SESSID_LEN        (32)
11
12 // Request
13 #define RAD_AUTZ_PACKET      (0)
14 #define RAD_AUTH_PACKET      (1)
15 #define RAD_POST_AUTH_PACKET (2)
16 #define RAD_ACCT_START_PACKET (3)
17 #define RAD_ACCT_STOP_PACKET (4)
18 #define RAD_ACCT_UPDATE_PACKET (5)
19 #define RAD_ACCT_OTHER_PACKET (6)
20 // Responce
21 #define RAD_ACCEPT_PACKET    (7)
22 #define RAD_REJECT_PACKET    (8)
23
24 #define RAD_ID "00100"
25
26 #include <cstdint>
27
28 struct RAD_PACKET
29 {
30 uint8_t              magic[RAD_MAGIC_LEN];
31 uint8_t              protoVer[RAD_PROTO_VER_LEN];
32 uint8_t              packetType;
33 uint8_t              login[RAD_LOGIN_LEN];
34 uint32_t             ip;
35 uint8_t              service[RAD_SERVICE_LEN];
36 uint8_t              password[RAD_PASSWORD_LEN];
37 uint8_t              sessid[RAD_SESSID_LEN];
38 uint8_t              padding[4];
39 };
40
41 #endif