#include "daprobe.h"
#include "probeinfo.h"
#include "dautil.h"
+#include "dahelper.h"
#include "da_io.h"
static enum DaOptions _sopt = OPT_FILE;
static FILE* (*fopenp)(const char* filename, const char* mode);
FILE* fret;
- BEFORE_ORIGINAL_FILE_NOFILTER(fopen, libc.so.6);
+ BEFORE_ORIGINAL_FILE_NOFILTER(fopen, LIBC);
_filepath = (char*)filename;
fret = fopenp(filename, mode);
static FILE* (*freopenp)(const char * filename, const char * mode, FILE * stream);
FILE* fret;
- BEFORE_ORIGINAL_FILE_NOFILTER(freopen, libc.so.6);
+ BEFORE_ORIGINAL_FILE_NOFILTER(freopen, LIBC);
_filepath = (char*)filename;
fret = freopenp(filename, mode, stream);
static FILE* (*fdopenp)(int fildes, const char *mode);
FILE* fret;
- BEFORE_ORIGINAL_FILE_NOFILTER(fdopen, libc.so.6);
+ BEFORE_ORIGINAL_FILE_NOFILTER(fdopen, LIBC);
fret = fdopenp(fildes, mode);
{
static int (*fflushp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(fflush, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fflush, LIBC);
ret = fflushp(stream);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
return ret;
static int (*fclosep)(FILE* stream);
DECLARE_VARIABLE_FD;
- GET_REAL_FUNC(fclose, libc.so.6);
+ GET_REAL_FUNC(fclose, LIBC);
bfiltering = false;
PRE_PROBEBLOCK_BEGIN();
{
static int (*removep)(const char* filename);
- BEFORE_ORIGINAL_FILE(remove, libc.so.6);
+ BEFORE_ORIGINAL_FILE(remove, LIBC);
_filepath = (char*)filename;
ret = removep(filename);
AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", filename);
{
static int (*renamep)(const char* oldname, const char* newname);
- BEFORE_ORIGINAL_FILE(rename, libc.so.6);
+ BEFORE_ORIGINAL_FILE(rename, LIBC);
_filepath = (char*)newname;
ret = renamep(oldname, newname);
AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", oldname, newname);
static FILE* (*tmpfilep) ( void );
FILE* fret;
- BEFORE_ORIGINAL_FILE_NOFILTER(tmpfile, libc.so.6);
+ BEFORE_ORIGINAL_FILE_NOFILTER(tmpfile, LIBC);
_filepath = "<temp file>";
fret = tmpfilep();
{
static int (*fgetposp)(FILE* stream, fpos_t* position);
- BEFORE_ORIGINAL_FILE(fgetpos, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fgetpos, LIBC);
ret = fgetposp(stream, position);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p, %p", stream, position);
return ret;
{
static int (*fseekp)(FILE* stream, long int offset, int origin);
- BEFORE_ORIGINAL_FILE(fseek, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fseek, LIBC);
ret = fseekp(stream, offset, origin);
AFTER_ORIGINAL_FILEP((unsigned int)offset, stream, FD_API_OTHER,
"%p, %ld, %d", stream, offset, origin);
{
static int (*fsetposp)(FILE* stream, const fpos_t* pos);
- BEFORE_ORIGINAL_FILE(fsetpos, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fsetpos, LIBC);
ret = fsetposp(stream, pos);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p, %p", stream, pos);
return ret;
static long int (*ftellp)(FILE* stream);
long int lret;
- BEFORE_ORIGINAL_FILE(ftell, libc.so.6);
+ BEFORE_ORIGINAL_FILE(ftell, LIBC);
lret = ftellp(stream);
{
static void (*rewindp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(rewind, libc.so.6);
+ BEFORE_ORIGINAL_FILE(rewind, LIBC);
rewindp(stream);
{
static void (*clearerrp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(clearerr, libc.so.6);
+ BEFORE_ORIGINAL_FILE(clearerr, LIBC);
clearerrp(stream);
{
static int (*feofp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(feof, libc.so.6);
+ BEFORE_ORIGINAL_FILE(feof, LIBC);
ret = feofp(stream);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
return ret;
{
static int (*ferrorp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(ferror, libc.so.6);
+ BEFORE_ORIGINAL_FILE(ferror, LIBC);
ret = ferrorp(stream);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
return ret;
{
static int (*filenop)(FILE* stream);
- BEFORE_ORIGINAL_FILE(fileno, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fileno, LIBC);
ret = filenop(stream);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
return ret;
{
static void (*perrorp)(const char* string);
- BEFORE_ORIGINAL_FILE(perror, libc.so.6);
+ BEFORE_ORIGINAL_FILE(perror, LIBC);
perrorp(string);
{
static int (*vfprintfp)(FILE* stream, const char* format, va_list arg);
- BEFORE_ORIGINAL_FILE(vfprintf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(vfprintf, LIBC);
ret = vfprintfp(stream, format, arg);
AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%p, %s", stream, format);
return ret;
{
static int (*vfscanfp)(FILE* stream, const char* format, va_list arg);
- BEFORE_ORIGINAL_FILE(vfscanf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(vfscanf, LIBC);
ret = vfscanfp(stream, format, arg);
AFTER_ORIGINAL_FILEP(ret, stream, FD_API_READ, "%p, %s", stream, format);
return ret;
{
static int (*fgetcp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(fgetc, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fgetc, LIBC);
ret = fgetcp(stream);
AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_READ, "%p", stream);
return ret;
static char* (*fgetsp)(char* str, int num, FILE* stream);
char* cret;
- BEFORE_ORIGINAL_FILE(fgets, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fgets, LIBC);
cret = fgetsp(str, size, stream);
{
static int (*fputcp)(int character, FILE* stream);
- BEFORE_ORIGINAL_FILE(fputc, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fputc, LIBC);
ret = fputcp(character, stream);
AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_WRITE,
"%d, %p", character, stream);
{
static int (*fputsp)(const char* str, FILE* stream);
- BEFORE_ORIGINAL_FILE(fputs, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fputs, LIBC);
ret = fputsp(str, stream);
AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%s, %p", str, stream);
return ret;
{
static int (*getcp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(getc, libc.so.6);
+ BEFORE_ORIGINAL_FILE(getc, LIBC);
ret = getcp(stream);
AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_READ, "%p", stream);
return ret;
{
static int (*putcp)(int character, FILE* stream);
- BEFORE_ORIGINAL_FILE(putc, libc.so.6);
+ BEFORE_ORIGINAL_FILE(putc, LIBC);
ret = putcp(character, stream);
AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_WRITE,
"%d, %p", character, stream);
{
static int (*ungetcp)(int character, FILE* stream);
- BEFORE_ORIGINAL_FILE(ungetc, libc.so.6);
+ BEFORE_ORIGINAL_FILE(ungetc, LIBC);
ret = ungetcp(character, stream);
AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%d, %p", character, stream);
return ret;
static size_t (*freadp)(void* ptr, size_t size, size_t count, FILE* stream);
size_t tret;
- BEFORE_ORIGINAL_FILE(fread, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fread, LIBC);
tret = freadp(ptr, size, count, stream);
static size_t (*fwritep)(const void* ptr, size_t size, size_t count, FILE* stream);
size_t tret;
- BEFORE_ORIGINAL_FILE(fwrite, libc.so.6);
+ BEFORE_ORIGINAL_FILE(fwrite, LIBC);
tret = fwritep(ptr, size, count, stream);
{
static int (*vfprintfp)(FILE* stream, const char* format, ...);
- BEFORE_ORIGINAL_FILE(vfprintf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(vfprintf, LIBC);
va_list arg;
va_start(arg, format);
{
static int (*vfscanfp)(FILE* stream, const char* format, ...);
- BEFORE_ORIGINAL_FILE(vfscanf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(vfscanf, LIBC);
va_list arg;
va_start(arg, format);
{
static int (*vprintfp)(const char* format, ...);
- BEFORE_ORIGINAL_FILE(vprintf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(vprintf, LIBC);
va_list arg;
va_start(arg, format);
{
static int (*vscanfp)(const char* format, ...);
- BEFORE_ORIGINAL_FILE(vscanf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(vscanf, LIBC);
va_list arg;
va_start(arg, format);
{
static int (*getcharp)();
- BEFORE_ORIGINAL_FILE(getchar, libc.so.6);
+ BEFORE_ORIGINAL_FILE(getchar, LIBC);
ret = getcharp();
AFTER_ORIGINAL_NOFD((ret == EOF ? 0 : 1), FD_API_READ, "%s", "");
return ret;
{
static int (*putcharp)(int c);
- BEFORE_ORIGINAL_FILE(putchar, libc.so.6);
+ BEFORE_ORIGINAL_FILE(putchar, LIBC);
ret = putcharp(c);
AFTER_ORIGINAL_NOFD((ret == EOF ? 0 : 1), FD_API_WRITE, "%d", c);
return ret;
static char* (*getsp)(char* str);
char* cret;
- BEFORE_ORIGINAL_FILE(gets, libc.so.6);
+ BEFORE_ORIGINAL_FILE(gets, LIBC);
cret = getsp(str);
{
static int (*putsp)(const char* str);
- BEFORE_ORIGINAL_FILE(puts, libc.so.6);
+ BEFORE_ORIGINAL_FILE(puts, LIBC);
ret = putsp(str);
AFTER_ORIGINAL_NOFD(ret, FD_API_WRITE, "%s", str);
return ret;
static char* (*tmpnamp)(char* str);
char* cret;
- BEFORE_ORIGINAL_FILE(tmpnam, libc.so.6);
+ BEFORE_ORIGINAL_FILE(tmpnam, LIBC);
cret = tmpnamp(str);
{
static void (*setbufp)(FILE* stream, char* buf);
- BEFORE_ORIGINAL_FILE(setbuf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(setbuf, LIBC);
setbufp(stream, buf);
{
static void (*setbufferp)(FILE* stream, char* buf, size_t size);
- BEFORE_ORIGINAL_FILE(setbuffer, libc.so.6);
+ BEFORE_ORIGINAL_FILE(setbuffer, LIBC);
setbufferp(stream, buf, size);
{
static int (*setlinebufp)(FILE* stream);
- BEFORE_ORIGINAL_FILE(setlinebuf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(setlinebuf, LIBC);
setlinebufp(stream);
{
static int (*setvbufp)(FILE* stream, char* buf, int mode, size_t size);
- BEFORE_ORIGINAL_FILE(setvbuf, libc.so.6);
+ BEFORE_ORIGINAL_FILE(setvbuf, LIBC);
ret = setvbufp(stream,buf,mode,size);
AFTER_ORIGINAL_FILEP(size, stream, FD_API_OTHER,
"%p, %p, %d, %u", stream, buf, mode, size);