oalio.h
来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C头文件 代码 · 共 79 行
H
79 行
/*++
Copyright (c) 1990-2000 Microsoft Corporation. All rights reserved.
Module Name:
oalio.h
Abstract:
This module defines the OAL I/O access functions.
Revision History:
--*/
#ifndef _OALIO_
#define _OALIO_
#ifdef __cplusplus
extern "C" {
#endif
#include <ceddk.h>
ULONG __inline READ_PORT_ULONG(PULONG port)
{
return *(volatile unsigned long * const)port;
}
VOID __inline WRITE_PORT_ULONG(PULONG port, ULONG value)
{
*(volatile unsigned long * const)port = value;
}
USHORT __inline READ_PORT_USHORT(PUSHORT port)
{
return *(volatile unsigned short * const)port;
}
VOID __inline WRITE_PORT_USHORT(PUSHORT port, USHORT value)
{
*(volatile unsigned short * const)port = value;
}
UCHAR __inline READ_PORT_UCHAR(PUCHAR port)
{
return *(volatile unsigned char * const)port;
}
VOID __inline WRITE_PORT_UCHAR(PUCHAR port, UCHAR value)
{
*(volatile unsigned char * const)port = value;
}
#define READ_REGISTER_ULONG(reg) \
(*(volatile unsigned long * const)(reg))
#define WRITE_REGISTER_ULONG(reg, val) \
(*(volatile unsigned long * const)(reg)) = (val)
#define READ_REGISTER_USHORT(reg) \
(*(volatile unsigned short * const)(reg))
#define WRITE_REGISTER_USHORT(reg, val) \
(*(volatile unsigned short * const)(reg)) = (val)
#define READ_REGISTER_UCHAR(reg) \
(*(volatile unsigned char * const)(reg))
#define WRITE_REGISTER_UCHAR(reg, val) \
(*(volatile unsigned char * const)(reg)) = (val)
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // _OALIO_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?