Classes |
struct | td_thrhandle |
struct | td_thr_events |
struct | td_notify |
struct | td_event_msg |
struct | td_eventbuf_t |
struct | td_ta_stats |
struct | td_thrinfo |
Defines |
#define | TD_THR_ANY_USER_FLAGS 0xffffffff |
#define | TD_THR_LOWEST_PRIORITY -20 |
#define | TD_SIGNO_MASK NULL |
#define | TD_EVENTSIZE 2 |
#define | BT_UISHIFT 5 /* log base 2 of BT_NBIPUI, to extract word index */ |
#define | BT_NBIPUI (1 << BT_UISHIFT) /* n bits per uint */ |
#define | BT_UIMASK (BT_NBIPUI - 1) /* to extract bit index */ |
#define | __td_eventmask(n) (UINT32_C (1) << (((n) - 1) & BT_UIMASK)) |
#define | __td_eventword(n) ((UINT32_C ((n) - 1)) >> BT_UISHIFT) |
#define | td_event_emptyset(setp) |
#define | td_event_fillset(setp) |
#define | td_event_addset(setp, n) (((setp)->event_bits[__td_eventword (n)]) |= __td_eventmask (n)) |
#define | td_event_delset(setp, n) (((setp)->event_bits[__td_eventword (n)]) &= ~__td_eventmask (n)) |
#define | td_eventismember(setp, n) (__td_eventmask (n) & ((setp)->event_bits[__td_eventword (n)])) |
#define | td_eventisempty(setp) (!((setp)->event_bits[0]) && !((setp)->event_bits[1])) |
Typedefs |
typedef struct td_thragent | td_thragent_t |
typedef struct td_thrhandle | td_thrhandle_t |
typedef struct td_thr_events | td_thr_events_t |
typedef struct td_notify | td_notify_t |
typedef struct td_event_msg | td_event_msg_t |
typedef struct td_ta_stats | td_ta_stats_t |
typedef pthread_t | thread_t |
typedef pthread_key_t | thread_key_t |
typedef int | td_thr_iter_f (const td_thrhandle_t *, void *) |
typedef int | td_key_iter_f (thread_key_t, void(*)(void *), void *) |
typedef struct td_thrinfo | td_thrinfo_t |
Enumerations |
enum | td_err_e {
TD_OK,
TD_ERR,
TD_NOTHR,
TD_NOSV,
TD_NOLWP,
TD_BADPH,
TD_BADTH,
TD_BADSH,
TD_BADTA,
TD_BADKEY,
TD_NOMSG,
TD_NOFPREGS,
TD_NOLIBTHREAD,
TD_NOEVENT,
TD_NOCAPAB,
TD_DBERR,
TD_NOAPLIC,
TD_NOTSD,
TD_MALLOC,
TD_PARTIALREG,
TD_NOXREGS,
TD_TLSDEFER,
TD_NOTALLOC = TD_TLSDEFER,
TD_VERSION,
TD_NOTLS
} |
enum | td_thr_state_e {
TD_THR_ANY_STATE,
TD_THR_UNKNOWN,
TD_THR_STOPPED,
TD_THR_RUN,
TD_THR_ACTIVE,
TD_THR_ZOMBIE,
TD_THR_SLEEP,
TD_THR_STOPPED_ASLEEP
} |
enum | td_thr_type_e { TD_THR_ANY_TYPE,
TD_THR_USER,
TD_THR_SYSTEM
} |
enum | td_event_e {
TD_ALL_EVENTS,
TD_EVENT_NONE = TD_ALL_EVENTS,
TD_READY,
TD_SLEEP,
TD_SWITCHTO,
TD_SWITCHFROM,
TD_LOCK_TRY,
TD_CATCHSIG,
TD_IDLE,
TD_CREATE,
TD_DEATH,
TD_PREEMPT,
TD_PRI_INHERIT,
TD_REAP,
TD_CONCURRENCY,
TD_TIMEOUT,
TD_MIN_EVENT_NUM = TD_READY,
TD_MAX_EVENT_NUM = TD_TIMEOUT,
TD_EVENTS_ENABLE = 31
} |
enum | td_notify_e { NOTIFY_BPT,
NOTIFY_AUTOBPT,
NOTIFY_SYSCALL
} |
Functions |
td_err_e | td_init (void) |
td_err_e | td_log (void) |
const char ** | td_symbol_list (void) |
td_err_e | td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta) |
td_err_e | td_ta_delete (td_thragent_t *__ta) |
td_err_e | td_ta_get_nthreads (const td_thragent_t *__ta, int *__np) |
td_err_e | td_ta_get_ph (const td_thragent_t *__ta, struct ps_prochandle **__ph) |
td_err_e | td_ta_map_id2thr (const td_thragent_t *__ta, pthread_t __pt, td_thrhandle_t *__th) |
td_err_e | td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid, td_thrhandle_t *__th) |
td_err_e | td_ta_thr_iter (const td_thragent_t *__ta, td_thr_iter_f *__callback, void *__cbdata_p, td_thr_state_e __state, int __ti_pri, sigset_t *__ti_sigmask_p, unsigned int __ti_user_flags) |
td_err_e | td_ta_tsd_iter (const td_thragent_t *__ta, td_key_iter_f *__ki, void *__p) |
td_err_e | td_ta_event_addr (const td_thragent_t *__ta, td_event_e __event, td_notify_t *__ptr) |
td_err_e | td_ta_set_event (const td_thragent_t *__ta, td_thr_events_t *__event) |
td_err_e | td_ta_clear_event (const td_thragent_t *__ta, td_thr_events_t *__event) |
td_err_e | td_ta_event_getmsg (const td_thragent_t *__ta, td_event_msg_t *__msg) |
td_err_e | td_ta_setconcurrency (const td_thragent_t *__ta, int __level) |
td_err_e | td_ta_enable_stats (const td_thragent_t *__ta, int __enable) |
td_err_e | td_ta_reset_stats (const td_thragent_t *__ta) |
td_err_e | td_ta_get_stats (const td_thragent_t *__ta, td_ta_stats_t *__statsp) |
td_err_e | td_thr_validate (const td_thrhandle_t *__th) |
td_err_e | td_thr_get_info (const td_thrhandle_t *__th, td_thrinfo_t *__infop) |
td_err_e | td_thr_getfpregs (const td_thrhandle_t *__th, prfpregset_t *__regset) |
td_err_e | td_thr_getgregs (const td_thrhandle_t *__th, prgregset_t __gregs) |
td_err_e | td_thr_getxregs (const td_thrhandle_t *__th, void *__xregs) |
td_err_e | td_thr_getxregsize (const td_thrhandle_t *__th, int *__sizep) |
td_err_e | td_thr_setfpregs (const td_thrhandle_t *__th, const prfpregset_t *__fpregs) |
td_err_e | td_thr_setgregs (const td_thrhandle_t *__th, prgregset_t __gregs) |
td_err_e | td_thr_setxregs (const td_thrhandle_t *__th, const void *__addr) |
td_err_e | td_thr_tlsbase (const td_thrhandle_t *__th, unsigned long int __modid, psaddr_t *__base) |
td_err_e | td_thr_tls_get_addr (const td_thrhandle_t *__th, psaddr_t __map_address, size_t __offset, psaddr_t *__address) |
td_err_e | td_thr_event_enable (const td_thrhandle_t *__th, int __event) |
td_err_e | td_thr_set_event (const td_thrhandle_t *__th, td_thr_events_t *__event) |
td_err_e | td_thr_clear_event (const td_thrhandle_t *__th, td_thr_events_t *__event) |
td_err_e | td_thr_event_getmsg (const td_thrhandle_t *__th, td_event_msg_t *__msg) |
td_err_e | td_thr_setprio (const td_thrhandle_t *__th, int __prio) |
td_err_e | td_thr_setsigpending (const td_thrhandle_t *__th, unsigned char __n, const sigset_t *__ss) |
td_err_e | td_thr_sigsetmask (const td_thrhandle_t *__th, const sigset_t *__ss) |
td_err_e | td_thr_tsd (const td_thrhandle_t *__th, const thread_key_t __tk, void **__data) |
td_err_e | td_thr_dbsuspend (const td_thrhandle_t *__th) |
td_err_e | td_thr_dbresume (const td_thrhandle_t *__th) |