2005-10-20 22:28:54 +02:00
|
|
|
/* 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;
|
2006-07-13 16:50:23 +02:00
|
|
|
int i,j, n=0, s;
|
2005-10-20 22:28:54 +02:00
|
|
|
static int prev_i=0;
|
|
|
|
|
|
|
|
|
|
|
|
printf("Data Store (DS) contents dump\n");
|
|
|
|
|
2006-07-13 16:50:23 +02:00
|
|
|
if((s=getsysinfo(DS_PROC_NR, SI_DATA_STORE, store)) != OK) {
|
|
|
|
printf("Couldn't talk to DS: %d.\n", s);
|
|
|
|
return;
|
|
|
|
}
|
2005-10-20 22:28:54 +02:00
|
|
|
|
2006-07-13 16:50:23 +02:00
|
|
|
printf("slot key type value\n");
|
2005-10-20 22:28:54 +02:00
|
|
|
|
|
|
|
for (i=prev_i; i<NR_DS_KEYS; i++) {
|
|
|
|
dsp = &store[i];
|
|
|
|
if (! dsp->ds_flags & DS_IN_USE) continue;
|
|
|
|
if (++n > 22) break;
|
2006-07-13 16:50:23 +02:00
|
|
|
printf("%3d %-20s ",
|
|
|
|
i, dsp->ds_key);
|
|
|
|
if(dsp->ds_flags & DS_TYPE_U32) {
|
|
|
|
printf("u32 %lu\n", dsp->ds_val.ds_val_u32);
|
|
|
|
} else if(dsp->ds_flags & DS_TYPE_STR) {
|
|
|
|
printf("str \"%s\"\n", dsp->ds_val.ds_val_str);
|
|
|
|
} else {
|
|
|
|
printf("Bogus type\n");
|
|
|
|
}
|
2005-10-20 22:28:54 +02:00
|
|
|
}
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|