61 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* This file contains procedures to dump DS data structures.
 | |
|  *
 | |
|  * The entry points into this file are
 | |
|  *   data_store_dmp:   	display DS data store contents 
 | |
|  *
 | |
|  * Created:
 | |
|  *   Oct 18, 2005:	by Jorrit N. Herder
 | |
|  */
 | |
| 
 | |
| #include "inc.h"
 | |
| #include "../ds/store.h"
 | |
| 
 | |
| PUBLIC struct data_store store[NR_DS_KEYS];
 | |
| 
 | |
| FORWARD _PROTOTYPE( char *s_flags_str, (int flags)		);
 | |
| 
 | |
| /*===========================================================================*
 | |
|  *				data_store_dmp				     *
 | |
|  *===========================================================================*/
 | |
| PUBLIC void data_store_dmp()
 | |
| {
 | |
|   struct data_store *dsp;
 | |
|   int i,j, n=0;
 | |
|   static int prev_i=0;
 | |
| 
 | |
| 
 | |
|   printf("Data Store (DS) contents dump\n");
 | |
| 
 | |
|   getsysinfo(DS_PROC_NR, SI_DATA_STORE, store);
 | |
| 
 | |
|   printf("-slot- -key- -flags- -val_l1- -val_l2-\n");
 | |
| 
 | |
|   for (i=prev_i; i<NR_DS_KEYS; i++) {
 | |
|   	dsp = &store[i];
 | |
|   	if (! dsp->ds_flags & DS_IN_USE) continue;
 | |
|   	if (++n > 22) break;
 | |
|   	printf("%3d %8d %s  [%8d] [%8d] \n",
 | |
| 		i, dsp->ds_key,
 | |
| 		s_flags_str(dsp->ds_flags),
 | |
| 		dsp->ds_val_l1,
 | |
| 		dsp->ds_val_l2
 | |
|   	);
 | |
|   }
 | |
|   if (i >= NR_DS_KEYS) i = 0;
 | |
|   else printf("--more--\r");
 | |
|   prev_i = i;
 | |
| }
 | |
| 
 | |
| 
 | |
| PRIVATE char *s_flags_str(int flags)
 | |
| {
 | |
| 	static char str[5];
 | |
| 	str[0] = (flags & DS_IN_USE) ? 'U' : '-';
 | |
| 	str[1] = (flags & DS_PUBLIC) ? 'P' : '-';
 | |
| 	str[2] = '-';
 | |
| 	str[3] = '\0';
 | |
| 
 | |
| 	return(str);
 | |
| }
 | |
| 
 | 
