_ptrace.c 330 B

12345678910111213141516171819
  1. #include <lib.h>
  2. #define ptrace _ptrace
  3. #include <unistd.h>
  4. PUBLIC long ptrace(req, pid, addr, data)
  5. int req, pid;
  6. long addr, data;
  7. {
  8. _M.m2_i1 = pid;
  9. _M.m2_i2 = req;
  10. _M.m2_l1 = addr;
  11. _M.m2_l2 = data;
  12. if (_callx(MM, PTRACE) == -1) return(-1L);
  13. if (_M.m2_l2 == -1) {
  14. errno = 0;
  15. return(-1L);
  16. }
  17. return(_M.m2_l2);
  18. }