aboutsummaryrefslogtreecommitdiff
path: root/SrcShared/Palm/Platform/Incs/Core/Hardware/HAL.h
blob: c8e00996e88c8b735aeb6f577b6dcf8d503f0067 (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
/******************************************************************************
 *
 * Copyright (c) 1999 Palm Computing, Inc. or its subsidiaries.
 * All rights reserved.
 *
 * File: HAL.h
 *
 * Description:
 *		General HAL Equates. This header file contains function prototypes for
 *  HAL routines, and is used by both Palm OS and the HAL module.
 *
 * History:
 *		 5/31/99	SCL		Created by Steve Lemke
 *
 *****************************************************************************/

#ifndef PUBLIC_STUFF_STRIPPED
// DOLATER ¥¥¥ Turned this off, because HAL calls *are* portable, right Steve?
#endif // PUBLIC_STUFF_STRIPPED

// #ifdef	NON_PORTABLE	   // So app's don't mistakenly include this

#ifndef __HAL_H__
#define __HAL_H__

#include <PalmOptErrorCheckLevel.h>


/**************************************************************************
 * HAL routine selectors
 ***************************************************************************/
/*
#define	halBootBase	0

typedef enum {
	halBootHwrPreDebugInit = halBootBase,		// 0
	halBootHwrInit,									// 1
	halBootHwrModelSpecificInit,					// 2
	halBootHwrEnableDataWrites,					// 3
	halBootHwrDisableDataWrites,					// 4
	halBootHwrMemReadable,							// 5
	halBootHwrMemWritable,							// 6
	halBootHwrResetNMI,								// 7
	halBootHwrResetPWM,								// 8
	
	halBootKeyBootKeys,								// 9
	
	halBootHwrDisplayCursor,						// 10
	
	halBootDrvOpen,									// 11
	halBootDrvClose,									// 12
	halBootDrvControl,								// 13
	halBootDrvStatus,									// 14
	halBootDrvWriteChar,								// 15
	halBootDrvReadChar,								// 16
	
	halBootLastSelector
	} halBootSelector;
*/

/************************************************************
 * New HAL function prototypes
 *************************************************************/

#if DISABLE_HAL_TRAPS
	#define HAL_CALL(trapNum) 
#else
 	#define HAL_CALL(trapNum) \
		_HAL_API(_CALL)(_HAL_TABLE, trapNum)
#endif

// HwrInit is passed as a parameter to InitStage1 in RomBoot.c
typedef void (*HwrInitProcPtr)(void);


/**************************************************************************
 * Prototypes of functions used only when running on the real hardware
 ***************************************************************************/
#ifdef REMOVE_FOR_EMULATOR
#ifdef __cplusplus
extern "C" {
#endif

	// These routines are "private" prototypes for the HAL code...

	void		HwrPreRAMInit(void); 
	
	void 		HwrInit(void);


#ifdef __cplusplus 
}
#endif
#endif


#endif 	//__HAL_H__

// #endif 	// NON_PORTABLE