This is Unofficial EPICS BASE Doxygen Site
epicsStackTracePvt.h
Go to the documentation of this file.
1 /*
2  * Copyright: Stanford University / SLAC National Laboratory.
3  *
4  * EPICS BASE is distributed subject to a Software License Agreement found
5  * in file LICENSE that is included with this distribution.
6  *
7  * Author: Till Straumann <strauman@slac.stanford.edu>, 2011, 2014
8  */
9 
10 #ifndef INC_epicsStackTracePvt_H
11 #define INC_epicsStackTracePvt_H
12 
13 #include "libComAPI.h"
14 
15 typedef struct epicsSymbol {
16  const char *f_nam; /* file where the symbol is defined */
17  const char *s_nam; /* symbol name */
18  void *s_val; /* symbol value */
19 } epicsSymbol;
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 /* Take a snapshot of the stack into 'buf' (limited to buf_sz entries)
26  * RETURNS: actual number of entries in 'buf'
27  */
28 LIBCOM_API int epicsBackTrace(void **buf, int buf_sz);
29 
30 /* Find symbol closest to 'addr'.
31  *
32  * If successful the routine fills in the members of *sym_p but
33  * note that 'f_nam' and/or 's_nam' may be NULL if the address
34  * cannot be resolved.
35  *
36  * RETURNS: 0 on success, nonzero on failure (not finding an address
37  * is not considered an error).
38  */
39 LIBCOM_API int epicsFindAddr(void *addr, epicsSymbol *sym_p);
40 
41 /* report supported features (as reported by epicsStackTraceGetFeatures) */
42 LIBCOM_API int epicsFindAddrGetFeatures();
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif
struct epicsSymbol epicsSymbol
LIBCOM_API int epicsFindAddr(void *addr, epicsSymbol *sym_p)
Definition: osdFindAddr.c:20
const char * f_nam
const char * s_nam
LIBCOM_API int epicsFindAddrGetFeatures()
Definition: osdFindAddr.c:37
LIBCOM_API int epicsBackTrace(void **buf, int buf_sz)