Skip to content

Instantly share code, notes, and snippets.

@groundwater
Last active August 9, 2016 05:30
Show Gist options
  • Select an option

  • Save groundwater/c0fda11aeb037cbde9b80f295c8935d0 to your computer and use it in GitHub Desktop.

Select an option

Save groundwater/c0fda11aeb037cbde9b80f295c8935d0 to your computer and use it in GitHub Desktop.

Revisions

  1. groundwater renamed this gist Aug 9, 2016. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. groundwater created this gist Aug 9, 2016.
    31 changes: 31 additions & 0 deletions trace-ktap.d
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    struct kevent {
    uintptr_t ident; /* identifier for this event */
    int16_t filter; /* filter for event */
    uint16_t flags; /* general flags */
    uint32_t fflags; /* filter-specific flags */
    intptr_t data; /* filter-specific data */
    void *udata; /* opaque user data identifier */
    } kevent;

    ::kevent:entry
    /pid == $target && arg3 != NULL/
    {
    k = arg3;
    }

    ::kevent:return
    /pid == $target && k != NULL/
    {
    x = (struct kevent *) copyin(k, sizeof(kevent));
    printf("FD: %d, Size: %d, Flags: %d, PTR: %d", x->ident, x->data, x->flags, x->filter);
    k = NULL;
    }

    /*
    ::kevent:entry
    /pid == $target && arg1 != NULL/
    {
    x = (struct kevent *) copyin(arg1, sizeof(kevent));
    printf("> Sock: %d, Flags: %d", x->ident, x->flags);
    }
    */