vi50_unmap(3) CLIX vi50_unmap(3)
NAME
vi50_unmap - Unmaps the VI50 space mapped by the user
LIBRARY
Intergraph Device Library (libix.a)
SYNOPSIS
#include <sys/xio/xerr.h>
int vi50_unmap(
int channel ,
char *user_virt );
PARAMETERS
channel
Specifies the VI50 channel.
user_virt
Specifies the user virtual address that was previously mapped to
VI50 VME address space.
DESCRIPTION
The vi50_unmap() function unmaps the space specified by user_virt. The
space must have been previously mapped using vi50_map().
NOTES
The vi50_unmap() function cannot be used to free process page tables that
map the VME address space. This function is used only for freeing
hardware resources. Thus, it is possible for a process to exceed its
allowed process space by calling vi50_map() repeatedly, regardless of
whether vi50_unmap() is called.
There should be ample resources to allow a process to map all of the VME
address space for each available EVME swap mode. We recommend that a
process open the device, map the space it needs, perform processing, close
the device, and exit. This procedure avoids problems due to process space
depletion.
RETURN VALUES
The vi50_unmap() function returns a value of 0 if successful. If not
successful, one of the failure codes listed in the ERRORS section is
returned.
ERRORS
2/94 - Intergraph Corporation 1
vi50_unmap(3) CLIX vi50_unmap(3)
The vi50_unmap() function fails if one of the following is true:
[XIO_FAILURE]
The system does not contain the driver needed to support the
request.
[VI50_INVALID_DEVICE]
There is no hardware corresponding to the channel.
[VI50_NOT_OWNER]
The device is not open.
[VI50_NO_ACCESS]
The requesting process does not have access to the device specified
by channel.
[VI50_COPY_FAIL]
The driver could not copy input parameters into kernel space
[VI50_SPACE_NOT_MAPPED]
The user has not previously mapped the space given by user_virt.
RELATED INFORMATION
Functions: vi50_map(3), vi50_open(3)
Files: xvi50(7)
2 Intergraph Corporation - 2/94