blob: 740e33ff8e4409b54fa49bfb3811d0996e8abb15 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* Copyright Statement:
2 *
3 * This software/firmware and related documentation ("MediaTek Software") are
4 * protected under relevant copyright laws. The information contained herein
5 * is confidential and proprietary to MediaTek Inc. and/or its licensors.
6 * Without the prior written permission of MediaTek inc. and/or its licensors,
7 * any reproduction, modification, use or disclosure of MediaTek Software,
8 * and information contained herein, in whole or in part, shall be strictly prohibited.
9 */
10/* MediaTek Inc. (C) 2010. All rights reserved.
11 *
12 * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
13 * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
14 * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
15 * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
18 * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
19 * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
20 * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
21 * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
22 * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
23 * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
24 * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
25 * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
26 * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
27 * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
28 * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
29 * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
30 *
31 * The following software/firmware and/or related documentation ("MediaTek Software")
32 * have been modified by MediaTek Inc. All revisions are subject to any receiver's
33 * applicable license agreements with MediaTek Inc.
34 */
35
36#ifndef SMSCONSTANTS_H_
37#define SMSCONSTANTS_H_
38
39#include <string>
40class SmsConstants {
41public:
42 /** User data text encoding code unit size */
43 static constexpr int ENCODING_UNKNOWN = 0;
44 static constexpr int ENCODING_7BIT = 1;
45 static constexpr int ENCODING_8BIT = 2;
46 static constexpr int ENCODING_16BIT = 3;
47
48 /** The maximum number of payload septets per message */
49 static constexpr int MAX_USER_DATA_SEPTETS = 160;
50
51 /**
52 * The maximum number of payload septets per message if a user data header
53 * is present. This assumes the header only contains the
54 * CONCATENATED_8_BIT_REFERENCE element.
55 */
56 static constexpr int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153;
57
58 /**
59 * This value is not defined in global standard. Only in Korea, this is used.
60 */
61 static constexpr int ENCODING_KSC5601 = 4;
62
63 /** The maximum number of payload bytes per message */
64 static constexpr int MAX_USER_DATA_BYTES = 140;
65
66 /**
67 * The maximum number of payload bytes per message if a user data header
68 * is present. This assumes the header only contains the
69 * CONCATENATED_8_BIT_REFERENCE element.
70 */
71 static constexpr int MAX_USER_DATA_BYTES_WITH_HEADER = 134;
72 /**
73 * SMS Class enumeration.
74 * See TS 23.038.
75 */
76 enum MessageClass {
77 UNKNOWN, CLASS_0, CLASS_1, CLASS_2, CLASS_3
78 };
79 /**
80 * Indicates unknown format SMS message.
81 * @hide pending API council approval
82 */
83 static const std::string FORMAT_UNKNOWN;
84 /**
85 * Indicates a 3GPP format SMS message.
86 * @hide pending API council approval
87 */
88 static const std::string FORMAT_3GPP;
89
90 /**
91 * Indicates a 3GPP2 format SMS message.
92 * @hide pending API council approval
93 */
94 static const std::string FORMAT_3GPP2;
95};
96
97#endif /* SMSCONSTANTS_H_ */