1c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*
2c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Copyright (c) 2010, Texas Instruments Incorporated
3c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * All rights reserved.
4c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *
5c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * Redistribution and use in source and binary forms, with or without
6c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * modification, are permitted provided that the following conditions
7c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * are met:
8c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *
9c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * *  Redistributions of source code must retain the above copyright
10c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *    notice, this list of conditions and the following disclaimer.
11c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *
12c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * *  Redistributions in binary form must reproduce the above copyright
13c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *    notice, this list of conditions and the following disclaimer in the
14c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *    documentation and/or other materials provided with the distribution.
15c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *
16c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * *  Neither the name of Texas Instruments Incorporated nor the names of
17c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *    its contributors may be used to endorse or promote products derived
18c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *    from this software without specific prior written permission.
19c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *
20c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev */
32c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
33c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*
34c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*  @file timm_osal_types.h
35c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*  The timm_osal_types header file defines the primative osal type definitions.
36c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*  @path
37c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*
38c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/
39c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* -------------------------------------------------------------------------- */
40c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/* =========================================================================
41c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *!
42c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! Revision History
43c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! ===================================
44c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev *! 0.1: Created the first draft version, ksrini@ti.com
45c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev * ========================================================================= */
46c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
47c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifndef _TIMM_OSAL_TYPES_H_
48c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define _TIMM_OSAL_TYPES_H_
49c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
50c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus
51c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchevextern "C"
52c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev{
53c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif				/* __cplusplus */
54c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
55c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
56c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
57c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __KERNEL__
58c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <linux/types.h>
59c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#else
60c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#include <stdint.h>
61c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif
62c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
63c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef int8_t TIMM_OSAL_S8;	/*INT8 */
64c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef int16_t TIMM_OSAL_S16;	/*INT16 */
65c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef int32_t TIMM_OSAL_S32;	/*INT32 */
66c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
67c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_INT8_MIN 0xFF
68c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_INT8_MAX 0x7F
69c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
70c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_INT16_MIN 0xFFFF
71c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_INT16_MAX 0x7FFF
72c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
73c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_INT32_MIN 0xFFFFFFFF
74c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_INT32_MAX 0x7FFFFFFF
75c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
76c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef uint8_t TIMM_OSAL_U8;	/*UINT8 */
77c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef uint16_t TIMM_OSAL_U16;	/*UINT16 */
78c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef uint32_t TIMM_OSAL_U32;	/*UINT32 */
79c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
80c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_UINT8_MIN 0
81c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_UINT8_MAX 0xFF
82c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
83c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_UINT16_MIN 0
84c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_UINT16_MAX 0xFFFF
85c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
86c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_UINT32_MIN 0
87c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_UINT32_MAX 0xFFFFFFFF
88c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
89c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
90c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef char TIMM_OSAL_CHAR;
91c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	  /*CHAR*/ typedef void *TIMM_OSAL_HANDLE;
92c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef void *TIMM_OSAL_PTR;
93c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
94c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	typedef enum TIMM_OSAL_BOOL
95c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	{
96c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev		TIMM_OSAL_FALSE = 0,
97c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev		TIMM_OSAL_TRUE = !TIMM_OSAL_FALSE,
98c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev		TIMM_OSAL_BOOL_MAX = 0x7FFFFFFF
99c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev	} TIMM_OSAL_BOOL;
100c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
101c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_SUSPEND     0xFFFFFFFFUL
102c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_NO_SUSPEND  0x0
103c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_TIMED_OUT   0x7FFFFFFFUL
104c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
105c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
106c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define SUCCESS 0
107c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define NO_SUCCESS -1
108c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
109c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define ERROR 1
110c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev/*
111c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TRUE 0
112c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define FALSE 1
113c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev*/
114c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define URGENT_MESSAGE 2
115c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define NORMAL_MESSAGE 1
116c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
117c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
118c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#define TIMM_OSAL_NULL 0
119c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
120c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#ifdef __cplusplus
121c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev}
122c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif				/* __cplusplus */
123c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev
124c322989ae6ff6769490828de1b5eda12b749cce9Iliyan Malchev#endif				/* _TIMM_OSAL_TYPES_H_ */
125