1 /**
2  * Copyright (C) 2022 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /** \addtogroup  RTP_Stack
18  *  @{
19  */
20 
21 #ifndef _RTP_PF_DATATYPES_H_
22 #define _RTP_PF_DATATYPES_H_
23 
24 #include <stdint.h>
25 
26 #define RTP_NULL            0
27 #define RTP_FALSE           0
28 #define RTP_TRUE            1
29 #define RTP_INVALID         (-1)
30 #define RTP_EQUALS          0
31 #define RTP_MATCHES         0
32 #define RTP_NOT_MATCH       1
33 #define RTP_YES             1 /* To Know Request/Response Headaer */
34 #define RTP_NO              0
35 #define RTP_INDEX_ZERO      0
36 #define RTP_START_INDEX     0
37 #define RTP_ENABLE          1
38 #define RTP_DISABLE         0
39 #define RTP_NOT_EXISTS      0
40 #define RTP_EXISTS          1
41 #define RTP_NULL_CHAR       '\0'
42 /* Numerals while used as INDEX or SIZE */
43 #define RTP_ZERO            0
44 #define RTP_ONE             1
45 #define RTP_TWO             2
46 #define RTP_THREE           3
47 #define RTP_FOUR            4
48 #define RTP_FIVE            5
49 #define RTP_SIX             6
50 #define RTP_SEVEN           7
51 #define RTP_EIGHT           8
52 #define RTP_NINE            9
53 #define RTP_TEN             10
54 #define RTP_11              11
55 #define RTP_12              12
56 #define RTP_13              13
57 #define RTP_14              14
58 #define RTP_15              15
59 #define RTP_16              16
60 #define RTP_17              17
61 #define RTP_18              18
62 #define RTP_19              19
63 #define RTP_20              20
64 #define RTP_21              21
65 #define RTP_22              22
66 #define RTP_23              23
67 #define RTP_24              24
68 #define RTP_25              25
69 #define RTP_26              26
70 #define RTP_27              27
71 #define RTP_28              28
72 #define RTP_29              29
73 #define RTP_30              30
74 #define RTP_31              31
75 #define RTP_32              32
76 
77 #define RTP_SEC_TO_MILLISEC 1000
78 #define RTP_MILLISEC_MICRO  1000
79 #define RTP_MIN_SEC         60
80 #define RTP_HOUR_SEC        3600
81 
82 /* Function Parameter Notation */
83 #ifndef IN
84 #define IN
85 #endif
86 
87 #ifndef OUT
88 #define OUT
89 #endif
90 
91 #ifndef IN_OUT
92 #define IN_OUT
93 #endif
94 
95 #ifndef CONST
96 #define CONST const
97 #endif
98 
99 typedef enum _eRtp_Bool
100 {
101     eRTP_FAILURE = 0,
102     eRTP_SUCCESS = 1,
103     eRTP_FALSE = 0,
104     eRTP_TRUE = 1
105 } eRtp_Bool;
106 
107 /* Basic Data Types */
108 typedef void RtpDt_Void;
109 typedef char RtpDt_Char;
110 typedef unsigned char RtpDt_UChar;
111 typedef uint8_t RtpDt_UInt8;
112 typedef int8_t RtpDt_Int8;
113 typedef uint16_t RtpDt_UInt16;
114 typedef int16_t RtpDt_Int16;
115 typedef uint32_t RtpDt_UInt32;
116 typedef int32_t RtpDt_Int32;
117 typedef double RtpDt_Double;
118 
119 typedef struct
120 {
121     RtpDt_UInt32 m_uiNtpHigh32Bits;
122     RtpDt_UInt32 m_uiNtpLow32Bits;
123 } tRTP_NTP_TIME;
124 
125 typedef RtpDt_UInt16 RtpSvc_Length;
126 
127 #endif  //_RTP_PF_DATATYPES_H_
128 
129 /** @}*/
130