templateSio.h
资源名称:ixp425BSP.rar [点击查看]
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:
VxWorks
开发平台:
C/C++
- /* templateSio.h - header file for template serial driver */
- /* Copyright 1984-2002 Wind River Systems, Inc. */
- /*
- modification history
- --------------------
- 01f,26apr02,dat Adding cplusplus protection, SPR 75017
- 01e,29sep01,dat Rework for adaptor type struct, new API is just
- create and destroy.
- 01d,01jul97,db added registers and defines for modem control.
- 01c,24feb97,dat used SIO_CHAN as first structure element,
- instead of SIO_DRV_FUNCS *.
- 01b,17dec96,dat added 'options' to chan structure.
- 01a,02aug95,ms written.
- */
- #ifndef __INCtemplateSioh
- #define __INCtemplateSioh
- #include "sioLib.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * This driver for a generic SIO device only uses 8 bit reads/writes.
- * These are the register offsets for our fictitious device.
- *
- * Control Register 0x0 (write)
- * Status Register 0x0 (read)
- * Data register 0x1 (read/write)
- * Modem Status Register 0x2 (read)
- * Modem Control Register 0x2 (write)
- * Baud Rate Control Reg. 0x3 (read/write)
- *
- * The template driver uses 3 interrupt vectors.
- * Receive Interrupt 0x0
- * Transmit Interrupt 0x1
- * Error/Modem Interrupt 0x2
- *
- * Other adaptor functions used include:
- * intConnect, intDisconnect.
- */
- #define TEMPLATE_CSR_ID 0x0 /* register offsets */
- #define TEMPLATE_DATA_ID 0x1
- #define TEMPLATE_MSR_ID 0x2
- #define TEMPLATE_BAUD_ID 0x3
- #define TEMPLATE_RXINT_ID 0x0 /* vector offsets */
- #define TEMPLATE_TXINT_ID 0x1
- #define TEMPLATE_ERRINT_ID 0x2
- /*
- * Here is the real API for creating and destroying an instance of a template
- * SIO device. Use the standard sioLib functions
- * for manipulating the device. The only really device specific
- * functions are for creation and destruction.
- */
- IMPORT SIO_CHAN * templateSioCreate /* create an instance */
- (
- UINT32 ioBase, /* device adaptor specific data */
- UINT32 vecBase, /* vector base number */
- UINT32 intLevel, /* interrupt level for vectors */
- UINT32 clkFreq /* device clock frequency */
- );
- IMPORT STATUS templateSioDestroy /* destroy an instance */
- (SIO_CHAN *); /* must be a template SIO type object */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __INCtemplateSioh */