Display storage

Here's a program that will show all storage AS/400 distributed in ASPS.

This piece of my program shows all storage AS/400 distributed in ASPS. It's a very easy and elegant solution in

MI variant header C program. I hope you like it.


 		
/* Convert from binary(8)to dec(20 0) */
decimal(20,0) hrtvBinary8
(char *binary8)         
{                                                
  decimal(20,0) ;               
  d=(*(unsigned long int *) binary8)*4294967296d;
  d+=*(unsigned long int *) (binary8+4);
  return d;                    
}                                                

void main( void )                   
{                                   
 short numasp,i;                    
 char *tempptr;                     
 int Bytes_Used,Size_Asp,Size_Basic;
 decimal(20,0) dR,dMedia,dAvail;    
 decimal(6,4) dR_Percent;           
 double dTemp;

control[0] = _MATRMD_AUX_STORAGE;
Size_Basic = sizeof(_MATRMD_Template_T);
rd_template = (_MATRMD_Template_T *)malloc(Size_Basic);
rd_template ->Template_Size = Size_Basic;              

do                                      
{                                       
control[0] = _MATRMD_AUX_STORAGE;   
rd_template = (_MATRMD_Template_T *)malloc(Bytes_Used); 
rd_template ->Template_Size = Bytes_Used;

matrmd(rd_template,control);           
numasp = rd_template ->_MATRMD_Data.Aux_Storage.Num_ASP;
/* Number of ASPs */

Size_Asp = sizeof(_MATRMD12_ASP_T);
tempptr = (char *)rd_template;     
for (i=0;i
 
  _MATRMD_Data.Aux_Storage.
           Data) + i*Size_Asp;
asps = (_MATRMD12_ASP_T *)tempptr; 

dMedia = hrtvBinary8(asps->Media);
dTemp = dMedia / 1000000000;      
/* dTemp : space media for ASP*/

dAvail = hrtvBinary8(asps->Space_Avail);
dTemp = dAvail / 1000000000;            
/* dTemp : space avail for ASP */

                                        
dTemp = hrtvBinary8(asps->System_Storage)/1000000000;
/* dTemp : system storage for ASP */

dR = 100 * (dMedia - dAvail);
dR_Percent = dR / dMedia;    
dTemp  = dR_Percent;         
/* Available storage for ASP */
}  /* Loop for all asps */

} /* End Main */ 
 
This was first published in June 2001

Dig deeper on iSeries ILE programming

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

SearchEnterpriseLinux

SearchDataCenter

Close