1/*
2 * Copyright (C) 2011 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 ************************************************************************
18 * @file         M4OSA_Types.h
19 * @ingroup      OSAL
20 * @brief        Abstraction types for Android
21 * @note         This file redefines basic types which must be
22 *               used to declare any variable.
23************************************************************************
24*/
25
26
27#ifndef M4OSA_TYPES_H
28#define M4OSA_TYPES_H
29
30#include <ctype.h>
31#include <stdio.h>
32#include <string.h>
33#include "M4OSA_Export.h"
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38
39typedef signed char     M4OSA_Bool;
40typedef unsigned char   M4OSA_UInt8;
41typedef signed char     M4OSA_Int8;
42typedef unsigned short  M4OSA_UInt16;
43typedef signed short    M4OSA_Int16;
44typedef unsigned long   M4OSA_UInt32;
45typedef signed long     M4OSA_Int32;
46
47typedef signed char     M4OSA_Char;
48typedef unsigned char   M4OSA_UChar;
49
50typedef double          M4OSA_Double;
51typedef float           M4OSA_Float;
52
53typedef unsigned char   M4OSA_WChar;
54
55typedef void            M4OSA_Void;
56
57/* Min & max definitions*/
58#define M4OSA_UINT8_MIN                  0
59#define M4OSA_UINT8_MAX                255
60
61#define M4OSA_UINT16_MIN                 0
62#define M4OSA_UINT16_MAX             65535
63
64#define M4OSA_UINT32_MIN                 0
65#define M4OSA_UINT32_MAX        0xFFFFFFFF
66
67#define M4OSA_INT8_MIN                -128
68#define M4OSA_INT8_MAX                 127
69
70#define M4OSA_INT16_MIN             -32768
71#define M4OSA_INT16_MAX              32767
72
73#define M4OSA_INT32_MIN       (-0x7FFFFFFF-1)
74#define M4OSA_INT32_MAX         0x7FFFFFFF
75
76#define M4OSA_CHAR_MIN                -128
77#define M4OSA_CHAR_MAX                 127
78
79#define M4OSA_UCHAR_MIN                  0
80#define M4OSA_UCHAR_MAX                255
81
82#define M4OSA_NULL                     0x00
83#define M4OSA_TRUE                     0x01
84#define M4OSA_FALSE                    0x00
85#define M4OSA_WAIT_FOREVER       0xffffffff
86
87#define M4OSA_CONST                   const
88#define M4OSA_INLINE                 inline
89
90/* Rollover offset of the clock */
91/* This value must be the one of M4OSA_clockGetTime */
92#define M4OSA_CLOCK_ROLLOVER           M4OSA_INT32_MAX
93
94typedef void*                M4OSA_Context;
95
96/** It is a unique ID for each core component*/
97typedef  M4OSA_UInt16 M4OSA_CoreID;
98
99#ifdef __cplusplus
100}
101#endif
102
103#endif /*M4OSA_TYPES_H*/
104
105