authorgravatar for devnexen@gmail.comDavid Carlier <devnexen@gmail.com> 2023-05-19 19:40:59+01:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-05-20 11:06:11+03:00
logccfb0d408d5ffb40f77a8ad1fb57f0bb854583ad
tree8809f1d7dfed6f41aa93ba014b90f6a14ccabeed
parent447a30299073ce88b7b26d18d060a345beac5276

std.c: adding ptrace for netbsd.


1 files changed, 52 insertions(+), 0 deletions(-)

lib/std/c/netbsd.zig+52
......@@ -1668,3 +1668,55 @@ pub const sigevent = extern struct {
16681668 sigev_notify_function: ?*const fn (sigval) callconv(.C) void,
16691669 sigev_notify_attributes: ?*pthread_attr_t,
16701670};
1671
1672pub const PTRACE = struct {
1673 pub const FORK = 0x0001;
1674 pub const VFORK = 0x0002;
1675 pub const VFORK_DONE = 0x0004;
1676 pub const LWP_CREATE = 0x0008;
1677 pub const LWP_EXIT = 0x0010;
1678 pub const POSIX_SPAWN = 0x0020;
1679};
1680
1681pub const PT = struct {
1682 pub const TRACE_ME = 0;
1683 pub const READ_I = 1;
1684 pub const READ_D = 2;
1685 pub const WRITE_I = 4;
1686 pub const WRITE_D = 5;
1687 pub const CONTINUE = 7;
1688 pub const KILL = 8;
1689 pub const ATTACH = 9;
1690 pub const DETACH = 10;
1691 pub const IO = 11;
1692 pub const DUMPCORE = 11;
1693 pub const LWPINFO = 12;
1694};
1695
1696pub const ptrace_event = extern struct {
1697 set_event: c_int,
1698};
1699
1700pub const ptrace_state = extern struct {
1701 report_event: c_int,
1702 _option: extern union {
1703 other_pid: pid_t,
1704 lwp: lwpid_t,
1705 },
1706};
1707
1708pub const ptrace_io_desc = extern struct {
1709 op: c_int,
1710 offs: ?*anyopaque,
1711 addr: ?*anyopaque,
1712 len: usize,
1713};
1714
1715pub const PIOD = struct {
1716 pub const READ_D = 1;
1717 pub const WRITE_D = 2;
1718 pub const READ_I = 3;
1719 pub const WRITE_I = 4;
1720};
1721
1722pub extern "c" fn ptrace(request: c_int, pid: pid_t, addr: ?*anyopaque, data: c_int) c_int;