/* vxtss_symlist.h - VxWorks TSS symbol tracking interface */ #ifndef __VX_TSS_SYMLIST_H__ #define __VX_TSS_SYMLIST_H__ #ifdef __cplusplus extern "C" { #endif #include #include #include /* Basic tss sym state types */ typedef enum { TSS_SYMLIST_STATE_INVALID = 0, TSS_SYMLIST_STATE_NEW, TSS_SYMLIST_STATE_ADDED, TSS_SYMLIST_STATE_FAILED, } tss_sym_state; typedef struct { void *var; /* task-specific variable */ void (*dtor)(void *); /* optional destructor */ } tss_entry_t; /* Initialize - deinitialize TSS sym */ int tss_sym_init(void); int tss_sym_deinit(void); /* * Add new symbol entry */ int tss_symlist_add_new(TASK_ID taskid, char *run_once_arg_str, char *tss_key_name, tss_t *tss_key, tss_sym_state state); /* * Check and populate keys for current task based on run_once_arg_str */ void tss_symlist_clone_entries_for_new_task(char *run_once_arg_string); /* Display the tss symbol table */ int tss_symlist_show(void); #ifdef __cplusplus } #endif #endif /* __VX_TSS_SYMLIST_H__ */