/usr/include/singular/omalloc/omRet2Info.h is in libsingular4-dev-common 1:4.0.3-p3+ds-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /*******************************************************************
* File: omAddr2Info.h
* Purpose: translation of return addr to RetInfo
* Author: obachman (Olaf Bachmann)
* Created: 11/99
*******************************************************************/
#ifndef OM_RET_2_INFO_H
#define OM_RET_2_INFO_H
struct omRetInfo_s
{
void* addr;
char func[200]; /* if you change these numbers, alos change */
char file[200]; /* the fscanf statement in BackTrace_2_RetInfo */
int line;
};
/* print to fd array of max RetInfo's and use fmt as format string for one RetInfo.
The following conversions are recognized:
%i -- number of return addr
%p -- address (in hex)
%F -- function name with arguments (for C++, only)
%N -- funtion name without arguments
%f -- file
%l -- line
%L -- file:line
return how many lines were printed */
#ifndef OM_NDEBUG
int omPrintRetInfo(omRetInfo info, int max, FILE *fd, const char* fmt);
/* translate array of max BackTrace addresses into array of max RetInfos
return how many were translated */
int omBackTrace_2_RetInfo(void** bt, omRetInfo info, int max);
/* call with argv[0] to enable RetInfo translations */
void omInitRet_2_Info(const char* argv0);
int omPrintBackTrace(void** bt, int max, FILE* fd);
#define omPrintCurrentBackTrace(fd) omPrintCurrentBackTraceMax(fd, 1000)
int omPrintCurrentBackTraceMax(FILE* fd, int max);
int omFilterRetInfo_i(omRetInfo info, int max, int i);
#define omFilterRetInfo(info, max, cond) \
do \
{ \
int _max = max; \
int _i = max -1; \
while (_i > 0) \
{ \
void* addr_i = info[_i].addr; \
char* file_i = info[_i].file; \
char* func_i = info[_i].func; \
int line_i = info[_i].line; \
\
if (cond) \
max = omFilterRetInfo_i(info, max, _i); \
_i--; \
} \
} \
while (0)
/*BEGINPRIVATE*/
int _omPrintBackTrace(void** bt, int max, FILE* fd , OM_FLR_DECL);
int _omPrintCurrentBackTrace(FILE* fd , OM_FLR_DECL);
/*ENDPRIVATE*/
#else /* OM_NDEBUG */
#define omPrintRetInfo(i, max, fd, fmt) do {} while (0)
#define omBackTrace_2_RetInfo(bt, i, m) do {} while (0)
#define omInitRet_2_Info(a) do {} while (0)
#define omPrintBackTrace(bt,max,fd) do {} while (0)
#define omPrintCurrentBackTrace(fd) do {} while (0)
#define omPrintCurrentBackTraceMax(fd,max) do {} while (0)
#define omFilterRetInfo_i(info,max,i) do {} while (0)
#define omFilterRetInfo(info, max, cond)do {} while (0)
#endif /* ! OM_NDEBUG */
#endif /* OM_RET_2_INFO_H */
|