Files
m241Neelima/vxworks-6.9/target/h/vxtss_symlist.h
T

61 lines
1.4 KiB
C

/* vxtss_symlist.h - VxWorks TSS symbol tracking interface */
#ifndef __VX_TSS_SYMLIST_H__
#define __VX_TSS_SYMLIST_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <vxWorks.h>
#include <taskLib.h>
#include <openssl/crypto.h>
/* 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);
/* Get the first task ID with matching run_once_arg_string */
TASK_ID
tss_symlist_get_first_tid(char *run_once_arg_string);
/*
* Check and populate keys for current task based on run_once_arg_str
*/
void
tss_symlist_clone_entries_for_new_task(TASK_ID tid, char *run_once_arg_string);
/* Display the tss symbol table */
int
tss_symlist_show(void);
#ifdef __cplusplus
}
#endif
#endif /* __VX_TSS_SYMLIST_H__ */