3 /******************************************************************************
5 * Copyright (c) 2019 AT&T Intellectual Property.
6 * Copyright (c) 2018-2019 Nokia.
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
20 ******************************************************************************/
22 // Standard Includes: ANSI C/C++, MSA, and Third-Party Libraries
24 // Local Includes: Application specific classes, functions, and libraries
28 enum class class_type_t : uint8_t
34 ,UNSPECIFIED //reserved for internal use
37 enum class tag_type_t : uint8_t
44 using tag_value_t = uint64_t;
46 template<class_type_t CT, tag_value_t TAG, tag_type_t TT = tag_type_t::IMPLICIT>
49 static constexpr class_type_t class_type = CT;
50 static constexpr tag_value_t tag_value = TAG;
51 static constexpr tag_type_t tag_type = TT;
55 enum class tag_rvalue_t : tag_value_t
62 ,OBJECT_IDENTIFIER = 6
79 ,RELATIVE_OID_IRI = 36
90 ,CHARACTER_STRING = 29
94 ,CHOICE = 99 // fake id for internal use