BPXYMMG — Map Interface for _map_init and _map_service
AMODE 31 callers use BPXYMMG — Map interface for _map_init and _map_service.
SYSSTATE AMODE64=YES
BPXYMMG ,
** BPXYMMG: BPX1MMI & BPX1MMS Interface Declares
** Used By: Callers of the BPX1MMI & BPX1MMS Interface
*
**********************************************************************
*
* Function Code Constants
*
**********************************************************************
*
MMG_INIT EQU 1
MMG_SERVICE EQU 2
*
**********************************************************************
* *
* Parameter list mapping for the BPX1MMI MMG_INIT call *
* *
**********************************************************************
*
_MMG_INIT_PARM DSECT , MMG_INIT Parameter List
_MMG_NUMBLKS DS F Fullword that contains the number of
* blocks to be contained in the map
* area.
_MMG_MEGSPERBLK DS F Fullword that contains the size in
* megabytes of each block in the map
* area
_MMG_MAPTOKEN DS CL8 Token for map area
_MMG_AREAADDR DS AD Doubleword that contains, on input,
* the suggested starting address of the
* map area or 0. On output, this field
* is set to the actual map starting
* address.
_MMG_INIT_PARM_LEN EQU *-_MMG_INIT_PARM
*
**********************************************************************
*
* Parameter list mapping for the BPX1MMS MMG_SERVICE request
*
* The parameter list is an array of entries, each entry having the
* format as mapped by _MMG_SERVICE_BLK. Each entry is a request for
* one of the supported request types: MMG_NEWBLOCK, MMG_CONN,
* MMG_DISCONN, MMG_CNTL or MMG_FREE. In addition, an entry can be
* marked as inactive by setting its value to MMG_NOP, which will
* cause the entry to be skipped. The result of a given request will
* be reflected in the array entry.
*
* The meaning of array entry fields is dependant on the requested
* function. The following table defines the field meanings for each
* of the supported functions. A field not used by a service is marked
* N/A. Fields so marked are ignored and their value is not
* important for the specified service. All reserved fields must be
* zero.
*
* Function Field Field usage
* ------------------------------------------------------
* _newblock
* _MMG_SERVICETYPE MMG_NEWBLOCK
* _MMG_SERVICEIFLAG All bits should be zero except
* MMG_NOCONN may be set to one if
* the new block is to be allocated
* in the backing storage but not
* connected to the map area
* _MMG_SERVICEOFLAG Should be zero, but not checked
* _MMG_Token output
* _MMG_BlkAddr input - 0 or address where the
* new block is to be
* allocated
* output - An address in the map
* area where the new
* block was allocated
* _conn
* _MMG_SERVICETYPE MMG_CONN
* _MMG_SERVICEIFLAG All bits should be zero
* _MMG_SERVICEOFLAG Should be zero, but not checked
* _MMG_Token input
* _MMG_BlkAddr input - 0 or address where the
* block identified by
* token is to be
* allocated
* output - An address in the map
* area where the block
* was allocated
* _disconn
* _MMG_SERVICETYPE MMG_DISCONN
* _MMG_SERVICEIFLAG All bits should be zero except
* the MMG_FREE bit may be on if
* backing storage is to be
* released for the data
* _MMG_SERVICEOFLAG Should be zero, but not checked
* _MMG_Token N/A
* _MMG_BlkAddr input - Address of the block
* containing data to
* be disconnected
* _free
* _MMG_SERVICETYPE MMG_FREE
* _MMG_SERVICEIFLAG All bits should be zero
* _MMG_SERVICEOFLAG Should be zero, but not checked
* _MMG_Token input - Token of the data
* contained in the
* backing storage which
* is to be release
* _MMG_BlkAddr N/A
* _cntl
* _MMG_SERVICETYPE MMG_CNTL
* _MMG_SERVICEIFLAG All bits should be zero except
* those that define the access
* state of the data (read or
* read/write flags)
* _MMG_SERVICEOFLAG Should be zero, but not checked
* _MMG_Token N/A
* _MMG_BlkAddr input - Address of the block
* containing data to be
* affected by the state
* change
*
**********************************************************************
*
_MMG_SERVICE_PARM DSECT , MMG_SERVICE Parameter List
_MMG_SERVICE_ENTRY DS 0H
_MMG_SERVICETYPE DS FL2 Type of service requested. eg, MMG_CONN
_MMG_SERVICEIFLAG DS BL1 Flags
ORG _MMG_SERVICEIFLAG
_MMG_READONLY EQU X'80' All pages of each area are to be made
* read-only
_MMG_READWRITE EQU X'40' All pages of each area are to be made
* read-write
_MMG_FREEBLOCK EQU X'20' The backing storage for the specified
* block is to be freed
_MMG_NOCONN EQU X'10' The new block is to be allocated in the
* backing storage but not connected to
* the map area
ORG _MMG_SERVICEIFLAG+L'_MMG_SERVICEIFLAG
_MMG_SERVICEOFLAG DS BL1 Flags
ORG _MMG_SERVICEOFLAG
_MMG_REQFAIL EQU X'80' If on, a failure occured on this entry
* or this entry was not processed
ORG _MMG_SERVICEOFLAG+L'_MMG_SERVICEOFLAG
_MMG_TOKEN DS CL8 Token for a data block
_MMG_RES02B DS A Reserved
_MMG_BLKADDR DS AD Doubleword that contains the virtual
* address of a map area block
_MMG_MAXARRAYCOUNT EQU 1000 Maximum number of requests that can be
* in a service request array
_MMG_SERVICE_PARM_LEN EQU *-_MMG_SERVICE_PARM
*
**********************************************************************
*
* BPX1MMS SERVICE Request Constants (values for field
* _MMG_SERVICETYPE)
*
**********************************************************************
*
MMG_NOP EQU 0
MMG_NEWBLOCK EQU 1
MMG_CONN EQU 2
MMG_DISCONN EQU 3
MMG_FREE EQU 4
MMG_CNTL EQU 5
*
**********************************************************************
*
** BPXYMMG End