1 /*
2  * Copyright (C) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef IMS_REG_TYPES_H
17 #define IMS_REG_TYPES_H
18 
19 #include <stdint.h>
20 
21 namespace OHOS {
22 namespace Telephony {
23 const int16_t VALUE_MAXIMUM_LIMIT = 3;
24 const int16_t INFO_MAXIMUM_LIMIT = 31;
25 const int16_t DATA_LENGTH_ONE = 1;
26 const int16_t DATA_LENGTH_TWO = 2;
27 
28 /**
29  * @brief IMS register status
30  */
31 enum ImsRegState {
32     IMS_UNREGISTERED,
33     IMS_REGISTERED,
34 };
35 
36 /**
37  * @brief IMS register technology
38  */
39 enum ImsRegTech {
40     IMS_REG_TECH_NONE = 0,
41     IMS_REG_TECH_LTE = 1,
42     IMS_REG_TECH_IWLAN = 2,
43     IMS_REG_TECH_NR = 3,
44 };
45 
46 /**
47  * @brief IMS service type
48  */
49 enum ImsServiceType {
50     TYPE_VOICE = 0,
51     TYPE_VIDEO = 1,
52     TYPE_UT = 2,
53     TYPE_SMS = 3,
54 };
55 
56 /**
57  * @brief IMS register information
58  */
59 struct ImsRegInfo {
60     ImsRegState imsRegState = IMS_UNREGISTERED;
61     ImsRegTech imsRegTech = IMS_REG_TECH_NONE;
62 };
63 } // namespace Telephony
64 } // namespace OHOS
65 #endif // IMS_REG_TYPES_H