www.pudn.com > vxworks0108.rar > vme.h


/* vme.h - VMEbus constants header file */

/*
DESCRIPTION

This file contains address space descriptor definitions for the VME bus. 

Note that address space descriptors above 0x3f have already been assigned
to other busses, and additional address space descriptors should be 
added only after consulting the appropriate header files and allocating
the next available descriptor.
*/

#ifndef __INCvmeh
#define __INCvmeh

#ifdef __cplusplus
extern "C" {
#endif

/* address modifier codes */

#define VME_AM_STD_SUP_ASCENDING	0x3f
#define VME_AM_STD_SUP_PGM		0x3e
#define VME_AM_STD_SUP_DATA		0x3d

#define VME_AM_STD_USR_ASCENDING	0x3b
#define VME_AM_STD_USR_PGM		0x3a
#define VME_AM_STD_USR_DATA		0x39

#define VME_AM_CSR			0x2f
#define VME_AM_SUP_SHORT_IO		0x2d
#define VME_AM_USR_SHORT_IO		0x29

#define VME_AM_EXT_SUP_ASCENDING	0x0f
#define VME_AM_EXT_SUP_PGM		0x0e
#define VME_AM_EXT_SUP_DATA		0x0d

#define VME_AM_EXT_USR_ASCENDING	0x0b
#define VME_AM_EXT_USR_PGM		0x0a
#define VME_AM_EXT_USR_DATA		0x09

#define	VME_AM_IS_SHORT(addr)	((addr & 0xf0) == 0x20)
#define	VME_AM_IS_STD(addr)	((addr & 0xf0) == 0x30)
#define	VME_AM_IS_EXT(addr)	((addr & 0xf0) == 0x00)

#ifdef __cplusplus
}
#endif

#endif /* __INCvmeh */