Changes the memory strategy for an application dynamically.
               
            
 
            	 
             
               		
               Note: This routine is supported for native COBOL only.
                  		
               
 
               	 
              
            	 
            
               Syntax:
 
               		 
               		call "CBL_MEM_STRATEGY" using by value     func
                              by reference flags
                              returning    status-code 
               	   
            	 
            
               Parameters:
 
               		 
               		
                
                  		
                  
                      
                        			  
                        			  
                        			  
                        			 
                         
                           				
                            
                              				  
                              |   |  
                              				  
                              Using call prototype (see 
                                 					 Key)
                                 				  
                               |  
                              				  
                              Picture (32-bit systems)
                                 				  
                               |  
                              				
                           
 
                           			 
                         
                        			 
                         
                           				
                            
                              				  
                              |  
                                 					 func 
                                 				  
                               |  
                              				  
                              cblt-x4-comp-5
                                 				  
                               |  
                              				  
                              pic x(4) comp-5.
                                 				  
                               |  
                              				
                           
 
                           				
                            
                              				  
                              |  
                                 					 flags 
                                 				  
                               |  
                              				  
                              cblt-x4-comp-5
                                 				  
                               |  
                              				  
                              pic x(4) comp-5.
                                 				  
                               |  
                              				
                           
 
                           				
                            
                              				  
                              |  
                                 					 status-code 
                                 				  
                               |  
                              				  
                              See 
                                 					 Library Routines - Key
                                 				  
                               |  
                              				
                           
 
                           			 
                         
                        		  
                     
                    
                  		
                 
               	 
              
            	 
            
               On Entry:
 
               		 
               		
                
                  		   
                  			 
                  -  
                     				func 
                     			 
                  
  
                  			 
                  -  
                     				
                     
                         
                           					  
                           					  
                           					 
                            
                              						
                               
                                 						  
                                 | 0 
                                    						  
                                  |  
                                 						  
                                 Get memory strategy
                                    						  
                                  |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 1
                                    						  
                                  |  
                                 						  
                                 Set memory strategy
                                    						  
                                  |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 2
                                    						  
                                  |  
                                 						  
                                 Get number of freed memory blocks being checked
                                    						  
                                  |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 3
                                    						  
                                  |  
                                 						  
                                 Set number of freed memory blocks to be checked
                                    						  
                                  |  
                                 						
                              
 
                              					 
                            
                           				  
                        
                       
                     			 
                    
                  		   
                  		   
                  			 
                  -  
                     				flags 
                     			 
                  
  
                  			 
                  - If 
                     				func is set to 1, 
                     				flags indicates the memory strategy to set, as follows: 
                     				
                     
 
                        				   
                        					 
                        - Bit 0
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Check bytes strategy: prepend and append check bytes to each memory allocation
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bit 1
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Check freed memory strategy: monitor for subsequent corruption the last 
                                          									 n memory blocks freed, where 
                                          									 n is the current value as set when 
                                          									 func 
                                             									 is set to 3
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bit 2
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Reuse strategy: allow freed memory being monitored for corruption to be used to satisfy allocation requests
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bits 3-29
                           					 
                        
  
                        					 
                        - Reserved for future use. Must be set to zero. 
                           					 
                        
  
                        				   
                        				   
                        					 
                        - Bit 30
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Compatibility strategy: maintain compatibility with previous versions of the run-time system
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bit 31
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Validate strategy: validate memory each time an allocation or free operation occurs
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				
                     
If 
                     				func is set to 3, 
                     				flags indicates the number of freed memory blocks to be monitored for corruption.
                     			 
                    
                  		   
                  		
               
 
               	 
              
            	 
            
               On Exit:
 
               		 
               		
                
                  		   
                  			 
                  -  
                     				flags 
                     			 
                  
  
                  			 
                  - If 
                     				func is set to 0, 
                     				flags indicates the current memory strategy,as follows: 
                     				
                     
 
                        				   
                        					 
                        - Bit 0
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Check bytes strategy: prepend and append check bytes to each memory allocation
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bit 1
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Check freed memory strategy: monitor for subsequent corruption the last 
                                          									 n memory blocks freed, where 
                                          									 n is the current value as set when 
                                          									 func 
                                             									 is set to 3
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bit 2
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Reuse strategy: allow freed memory being monitored for corruption to be used to satisfy allocation requests
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bits 3-29
                           					 
                        
  
                        					 
                        - Reserved for future use. Set to zero. 
                           					 
                        
  
                        				   
                        				   
                        					 
                        - Bit 30
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Compatibility strategy: maintain compatibility with previous versions of of the run-time system
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				   
                        					 
                        - Bit 31
                           					 
                        
  
                        					 
                        -  
                           						
                           
                               
                                 							  
                                 							  
                                 							 
                                  
                                    								
                                     
                                       								  
                                       | 0
                                          								  
                                        |  
                                       								  
                                       No action
                                          								  
                                        |  
                                       								
                                    
 
                                    								
                                     
                                       								  
                                       | 1
                                          								  
                                        |  
                                       								  
                                       Validate strategy: validate memory each time an allocation or free operation occurs
                                          								  
                                        |  
                                       								
                                    
 
                                    							 
                                  
                                 						  
                              
                             
                           					 
                          
                        				   
                        				
                     
If 
                     				func is set to 2, 
                     				flags indicates the number of freed memory blocks being monitored for corruption.
                     			 
                    
                  		   
                  		   
                  			 
                  -  
                     				status-code 
                     			 
                  
  
                  			 
                  - Status of operation: 
                     				
                     
                         
                           					  
                           					  
                           					 
                            
                              						
                               
                                 						  
                                 | 0
                                    						  
                                  |  
                                 						  
                                 All memory allocations are intact
                                    						  
                                  |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 1000
                                    						  
                                  |  
                                 						  
                                 Insufficient memory to perform request
                                    						  
                                  |  
                                 						
                              
 
                              						
                               
                                 						  
                                 | 1009
                                    						  
                                  |  
                                 						  
                                 Invalid parameter specified
                                    						  
                                  |  
                                 						
                              
 
                              					 
                            
                           				  
                        
                      
                     			 
                    
                  		   
                  		
               
 
               	 
              
            	 
             
            
           
         
         
Comments:
Use this routine to change the memory strategy for an application from within the application. It provides the same functionality as that provided by the memory_strategy and memory_free_check_size run-time tunables.