/* print_prog_store() Print a program store and all its descendants. if 'store' is NULL this function returns without having printed anything. */ static void print_prog_store( struct prog *store // in ) { const char *const objname = "Program Store"; int i = 0; if( !store ) return; PRINT_DBLSEP_BEGIN( objname ); print_init_time( "store->init_time", store->init_time ); printf( "store->argc: %d\n", store->argc ); for( i = 0; i < store->argc; ++i ) printf( "store->argv[ %d ]: %s\n", i, store->argv[ i ] ); printf( "store->pszBasename: %s\n", store->pszBasename ); printf( "store->dwMainThreadId: %lu\n", store->dwMainThreadId ); printf( "store->dwOSVersion: %lu\n", store->dwOSVersion ); printf( "store->dwOSMajorVersion: %lu\n", store->dwOSMajorVersion ); printf( "store->dwOSMinorVersion: %lu\n", store->dwOSMinorVersion ); printf( "store->dwOSBuild: %lu\n", store->dwOSBuild ); printf( "store->pwszWinstaName: %ls\n", store->pwszWinstaName ); print_SharedInfo( store->pSharedInfo ); printf( "\n" ); printf( "*store->pcHandleEntries: %lu\n", *store->pcHandleEntries ); PRINT_DBLSEP_END( objname ); return; }
/* print_list_store() Print a list store and all its descendants. if 'store' is NULL this function returns without having printed anything. */ void print_list_store( const struct list *const store // in ) { const char *const objname = "Generic List Store"; struct list_item *item = NULL; if( !store ) return; PRINT_DBLSEP_BEGIN( objname ); print_init_time( "store->init_time", store->init_time ); printf( "store->type: " ); switch( store->type ) { case LIST_INVALID_TYPE: printf( "LIST_INVALID_TYPE (the user-specified list type hasn't been set.)" ); break; case LIST_INCLUDE_TEST: printf( "LIST_INCLUDE_TEST (user-specified list of tests to include.)" ); break; case LIST_INCLUDE_DESK: printf( "LIST_INCLUDE_DESK (user-specified list of desktops to include.)" ); break; case LIST_INCLUDE_HOOK: printf( "LIST_INCLUDE_HOOK (user-specified list of hooks to include.)" ); break; case LIST_INCLUDE_PROG: printf( "LIST_INCLUDE_PROG (user-specified list of programs to include.)" ); break; case LIST_EXCLUDE_HOOK: printf( "LIST_EXCLUDE_HOOK (user-specified list of hooks to exclude.)" ); break; case LIST_EXCLUDE_PROG: printf( "LIST_EXCLUDE_PROG (user-specified list of programs to exclude.)" ); break; default: printf( "%d (unknown type)", store->type ); } printf( "\n" ); //printf( "\nNow printing the desktop items in the list from head to tail.\n " ); PRINT_HEX( store->head ); for( item = store->head; item; item = item->next ) { //PRINT_HEX( item ); print_list_item( item ); } PRINT_HEX( store->tail ); PRINT_DBLSEP_END( objname ); return; }
/* print_config_store() Print a configuration store and all its descendants. if 'store' is NULL this function returns without having printed anything. */ static void print_config_store( struct config *store // in ) { const char *const objname = "Configuration Store"; if( !store ) return; PRINT_DBLSEP_BEGIN( objname ); print_init_time( "store->init_time", store->init_time ); printf( "store->polling: %d", store->polling ); if( store->polling >= POLLING_MIN ) printf( " (Comparing snapshots every %d seconds)", store->polling ); else printf( " (Taking only one snapshot)" ); printf( "\n" ); printf( "store->verbose: %d\n", store->verbose ); printf( "store->max_threads: %u\n", store->max_threads ); printf( "store->flags: " ); PRINT_HEX_BARE( store->flags ); if( store->flags ) { printf( " ( " ); print_config_flags( store->flags ); printf( ")" ); } printf( "\n" ); printf( "\n\nPrinting list store of user specified hooks:\n" ); print_list_store( store->hooklist ); printf( "\n\nPrinting list store of user specified programs:\n" ); print_list_store( store->proglist ); printf( "\n\nPrinting list store of user specified desktops:\n" ); print_list_store( store->desklist ); printf( "\n\nPrinting list store of user specified tests:\n" ); print_list_store( store->testlist ); PRINT_DBLSEP_END( objname ); return; }