summaryrefslogtreecommitdiff
path: root/software/include/octtype.h
blob: 44fe43a41733e9f47a7be6ed3a389379947002cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\

File: octtype.h

    Copyright (c) 2001-2011 Octasic Inc.

Description: 

	This file defines the base storage types.

This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API  is 
free software; you can redistribute it and/or modify it under the terms of 
the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

The OCT6100 GPL API is distributed in the hope that it will be useful, but 
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
for more details. 

You should have received a copy of the GNU General Public License 
along with the OCT6100 GPL API; if not, write to the Free Software 
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

$Octasic_Release: OCT612xAPI-01.04.05 $

$Octasic_Revision: 18 $

\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#ifndef __OCTTYPE_H__
#define __OCTTYPE_H__

/*--------------------------------------------------------------------------
	C language
----------------------------------------------------------------------------*/

#ifdef __cplusplus
extern "C" {
#endif

/*--------------------------------------------------------------------------
	Include target-specific header if available 
----------------------------------------------------------------------------*/
#if defined( OCT_NTDRVENV )
	#include "octtypentdrv.h"		/* All NT driver typedef */
#elif defined( OCT_WINENV )	
	#include "octtypewin.h"			/* All Win32 typedef */
#elif defined( OCT_VXENV )
	#include "octtypevx.h"			/* All VxWorks typedef */
#else
/*--------------------------------------------------------------------------
	No target-specific header  available 
----------------------------------------------------------------------------*/

/*****************************  DEFINES  *************************************/
/* 16-bit integer */
typedef unsigned short	UINT16;
typedef signed short	INT16;
typedef unsigned short	*PUINT16;
typedef signed short	*PINT16;

/* 8-bit integer */
typedef unsigned char	UINT8;
typedef signed char		INT8;
typedef signed char		OCT_INT8;
typedef unsigned char	*PUINT8;
typedef signed char		*PINT8;


/* 32 bit integer */
typedef unsigned int	UINT32;
typedef signed int		INT32;
typedef INT32 *			PINT32;
typedef UINT32 *		PUINT32;

/* Long integer */
typedef signed long		LONG;
typedef unsigned long	ULONG;
typedef	long *			PLONG;
typedef	unsigned long *	PULONG;

/* Short integer */
typedef	short			SHORT;
typedef	unsigned short	USHORT;
typedef	short *			PSHORT;
typedef	unsigned short *PUSHORT;

/* 8-bit integer*/
typedef unsigned char	BYTE;
typedef	BYTE *			PBYTE;
typedef unsigned char	UCHAR;

/* Character and strings */
typedef char			CHAR;
typedef	CHAR 			SZ;
typedef	CHAR *			PSZ;
typedef	CHAR *			PCHAR;

/* Double integers */
typedef	double			DOUBLE;
typedef	double *		PDOUBLE;
typedef	float			FLOAT;
typedef	float *			PFLOAT;

typedef	void			VOID;
typedef	void *			PVOID;

/* Booleans */
typedef	int				BOOL;
typedef	BOOL *			PBOOL;

/* Integers */
typedef	int				INT;
typedef	int *			PINT;
typedef	unsigned int	UINT;
typedef	unsigned int *	PUINT;

/* Define pseudo-keywords IN and OUT if not defined yet */
#ifndef IN
#define IN		/* IN param */
#endif

#ifndef OUT
#define OUT		/* OUT param */
#endif

/* LONG LONG */
#define LLONG			signed long long
#define PLLONG			signed long long *
#define ULLONG			unsigned long long
#define PULLONG			unsigned long long *

#ifndef OPT
#define OPT		/* OPT param */
#endif

typedef	PSZ *	PPSZ;

#ifndef NULL
#define NULL 0
#endif

#endif

/*--------------------------------------------------------------------------
	C language
----------------------------------------------------------------------------*/

#ifdef __cplusplus
}
#endif

#endif	/* __OCTTYPE_H__ */