original files of m241
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
/* wdbVisionDrvIF.h - Interface definitions/declations for vision DRIVER */
|
||||
|
||||
/* Copyright 1986-2002 Wind River Systems Inc. */
|
||||
|
||||
/*
|
||||
modification history
|
||||
--------------------
|
||||
01c,01dec01,g_h Cleaning for T2.2
|
||||
01b,05may01,g_h rename to wdbVisionDrvIF.h
|
||||
01a,09apr01,rnr written.
|
||||
*/
|
||||
|
||||
#ifndef __INCwdbVisionDrvIFh
|
||||
#define __INCwdbVisionDrvIFh
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* defines */
|
||||
|
||||
#define VDR_SUCCESS 0 /* Indicates success of requested operation */
|
||||
#define VDR_FAILURE 1 /* Indicates failure of requested operation */
|
||||
/* */
|
||||
#define VDR_WRITE_COMPLETE 0 /* Previously requested WRITE is done */
|
||||
#define VDR_WRITE_PENDING 1 /* Previously requested WRITE is not done */
|
||||
/* */
|
||||
#define VDR_DATA_FOUND 0 /* Data is pending on the receive channel */
|
||||
#define VDR_DATA_NONE 1 /* Data is NOT pending on the receive channel */
|
||||
|
||||
/* typedefs */
|
||||
|
||||
typedef unsigned char VDR_UCHAR; /* Host independent unsigned 1-byte unit */
|
||||
typedef unsigned long VDR_ULONG; /* Host independent unsigned 4-byte unit */
|
||||
typedef void * VDR_PDATA; /* Host independent void 4-byte unit */
|
||||
|
||||
#if defined(__STDC__)
|
||||
|
||||
/* Open/Close prototypes */
|
||||
|
||||
typedef VDR_ULONG (*VDR_OPEN_PTR) (VDR_PDATA priv);
|
||||
typedef VDR_ULONG (*VDR_CLOSE_PTR) (VDR_PDATA priv);
|
||||
|
||||
/* Read/Write prototypes */
|
||||
|
||||
typedef VDR_ULONG (*VDR_READ_STATUS_PTR) (VDR_PDATA priv, VDR_ULONG * status);
|
||||
typedef VDR_ULONG (*VDR_WRITE_STATUS_PTR) (VDR_PDATA priv, VDR_ULONG * status);
|
||||
|
||||
/* ReadStatus/WriteStatus prototypes */
|
||||
|
||||
typedef VDR_ULONG (*VDR_READ_PTR) (VDR_PDATA priv, VDR_UCHAR * pData,
|
||||
VDR_ULONG maxSize, VDR_ULONG * rcvBytes);
|
||||
|
||||
typedef VDR_ULONG (*VDR_WRITE_PTR) (VDR_PDATA priv, VDR_UCHAR * pData, VDR_ULONG size);
|
||||
|
||||
#else /* __STDC__ */
|
||||
|
||||
/* Open/Close prototypes */
|
||||
|
||||
typedef VDR_ULONG (*VDR_OPEN_PTR)();
|
||||
typedef VDR_ULONG (*VDR_CLOSE_PTR)();
|
||||
|
||||
/* Read/Write prototypes */
|
||||
|
||||
typedef VDR_ULONG (*VDR_READ_STATUS_PTR )();
|
||||
typedef VDR_ULONG (*VDR_WRITE_STATUS_PTR)();
|
||||
|
||||
/* ReadStatus/WriteStatus prototypes */
|
||||
|
||||
typedef VDR_ULONG (*VDR_READ_PTR)();
|
||||
typedef VDR_ULONG (*VDR_WRITE_PTR)();
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
/*
|
||||
* This data structure represent the interface exchange between
|
||||
* the High-Level Vision driver ( wdbVisioDrv ) and the Low-Level I/O
|
||||
* subsystem driver. vDriver code will make an initialization
|
||||
* call into the Low-Level code. The Low-Level code will setup
|
||||
* the function pointer fields with the addresses of routines
|
||||
* that perform that particular operation. Also the Low-Level
|
||||
* I/O will fill in the PrivateData field with a value which is
|
||||
* of meaining to the Low-Level driver. This data will be given
|
||||
* back to the Low-Level driver on every request.
|
||||
*/
|
||||
|
||||
typedef struct vDriverInterface
|
||||
{
|
||||
VDR_OPEN_PTR openFunc; /* Addr of OPEN routine */
|
||||
VDR_CLOSE_PTR closeFunc; /* Addr of CLOSE routine */
|
||||
VDR_READ_PTR readFunc; /* Addr of the READ routine */
|
||||
VDR_WRITE_PTR writeFunc; /* Addr of the WRITE routine */
|
||||
VDR_READ_STATUS_PTR readStatusFunc; /* Addr of the READ STATUS routine */
|
||||
VDR_WRITE_STATUS_PTR writeStatusFunc; /* Addr of the WRITE STATUS routine */
|
||||
VDR_PDATA privateData; /* Private data space */
|
||||
} V_DRIVER_INTERFACE;
|
||||
|
||||
/* function prototypes */
|
||||
|
||||
/* Prototype for the Initialization call */
|
||||
|
||||
#if defined(__STDC__)
|
||||
|
||||
typedef VDR_ULONG (*VDR_INIT_PTR) (V_DRIVER_INTERFACE * interfaceData);
|
||||
|
||||
#else /* __STDC__ */
|
||||
|
||||
typedef VDR_ULONG (*VDR_INIT_PTR)();
|
||||
|
||||
#endif /* __STDC__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __INCwdbVisionDrvIFh */
|
||||
Reference in New Issue
Block a user