BPXYMMG — Map interface for _map_init and _map_service

AMODE 64 callers use BPXYMMG — Map Interface for _map_init and _map_service.

                                                      
            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_RES01A      DS    A        Reserved for future use                         
_MMG_RES01B      DS    A        Reserved for future use                         
_MMG_AREAADDR    DS    A        Fullword 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    A        Fullword 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