vme_address(3C)
NAME
vme_address − obtain a (H)VME physical address
SYNOPSIS
#include <sys/types.h>
#include <ml/pin.h>
u_int vme_address (addr, bus, type)
u_int addr;
int bus;
int type;
DESCRIPTION
When passed an A16 or A24 bit VME address, vme_address() will return the corresponding 32 bit physical address that the process may use on a shmbind(2) system service call or shmconfig(1M) command. This routine is only provided as an aid for binding VME addresses into user space; it does NOT automatically bind the returned physical address into the process’s virtual address space. This must be done by the process with a call to shmbind(2).
The addr parameter should contain the A16 or A24 address, the bus parameter should contain VME_ADR_PRIMARY for primary, or VME_ADR_SECONDARY for secondary I/O bus, and the type parameter should contain a VME_ADR_A16 for A16, or a VME_ADR_A24 for A24 bit addresses.
RETURN VALUE
Upon successful completion, the 32 bit physical address is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.
ERRORS
If one of the following conditions is detected, vme_address() will return -1 and set errno to the following value:
[EINVAL] The bus or type parameter was not valid.
[EINVAL] The addr parameter is not a valid A16 or A24 bit address.
SEE ALSO
CX/UX Programmer’s Reference Manual