xref: /openbmc/slpd-lite/slp_meta.hpp (revision edf88cb2)
1 #pragma once
2 
3 namespace slp
4 {
5 /** @brief SLP Version */
6 constexpr size_t VERSION_2 = 2;
7 constexpr auto SUCCESS = 0;
8 /** @brief SLP Port */
9 constexpr auto PORT = 427;
10 
11 constexpr auto TIMEOUT = 30;
12 /** @brief SLP service lifetime */
13 constexpr auto LIFETIME = 5;
14 
15 /** @brief Defines the constants for slp header.
16  *  Size and the offsets.
17  */
18 namespace header
19 {
20 
21 constexpr size_t SIZE_VERSION = 1;
22 constexpr size_t SIZE_LENGTH = 1;
23 constexpr size_t SIZE_FLAGS = 2;
24 constexpr size_t SIZE_EXT = 3;
25 constexpr size_t SIZE_XID = 2;
26 constexpr size_t SIZE_LANG = 2;
27 
28 constexpr size_t OFFSET_VERSION = 0;
29 constexpr size_t OFFSET_FUNCTION = 1;
30 constexpr size_t OFFSET_LENGTH = 4;
31 constexpr size_t OFFSET_FLAGS = 5;
32 constexpr size_t OFFSET_EXT = 7;
33 constexpr size_t OFFSET_XID = 10;
34 constexpr size_t OFFSET_LANG_LEN = 12;
35 constexpr size_t OFFSET_LANG = 14;
36 
37 constexpr size_t MIN_LEN = 14;
38 } // namespace header
39 
40 /** @brief Defines the constants for slp response.
41  *  Size and the offsets.
42  */
43 
44 namespace response
45 {
46 
47 constexpr size_t SIZE_ERROR = 2;
48 constexpr size_t SIZE_SERVICE = 2;
49 constexpr size_t SIZE_URL_COUNT = 2;
50 constexpr size_t SIZE_URL_ENTRY = 6;
51 constexpr size_t SIZE_RESERVED = 1;
52 constexpr size_t SIZE_LIFETIME = 2;
53 constexpr size_t SIZE_URLLENGTH = 2;
54 constexpr size_t SIZE_AUTH = 1;
55 
56 constexpr size_t OFFSET_SERVICE_LEN = 18;
57 constexpr size_t OFFSET_SERVICE = 20;
58 constexpr size_t OFFSET_URL_ENTRY = 18;
59 
60 } // namespace response
61 
62 /** @brief Defines the constants for slp request.
63  *  Size and the offsets.
64  */
65 namespace request
66 {
67 
68 constexpr size_t MIN_SRVTYPE_LEN = 22;
69 constexpr size_t MIN_SRV_LEN = 26;
70 
71 constexpr size_t SIZE_PRLIST = 2;
72 constexpr size_t SIZE_NAMING = 2;
73 constexpr size_t SIZE_SCOPE = 2;
74 constexpr size_t SIZE_SERVICE_TYPE = 2;
75 constexpr size_t SIZE_PREDICATE = 2;
76 constexpr size_t SIZE_SLPI = 2;
77 
78 constexpr size_t OFFSET_PR_LEN = 16;
79 constexpr size_t OFFSET_PR = 18;
80 constexpr size_t OFFSET_SERVICE = 20;
81 
82 } // namespace request
83 } // namespace slp
84