#include <stdlib.h>
#include <errno.h>
+#include "binproto.h"
+
static enum DaOptions _sopt = OPT_FILE;
int open(const char* path, int oflag, ...)
ret = openp(path, oflag, mode);
- AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%s, %d, %d", path, oflag, mode);
+// AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%s, %d, %d", path, oflag, mode);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, ret, FD_API_OPEN, "sdd", path, oflag, mode);
return ret;
}
ret = openatp(fd, path, oflag, mode);
- AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%d, %s, %d, %d", fd, path, oflag, mode);
+// AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%d, %s, %d, %d", fd, path, oflag, mode);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, ret, FD_API_OPEN, "dsdd", fd, path, oflag, mode);
return ret;
}
ret = creatp(path, mode);
- AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%s, %d", path, mode);
+// AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%s, %d", path, mode);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, ret, FD_API_OPEN, "sd", path, mode);
return ret;
}
PRE_PROBEBLOCK_END();
ret = closep(fd);
-
+/*
POST_PROBEBLOCK_BEGIN(LC_RESOURCE, VT_INT, ret, "%d", fd);
POST_PROBEBLOCK_MIDDLE_FD(0, fd, FD_API_CLOSE);
POST_PROBEBLOCK_CALLSTACK_RESOURCE(FD_API_CLOSE);
POST_PROBEBLOCK_END();
+*/
+ POST_PACK_PROBEBLOCK_BEGIN();
+ PREPARE_LOCAL_BUF();
+ PACK_COMMON_BEGIN(MSG_PROBE_RESOURCE, LC_RESOURCE, "d", fd);
+ PACK_COMMON_END(ret, newerrno, blockresult);
+ POST_PACK_PROBEBLOCK_MIDDLE_FD(0, fd, FD_API_CLOSE);
+ POST_PACK_PROBEBLOCK_END();
return ret;
}
ret = accessp(path, amode);
- AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %d", path, amode);
+// AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %d", path, amode);
+
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_PERMISSION, "sd", path, amode);
return ret;
}
ret = faccessatp(fd, path, amode, flag);
- AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION,
- "%d, %s, %d, %d", fd, path, amode, flag);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION,
+// "%d, %s, %d, %d", fd, path, amode, flag);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_PERMISSION, "dsdd", fd, path, amode, flag);
return ret;
}
offret = lseekp(fd, offset, whence);
- AFTER_ORIGINAL_FD_RET(VT_OFF_T, offret, (unsigned int)offset, fd, FD_API_OTHER,
- "%d, %ld, %d", fd, offset, whence);
+// AFTER_ORIGINAL_FD_RET(VT_OFF_T, offret, (unsigned int)offset, fd, FD_API_OTHER,
+// "%d, %ld, %d", fd, offset, whence);
+
+ AFTER_PACK_ORIGINAL_FD(offret, (unsigned int)offset, fd, FD_API_OTHER,
+ "dxd", fd, offset, whence);
return offret;
}
ret = fsyncp(fd);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d", fd);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d", fd);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "d", fd);
return ret;
}
ret = fdatasyncp(fd);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d", fd);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d", fd);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "d", fd);
return ret;
}
ret = truncatep(path, length);
- AFTER_ORIGINAL_NOFD((unsigned int)length, FD_API_DIRECTORY,
- "%s, %ld", path, length);
+// AFTER_ORIGINAL_NOFD((unsigned int)length, FD_API_DIRECTORY,
+// "%s, %ld", path, length);
+
+ AFTER_PACK_ORIGINAL_NOFD(ret, (unsigned int)length, FD_API_DIRECTORY, "sx", path, length);
return ret;
}
ret = ftruncatep(fd, length);
- AFTER_ORIGINAL_FD((unsigned int)length, fd, FD_API_DIRECTORY,
- "%d, %ld", fd, length);
+// AFTER_ORIGINAL_FD((unsigned int)length, fd, FD_API_DIRECTORY,
+// "%d, %ld", fd, length);
+
+ AFTER_PACK_ORIGINAL_FD(ret, (unsigned int)length, fd, FD_API_DIRECTORY, "dx", fd, length);
return ret;
}
ret = mkfifop(path, mode);
- AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %u", path, mode);
+// AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %u", path, mode);
+
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_OTHER, "sd", path, mode);
return ret;
}
ret = mkfifoatp(fd, path, mode);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER,
- "%d, %s, %u", fd, path, mode);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER,
+// "%d, %s, %u", fd, path, mode);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "dsd", fd, path, mode);
return ret;
}
ret = mknodp(path, mode, dev);
- AFTER_ORIGINAL_NOFD(0, FD_API_OTHER,
- "%s, %u, %lu", path, mode, (unsigned long int)dev);
+// AFTER_ORIGINAL_NOFD(0, FD_API_OTHER,
+// "%s, %u, %lu", path, mode, (unsigned long int)dev);
+
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_OTHER,
+ "sdx", path, mode, (unsigned long int)dev);
return ret;
}
ret = mknodatp(fd,path, mode,dev);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER,
- "%d, %s, %u, %lu", fd, path, mode, (unsigned long int)dev);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER,
+// "%d, %s, %u, %lu", fd, path, mode, (unsigned long int)dev);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER,
+ "dsdx", fd, path, mode, (unsigned long int)dev);
return ret;
}
BEFORE_ORIGINAL_FILE(chown, LIBC);
_filepath = (char*)path;
ret = chownp(path, owner, group);
- AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %u, %u", path, owner, group);
+// AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %u, %u", path, owner, group);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_PERMISSION, "sdd", path, owner, group);
return ret;
}
BEFORE_ORIGINAL_FILE(fchownat, LIBC);
_filepath = (char*)path;
ret = fchownatp(fd, path, owner, group, flag);
- AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION,
- "%d, %s, %u, %u, %d", fd, path, owner, group, flag);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION,
+// "%d, %s, %u, %u, %d", fd, path, owner, group, flag);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_PERMISSION,
+ "dsddd", fd, path, owner, group, flag);
return ret;
}
BEFORE_ORIGINAL_FILE(fchown, LIBC);
ret = fchownp(fd, owner, group);
- AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION, "%d, %u, %u", fd, owner, group);
+// AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION, "%d, %u, %u", fd, owner, group);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_PERMISSION, "ddd", fd, owner, group);
return ret;
}
BEFORE_ORIGINAL_FILE(lchown, LIBC);
_filepath = (char*)path;
ret = lchownp(path, owner, group);
- AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %u, %u", path, owner, group);
+// AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %u, %u", path, owner, group);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_PERMISSION, "sdd", path, owner, group);
return ret;
}
BEFORE_ORIGINAL_FILE(lockf, LIBC);
ret = lockfp(fd, function, size);
- AFTER_ORIGINAL_FD((unsigned int)size, fd, FD_API_PERMISSION,
- "%d, %d, %ld", fd, function, size);
+ // AFTER_ORIGINAL_FD((unsigned int)size, fd, FD_API_PERMISSION,
+ // "%d, %d, %ld", fd, function, size);
+ AFTER_PACK_ORIGINAL_FD(ret, (unsigned int)size, fd, FD_API_PERMISSION,
+ "ddx", fd, function, size);
return ret;
}
BEFORE_ORIGINAL_FILE(chmod, LIBC);
_filepath = (char*)path;
ret = chmodp(path, mode);
- AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %u", path, mode);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_PERMISSION, "%s, %u", path, mode);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_PERMISSION, "sd", path, mode);
return ret;
}
BEFORE_ORIGINAL_FILE(fchmodat, LIBC);
_filepath = (char*)path;
ret = fchmodatp(fd, path, mode, flag);
- AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION,
- "%d, %s, %u, %d", fd, path, mode, flag);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION,
+ // "%d, %s, %u, %d", fd, path, mode, flag);
+ AFTER_PACK_ORIGINAL_FD(ret,0, fd, FD_API_PERMISSION,
+ "dsdd", fd, path, mode, flag);
return ret;
}
BEFORE_ORIGINAL_FILE(fchmod, LIBC);
ret = fchmodp(fd, mode);
- AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION, "%d, %u", fd, mode);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_PERMISSION, "%d, %u", fd, mode);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_PERMISSION, "dd", fd, mode);
return ret;
}
sret = preadp(fd, buf, nbyte, offset);
- AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_READ,
- "%d, %p, %u, %ld", fd, buf, nbyte, offset);
+ // AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_READ,
+ // "%d, %p, %u, %ld", fd, buf, nbyte, offset);
+
+ AFTER_PACK_ORIGINAL_FD(sret, (unsigned int)sret, fd, FD_API_READ,
+ "dpdx", fd, buf, nbyte, offset);
return sret;
}
sret = readp(fd, buf, nbyte);
- AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_READ,
- "%d, %p, %u", fd, buf, nbyte);
+ // AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_READ,
+ // "%d, %p, %u", fd, buf, nbyte);
+
+ AFTER_PACK_ORIGINAL_FD(sret, (unsigned int)sret, fd, FD_API_READ,
+ "dpd", fd, buf, nbyte);
return sret;
}
sret = pwritep(fd, buf, nbyte, offset);
- AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_WRITE,
- "%d, %p, %u, %ld", fd, buf, nbyte, offset);
+ // AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_WRITE,
+ // "%d, %p, %u, %ld", fd, buf, nbyte, offset);
+
+ AFTER_PACK_ORIGINAL_FD(sret, (unsigned int)sret, fd, FD_API_WRITE,
+ "dpdx", fd, buf, nbyte, offset);
return sret;
}
sret = writep(fd, buf, nbyte);
- AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_WRITE,
- "%d, %p, %u", fd, buf, nbyte);
+ // AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_WRITE,
+ // "%d, %p, %u", fd, buf, nbyte);
+
+ AFTER_PACK_ORIGINAL_FD(sret, (unsigned int)sret, fd, FD_API_WRITE,
+ "dpd", fd, buf, nbyte);
return sret;
}
BEFORE_ORIGINAL_FILE(readv, LIBC);
sret = readvp(fd,iov,iovcnt);
- AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_READ,
- "%d, %p, %d", fd, iov, iovcnt);
+ // AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, (unsigned int)sret, fd, FD_API_READ,
+ // "%d, %p, %d", fd, iov, iovcnt);
+
+ AFTER_PACK_ORIGINAL_FD(sret, (unsigned int)sret, fd, FD_API_READ,
+ "dpd", fd, iov, iovcnt);
return sret;
}
BEFORE_ORIGINAL_FILE(rmdir, LIBC);
_filepath = (char*)path;
ret = rmdirp(path);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", path);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", path);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "s", path);
return ret;
}
BEFORE_ORIGINAL_FILE(fchdir, LIBC);
ret = fchdirp(fd);
- AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%d", fd);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%d", fd);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_DIRECTORY, "d", fd);
return ret;
}
BEFORE_ORIGINAL_FILE(chdir, LIBC);
_filepath = (char*)path;
ret = chdirp(path);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", path);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", path);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "s", path);
return ret;
}
BEFORE_ORIGINAL_FILE(link, LIBC);
_filepath = (char*)path1;
ret = linkp(path1, path2);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", path1, path2);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", path1, path2);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "ss", path1, path2);
return ret;
}
BEFORE_ORIGINAL_FILE(linkat, LIBC);
_filepath = (char*)path1;
ret = linkatp(fd1, path1, fd2, path2, flag);
- AFTER_ORIGINAL_FD(0, fd2, FD_API_DIRECTORY,
- "%d, %s, %d, %s, %d", fd1, path2, fd2, path2, flag);
+ // AFTER_ORIGINAL_FD(0, fd2, FD_API_DIRECTORY,
+ // "%d, %s, %d, %s, %d", fd1, path2, fd2, path2, flag);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd2, FD_API_DIRECTORY,
+ "dsdsd", fd1, path2, fd2, path2, flag);
return ret;
}
BEFORE_ORIGINAL_FILE(unlink, LIBC);
_filepath = (char*)path;
ret = unlinkp(path);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", path);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", path);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "s", path);
return ret;
}
BEFORE_ORIGINAL_FILE(unlinkat, LIBC);
_filepath = (char*)path;
ret = unlinkatp(fd, path, flag);
- AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%d, %s, %d", fd, path, flag);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%d, %s, %d", fd, path, flag);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_DIRECTORY, "dsd", fd, path, flag);
return ret;
}
BEFORE_ORIGINAL_FILE(symlink, LIBC);
_filepath = (char*)path1;
ret = symlinkp(path1, path2);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", path1, path2);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", path1, path2);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "ss", path1, path2);
return ret;
}
BEFORE_ORIGINAL_FILE(symlinkat, LIBC);
_filepath = (char*)path1;
ret = symlinkatp(path1, fd, path2);
- AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%s, %d, %s", path1, fd, path2);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%s, %d, %s", path1, fd, path2);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_DIRECTORY, "sds", path1, fd, path2);
return ret;
}
sret = readlinkp(path, buf, bufsize);
- AFTER_ORIGINAL_NOFD_RET(VT_SSIZE_T, sret, bufsize, FD_API_DIRECTORY,
- "%s, %s, %u", path, buf, bufsize);
+ // AFTER_ORIGINAL_NOFD_RET(VT_SSIZE_T, sret, bufsize, FD_API_DIRECTORY,
+ // "%s, %s, %u", path, buf, bufsize);
+
+ AFTER_PACK_ORIGINAL_NOFD(sret, bufsize, FD_API_DIRECTORY,
+ "ssd", path, buf, bufsize);
return sret;
}
sret = readlinkatp(fd, path, buf, bufsize);
- AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, bufsize, fd, FD_API_DIRECTORY,
- "%d, %s, %s, %u", fd, path, buf, bufsize);
+ // AFTER_ORIGINAL_FD_RET(VT_SSIZE_T, sret, bufsize, fd, FD_API_DIRECTORY,
+ // "%d, %s, %s, %u", fd, path, buf, bufsize);
+
+ AFTER_PACK_ORIGINAL_FD(sret, bufsize, fd, FD_API_DIRECTORY,
+ "dssd", fd, path, buf, bufsize);
return sret;
}
BEFORE_ORIGINAL_FILE(mkdir, LIBC);
_filepath = (char*)path;
ret = mkdirp(path, mode);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %u", path, mode);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %u", path, mode);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "sd", path, mode);
return ret;
}
BEFORE_ORIGINAL_FILE(mkdirat, LIBC);
_filepath = (char*)path;
ret = mkdiratp(fd, path, mode);
- AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%d, %s, %u", fd, path, mode);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_DIRECTORY, "%d, %s, %u", fd, path, mode);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_DIRECTORY, "dsd", fd, path, mode);
return ret;
}
BEFORE_ORIGINAL_FILE(closedir, LIBC);
ret = closedirp(dirp);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%p", dirp);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%p", dirp);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "p", dirp);
return ret;
}
dret = fdopendirp(fd);
- AFTER_ORIGINAL_FD_RET(VT_PTR, dret, 0, fd, FD_API_DIRECTORY, "%d", fd);
+ // AFTER_ORIGINAL_FD_RET(VT_PTR, dret, 0, fd, FD_API_DIRECTORY, "%d", fd);
+
+ AFTER_PACK_ORIGINAL_FD(dret, 0, fd, FD_API_DIRECTORY, "d", fd);
return dret;
}
dret = opendirp(dirname);
- AFTER_ORIGINAL_NOFD_RET(VT_PTR, dret, 0, FD_API_DIRECTORY, "%s", dirname);
+ // AFTER_ORIGINAL_NOFD_RET(VT_PTR, dret, 0, FD_API_DIRECTORY, "%s", dirname);
+
+ AFTER_PACK_ORIGINAL_NOFD(dret, 0, FD_API_DIRECTORY, "s", dirname);
return dret;
}
dret = readdirp(dirp);
- AFTER_ORIGINAL_NOFD_RET(VT_PTR, dret, 0, FD_API_DIRECTORY, "%p", dirp);
+ // AFTER_ORIGINAL_NOFD_RET(VT_PTR, dret, 0, FD_API_DIRECTORY, "%p", dirp);
+
+ AFTER_PACK_ORIGINAL_NOFD(dret, 0, FD_API_DIRECTORY, "p", dirp);
return dret;
}
BEFORE_ORIGINAL_FILE(readdir_r, LIBC);
ret = readdir_rp(dirp, entry, result);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%p, %p, %p", dirp, entry, result);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%p, %p, %p", dirp, entry, result);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "ppp", dirp, entry, result);
return ret;
}
rewinddirp(dirp);
- AFTER_ORIGINAL_NOFD_RET(VT_NULL, NULL, 0, FD_API_DIRECTORY, "%p", dirp);
+ // AFTER_ORIGINAL_NOFD_RET(VT_NULL, NULL, 0, FD_API_DIRECTORY, "%p", dirp);
+ AFTER_PACK_ORIGINAL_NOFD(0, 0, FD_API_DIRECTORY, "p", dirp);
}
void seekdir(DIR *dirp, long loc)
seekdirp(dirp, loc);
- AFTER_ORIGINAL_NOFD_RET(VT_NULL, NULL, 0, FD_API_DIRECTORY,
- "%p, %ld", dirp, loc);
+ // AFTER_ORIGINAL_NOFD_RET(VT_NULL, NULL, 0, FD_API_DIRECTORY,
+ // "%p, %ld", dirp, loc);
+
+ AFTER_PACK_ORIGINAL_NOFD(0, 0, FD_API_DIRECTORY, "px", dirp, loc);
}
long telldir(DIR *dirp)
lret = telldirp(dirp);
- AFTER_ORIGINAL_NOFD_RET(VT_LONG, lret, 0, FD_API_DIRECTORY, "%p", dirp);
+ // AFTER_ORIGINAL_NOFD_RET(VT_LONG, lret, 0, FD_API_DIRECTORY, "%p", dirp);
+
+ AFTER_PACK_ORIGINAL_NOFD(lret, 0, FD_API_DIRECTORY, "p", dirp);
return lret;
}
ret = fcntlp(fd, cmd, arg);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %d, %d", fd, cmd, arg);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %d, %d", fd, cmd, arg);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "ddd", fd, cmd, arg);
return ret;
}
ret = dupp(fd);
- AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%d", fd);
+ // AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%d", fd);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, ret, FD_API_OPEN, "d", fd);
return ret;
}
ret = dup2p(fd, fd2);
- AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%d, %d", fd, fd2);
+ // AFTER_ORIGINAL_FD(0, ret, FD_API_OPEN, "%d, %d", fd, fd2);
+
+ AFTER_PACK_ORIGINAL_FD(ret, 0, ret, FD_API_OPEN, "dd", fd, fd2);
return ret;
}
BEFORE_ORIGINAL_FILE(fstat, LIBC);
ret = fstatp(fd, buf);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %p", fd, buf);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %p", fd, buf);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "dp", fd, buf);
return ret;
}
BEFORE_ORIGINAL_FILE(stat, LIBC);
_filepath = (char*)path;
ret = statp(path, buf);
- AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, buf);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, buf);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_OTHER, "sp", path, buf);
return ret;
}
BEFORE_ORIGINAL_FILE(fstatat, LIBC);
_filepath = (char*)path;
ret = fstatatp(fd, path, buf, flag);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %s, %p, %d", fd, path, buf, flag);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %s, %p, %d", fd, path, buf, flag);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "dspd", fd, path, buf, flag);
return ret;
}
BEFORE_ORIGINAL_FILE(lstat, LIBC);
_filepath = (char*)path;
ret = lstatp(path, buf);
- AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, buf);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, buf);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_OTHER, "sp", path, buf);
return ret;
}
BEFORE_ORIGINAL_FILE(futimens, LIBC);
ret = futimensp(fd, times);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %p", fd, times);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER, "%d, %p", fd, times);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "dp", fd, times);
return ret;
}
BEFORE_ORIGINAL_FILE(utimensat, LIBC);
_filepath = (char*)path;
ret = utimensatp(fd, path, times, flag);
- AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER,
- "%d, %s, %p, %d", fd, path, times, flag);
+ // AFTER_ORIGINAL_FD(0, fd, FD_API_OTHER,
+ // "%d, %s, %p, %d", fd, path, times, flag);
+ AFTER_PACK_ORIGINAL_FD(ret, 0, fd, FD_API_OTHER, "dspd", fd, path, times, flag);
return ret;
}
BEFORE_ORIGINAL_FILE(utimes, LIBC);
_filepath = (char*)path;
ret = utimesp(path, times);
- AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, times);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, times);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_OTHER, "sp", path, times);
return ret;
}
BEFORE_ORIGINAL_FILE(utime, LIBC);
_filepath = (char*)path;
ret = utimep(path, times);
- AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, times);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_OTHER, "%s, %p", path, times);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_OTHER, "sp", path, times);
return ret;
}
#include "dahelper.h"
#include "da_io.h"
+#include "binproto.h"
+
static enum DaOptions _sopt = OPT_FILE;
FILE* fopen(const char* filename, const char* mode)
fret = fopenp(filename, mode);
- AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN, "%s, %s", filename, mode);
+ //AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN, "%s, %s", filename, mode);
+
+ AFTER_PACK_ORIGINAL_FILEP(fret, 0, fret, FD_API_OPEN, "ss", filename, mode);
return fret;
}
fret = freopenp(filename, mode, stream);
- AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN,
- "%s, %s, %p", filename, mode, stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN,
+ // "%s, %s, %p", filename, mode, stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(fret, 0, fret, FD_API_OPEN, "ssp", filename, mode, stream);
return fret;
}
fret = fdopenp(fildes, mode);
- AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN, "%d, %s", fildes, mode);
+ // AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN, "%d, %s", fildes, mode);
+
+ AFTER_PACK_ORIGINAL_FILEP(fret, 0, fret, FD_API_OPEN, "ds", fildes, mode);
return fret;
}
BEFORE_ORIGINAL_FILE(fflush, LIBC);
ret = fflushp(stream);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "p", stream);
return ret;
}
PRE_PROBEBLOCK_END();
ret = fclosep(stream);
-
+/*
POST_PROBEBLOCK_BEGIN(LC_RESOURCE, VT_INT, ret, "%p", stream);
POST_PROBEBLOCK_MIDDLE_FD(0, _fd, FD_API_CLOSE);
POST_PROBEBLOCK_CALLSTACK_RESOURCE(FD_API_CLOSE);
POST_PROBEBLOCK_END();
+*/
+ POST_PACK_PROBEBLOCK_BEGIN();
+ PREPARE_LOCAL_BUF();
+ PACK_COMMON_BEGIN(MSG_PROBE_RESOURCE, LC_RESOURCE, "p", stream);
+ PACK_COMMON_END(ret, newerrno, blockresult);
+ POST_PACK_PROBEBLOCK_MIDDLE_FD(0, _fd, FD_API_CLOSE);
+ POST_PACK_PROBEBLOCK_END();
return ret;
}
BEFORE_ORIGINAL_FILE(remove, LIBC);
_filepath = (char*)filename;
ret = removep(filename);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", filename);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s", filename);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "s", filename);
return ret;
}
BEFORE_ORIGINAL_FILE(rename, LIBC);
_filepath = (char*)newname;
ret = renamep(oldname, newname);
- AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", oldname, newname);
+ // AFTER_ORIGINAL_NOFD(0, FD_API_DIRECTORY, "%s, %s", oldname, newname);
+ AFTER_PACK_ORIGINAL_NOFD(ret, 0, FD_API_DIRECTORY, "ss", oldname, newname);
return ret;
}
BEFORE_ORIGINAL_FILE_NOFILTER(tmpfile, LIBC);
_filepath = "<temp file>";
fret = tmpfilep();
-
- AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN, "%s", "");
-
+ // AFTER_ORIGINAL_FILEP_RET(VT_PTR, fret, 0, fret, FD_API_OPEN, "%s", "");
+ AFTER_PACK_ORIGINAL_FILEP(fret, 0, fret, FD_API_OPEN, "s", "");
return fret;
}
BEFORE_ORIGINAL_FILE(fgetpos, LIBC);
ret = fgetposp(stream, position);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p, %p", stream, position);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p, %p", stream, position);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "pp", stream, position);
return ret;
}
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);
+ // AFTER_ORIGINAL_FILEP((unsigned int)offset, stream, FD_API_OTHER,
+ // "%p, %ld, %d", stream, offset, origin);
+ AFTER_PACK_ORIGINAL_FILEP(ret, (unsigned int)offset, stream, FD_API_OTHER,
+ "pxd", stream, offset, origin);
return ret;
}
BEFORE_ORIGINAL_FILE(fsetpos, LIBC);
ret = fsetposp(stream, pos);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p, %p", stream, pos);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p, %p", stream, pos);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "pp", stream, pos);
return ret;
}
lret = ftellp(stream);
- AFTER_ORIGINAL_FILEP_RET(VT_LONG, lret, 0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_LONG, lret, 0, stream, FD_API_OTHER, "%p", stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(lret, 0, stream, FD_API_OTHER, "p", stream);
return lret;
}
rewindp(stream);
- AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER, "%p", stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(0, 0, stream, FD_API_OTHER, "p", stream);
}
void clearerr(FILE* stream)
clearerrp(stream);
- AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER, "%p", stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(0, 0, stream, FD_API_OTHER, "p", stream);
}
int feof(FILE* stream)
BEFORE_ORIGINAL_FILE(feof, LIBC);
ret = feofp(stream);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "p", stream);
return ret;
}
BEFORE_ORIGINAL_FILE(ferror, LIBC);
ret = ferrorp(stream);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "p", stream);
return ret;
}
BEFORE_ORIGINAL_FILE(fileno, LIBC);
ret = filenop(stream);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%p", stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "p", stream);
return ret;
}
perrorp(string);
- AFTER_ORIGINAL_NOFD_RET(VT_NULL, NULL, 0, FD_API_OTHER, "%s", string);
+ // AFTER_ORIGINAL_NOFD_RET(VT_NULL, NULL, 0, FD_API_OTHER, "%s", string);
+
+ AFTER_PACK_ORIGINAL_NOFD(0, 0, FD_API_OTHER, "s", string);
}
// *******************************************************************
BEFORE_ORIGINAL_FILE(vfprintf, LIBC);
ret = vfprintfp(stream, format, arg);
- AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%p, %s", stream, format);
+ // AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%p, %s", stream, format);
+ AFTER_PACK_ORIGINAL_FILEP(ret, ret, stream, FD_API_WRITE, "ps", stream, format);
return ret;
}
BEFORE_ORIGINAL_FILE(vfscanf, LIBC);
ret = vfscanfp(stream, format, arg);
- AFTER_ORIGINAL_FILEP(ret, stream, FD_API_READ, "%p, %s", stream, format);
+ // AFTER_ORIGINAL_FILEP(ret, stream, FD_API_READ, "%p, %s", stream, format);
+ AFTER_PACK_ORIGINAL_FILEP(ret, ret, stream, FD_API_READ, "ps", stream, format);
return ret;
}
BEFORE_ORIGINAL_FILE(fgetc, LIBC);
ret = fgetcp(stream);
- AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_READ, "%p", stream);
+ // AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_READ, "%p", stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, (ret == EOF ? 0 : 1), stream, FD_API_READ, "p", stream);
return ret;
}
cret = fgetsp(str, size, stream);
- AFTER_ORIGINAL_FILEP_RET(VT_STR, cret, (ret == NULL ? 0 : strlen(cret)),
- stream, FD_API_READ, "%s, %d, %p", str, size, stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_STR, cret, (ret == NULL ? 0 : strlen(cret)),
+ // stream, FD_API_READ, "%s, %d, %p", str, size, stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(cret, (ret == NULL ? 0 : strlen(cret)),
+ stream, FD_API_READ, "sdp", str, size, stream);
return cret;
}
BEFORE_ORIGINAL_FILE(fputc, LIBC);
ret = fputcp(character, stream);
- AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_WRITE,
- "%d, %p", character, stream);
+ // AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_WRITE,
+ // "%d, %p", character, stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, (ret == EOF ? 0 : 1), stream, FD_API_WRITE,
+ "dp", character, stream);
return ret;
}
BEFORE_ORIGINAL_FILE(fputs, LIBC);
ret = fputsp(str, stream);
- AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%s, %p", str, stream);
+ // AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%s, %p", str, stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, ret, stream, FD_API_WRITE, "sp", str, stream);
return ret;
}
BEFORE_ORIGINAL_FILE(getc, LIBC);
ret = getcp(stream);
- AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_READ, "%p", stream);
+ // AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_READ, "%p", stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, (ret == EOF ? 0 : 1), stream, FD_API_READ, "p", stream);
return ret;
}
BEFORE_ORIGINAL_FILE(putc, LIBC);
ret = putcp(character, stream);
- AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_WRITE,
- "%d, %p", character, stream);
+ // AFTER_ORIGINAL_FILEP((ret == EOF ? 0 : 1), stream, FD_API_WRITE,
+ // "%d, %p", character, stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, (ret == EOF ? 0 : 1), stream, FD_API_WRITE,
+ "dp", character, stream);
return ret;
}
BEFORE_ORIGINAL_FILE(ungetc, LIBC);
ret = ungetcp(character, stream);
- AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%d, %p", character, stream);
+ // AFTER_ORIGINAL_FILEP(0, stream, FD_API_OTHER, "%d, %p", character, stream);
+ AFTER_PACK_ORIGINAL_FILEP(ret, 0, stream, FD_API_OTHER, "dp", character, stream);
return ret;
}
tret = freadp(ptr, size, count, stream);
- AFTER_ORIGINAL_FILEP_RET(VT_SIZE_T, tret, 0, stream, FD_API_READ,
- "%p, %u, %u, %p", ptr, size, count, stream);
-
+ // AFTER_ORIGINAL_FILEP_RET(VT_SIZE_T, tret, 0, stream, FD_API_READ,
+ // "%p, %u, %u, %p", ptr, size, count, stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(tret, 0, stream, FD_API_READ,
+ "pxxp", ptr, size, count, stream);
+
return tret;
}
tret = fwritep(ptr, size, count, stream);
- AFTER_ORIGINAL_FILEP_RET(VT_SIZE_T, tret, 0, stream, FD_API_WRITE,
- "%p, %u, %u, %p", ptr, size, count, stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_SIZE_T, tret, 0, stream, FD_API_WRITE,
+ // "%p, %u, %u, %p", ptr, size, count, stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(tret, 0, stream, FD_API_WRITE,
+ "pxxp", ptr, size, count, stream);
return tret;
}
va_start(arg, format);
ret = vfprintfp(stream, format, arg);
- AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%p, %s, ...", stream, format);
+ // AFTER_ORIGINAL_FILEP(ret, stream, FD_API_WRITE, "%p, %s, ...", stream, format);
+ AFTER_PACK_ORIGINAL_FILEP(ret, ret, stream, FD_API_WRITE, "ps", stream, format);
va_end(arg);
return ret;
va_start(arg, format);
ret = vfscanfp(stream, format, arg);
- AFTER_ORIGINAL_FILEP(ret, stream, FD_API_READ, "%p, %s, ...", stream, format);
+ // AFTER_ORIGINAL_FILEP(ret, stream, FD_API_READ, "%p, %s, ...", stream, format);
+ AFTER_PACK_ORIGINAL_FILEP(ret, ret, stream, FD_API_READ, "ps", stream, format);
va_end(arg);
return ret;
va_start(arg, format);
ret = vprintfp(format, arg);
- AFTER_ORIGINAL_NOFD(ret, FD_API_WRITE, "%s,...", format);
+ // AFTER_ORIGINAL_NOFD(ret, FD_API_WRITE, "%s,...", format);
+ AFTER_PACK_ORIGINAL_NOFD(ret, ret, FD_API_WRITE, "s", format);
va_end(arg);
return ret;
va_start(arg, format);
ret = vscanfp(format, arg);
- AFTER_ORIGINAL_NOFD(ret, FD_API_READ, "%s,...", format);
+ // AFTER_ORIGINAL_NOFD(ret, FD_API_READ, "%s,...", format);
+ AFTER_PACK_ORIGINAL_NOFD(ret, ret, FD_API_READ, "s", format);
va_end(arg);
return ret;
BEFORE_ORIGINAL_FILE(getchar, LIBC);
ret = getcharp();
- AFTER_ORIGINAL_NOFD((ret == EOF ? 0 : 1), FD_API_READ, "%s", "");
+ // AFTER_ORIGINAL_NOFD((ret == EOF ? 0 : 1), FD_API_READ, "%s", "");
+ AFTER_PACK_ORIGINAL_NOFD(ret, (ret == EOF ? 0 : 1), FD_API_READ, "s", "");
return ret;
}
BEFORE_ORIGINAL_FILE(putchar, LIBC);
ret = putcharp(c);
- AFTER_ORIGINAL_NOFD((ret == EOF ? 0 : 1), FD_API_WRITE, "%d", c);
+ // AFTER_ORIGINAL_NOFD((ret == EOF ? 0 : 1), FD_API_WRITE, "%d", c);
+ AFTER_PACK_ORIGINAL_NOFD(ret, (ret == EOF ? 0 : 1), FD_API_WRITE, "d", c);
return ret;
}
cret = getsp(str);
- AFTER_ORIGINAL_NOFD_RET(VT_STR, cret, strlen(cret), FD_API_READ, "%s", str);
+ // AFTER_ORIGINAL_NOFD_RET(VT_STR, cret, strlen(cret), FD_API_READ, "%s", str);
+
+ AFTER_PACK_ORIGINAL_NOFD(cret, strlen(cret), FD_API_READ, "s", str);
return cret;
}
BEFORE_ORIGINAL_FILE(puts, LIBC);
ret = putsp(str);
- AFTER_ORIGINAL_NOFD(ret, FD_API_WRITE, "%s", str);
+ // AFTER_ORIGINAL_NOFD(ret, FD_API_WRITE, "%s", str);
+ AFTER_PACK_ORIGINAL_NOFD(ret, ret, FD_API_WRITE, "s", str);
return ret;
}
#endif
cret = tmpnamp(str);
- AFTER_ORIGINAL_NOFD_RET(VT_STR, cret, 0, FD_API_OTHER, "%s", str);
+ // AFTER_ORIGINAL_NOFD_RET(VT_STR, cret, 0, FD_API_OTHER, "%s", str);
+
+ AFTER_PACK_ORIGINAL_NOFD(cret, 0, FD_API_OTHER, "s", str);
return cret;
}
setbufp(stream, buf);
- AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER,
- "%p, %p", stream, buf);
+ // AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER,
+ // "%p, %p", stream, buf);
+
+ AFTER_PACK_ORIGINAL_FILEP(0, 0, stream, FD_API_OTHER, "pp", stream, buf);
}
void setbuffer(FILE* stream, char* buf, size_t size)
setbufferp(stream, buf, size);
- AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, size, stream, FD_API_OTHER,
- "%p, %p, %u", stream, buf, size);
+ // AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, size, stream, FD_API_OTHER,
+ // "%p, %p, %u", stream, buf, size);
+
+ AFTER_PACK_ORIGINAL_FILEP(0, size, stream, FD_API_OTHER,
+ "ppx", stream, buf, size);
}
void setlinebuf(FILE* stream)
setlinebufp(stream);
- AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER, "%p", stream);
+ // AFTER_ORIGINAL_FILEP_RET(VT_NULL, NULL, 0, stream, FD_API_OTHER, "%p", stream);
+
+ AFTER_PACK_ORIGINAL_FILEP(0, 0, stream, FD_API_OTHER, "p", stream);
}
int setvbuf(FILE* stream, char* buf, int mode, size_t size)
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);
+ // AFTER_ORIGINAL_FILEP(size, stream, FD_API_OTHER,
+ // "%p, %p, %d, %u", stream, buf, mode, size);
+ AFTER_PACK_ORIGINAL_FILEP(ret, size, stream, FD_API_OTHER,
+ "ppdx", stream, buf, mode, size);
return ret;
}