blob: 538bf9c61775274c1cfe21bbd9603aeb6c5f7351 [file] [log] [blame]
Ratan Gupta309ac442016-12-13 20:40:06 +05301#pragma once
2
3namespace slp
4{
Ratan Gupta309ac442016-12-13 20:40:06 +05305/** @brief SLP Version */
6constexpr size_t VERSION_2 = 2;
7constexpr auto SUCCESS = 0;
8/** @brief SLP Port */
9constexpr auto PORT = 427;
10
11constexpr auto TIMEOUT = 30;
12/** @brief SLP service lifetime */
13constexpr auto LIFETIME = 5;
14
15/** @brief Defines the constants for slp header.
16 * Size and the offsets.
17 */
18namespace header
19{
20
21constexpr size_t SIZE_VERSION = 1;
22constexpr size_t SIZE_LENGTH = 1;
23constexpr size_t SIZE_FLAGS = 2;
24constexpr size_t SIZE_EXT = 3;
25constexpr size_t SIZE_XID = 2;
26constexpr size_t SIZE_LANG = 2;
27
28constexpr size_t OFFSET_VERSION = 0;
29constexpr size_t OFFSET_FUNCTION = 1;
30constexpr size_t OFFSET_LENGTH = 4;
31constexpr size_t OFFSET_FLAGS = 5;
32constexpr size_t OFFSET_EXT = 7;
33constexpr size_t OFFSET_XID = 10;
34constexpr size_t OFFSET_LANG_LEN = 12;
35constexpr size_t OFFSET_LANG = 14;
36
37constexpr size_t MIN_LEN = 14;
Patrick Venture537ff142018-11-01 16:37:09 -070038} // namespace header
Ratan Gupta309ac442016-12-13 20:40:06 +053039
40/** @brief Defines the constants for slp response.
41 * Size and the offsets.
42 */
43
44namespace response
45{
46
47constexpr size_t SIZE_ERROR = 2;
48constexpr size_t SIZE_SERVICE = 2;
49constexpr size_t SIZE_URL_COUNT = 2;
50constexpr size_t SIZE_URL_ENTRY = 6;
51constexpr size_t SIZE_RESERVED = 1;
52constexpr size_t SIZE_LIFETIME = 2;
53constexpr size_t SIZE_URLLENGTH = 2;
54constexpr size_t SIZE_AUTH = 1;
55
Ratan Gupta309ac442016-12-13 20:40:06 +053056constexpr size_t OFFSET_SERVICE_LEN = 18;
57constexpr size_t OFFSET_SERVICE = 20;
58constexpr size_t OFFSET_URL_ENTRY = 18;
59
Patrick Venture537ff142018-11-01 16:37:09 -070060} // namespace response
Ratan Gupta309ac442016-12-13 20:40:06 +053061
62/** @brief Defines the constants for slp request.
63 * Size and the offsets.
64 */
65namespace request
66{
67
68constexpr size_t MIN_SRVTYPE_LEN = 22;
69constexpr size_t MIN_SRV_LEN = 26;
70
71constexpr size_t SIZE_PRLIST = 2;
72constexpr size_t SIZE_NAMING = 2;
73constexpr size_t SIZE_SCOPE = 2;
74constexpr size_t SIZE_SERVICE_TYPE = 2;
75constexpr size_t SIZE_PREDICATE = 2;
76constexpr size_t SIZE_SLPI = 2;
77
78constexpr size_t OFFSET_PR_LEN = 16;
79constexpr size_t OFFSET_PR = 18;
80constexpr size_t OFFSET_SERVICE = 20;
81
Patrick Venture537ff142018-11-01 16:37:09 -070082} // namespace request
83} // namespace slp