The branch stable/13 has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=d889bc57622cb1f63e0070fc32a5d5736ff0f71d

commit d889bc57622cb1f63e0070fc32a5d5736ff0f71d
Author:     Mark Johnston <ma...@freebsd.org>
AuthorDate: 2021-02-05 16:28:09 +0000
Commit:     Mark Johnston <ma...@freebsd.org>
CommitDate: 2021-02-19 19:54:18 +0000

    truss: Decode sendfile(2) arguments
    
    (cherry picked from commit 90da2c797bfa7639005ed46ab9173feb8bd85ecd)
---
 usr.bin/truss/syscall.h  |  2 ++
 usr.bin/truss/syscalls.c | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/usr.bin/truss/syscall.h b/usr.bin/truss/syscall.h
index 5f8babf4c407..af918fed4f1b 100644
--- a/usr.bin/truss/syscall.h
+++ b/usr.bin/truss/syscall.h
@@ -117,6 +117,8 @@ enum Argtype {
        Procctl,
        Priowhich,
        Ptraceop,
+       Sendfileflags,
+       Sendfilehdtr,
        Quotactlcmd,
        Reboothowto,
        Resource,
diff --git a/usr.bin/truss/syscalls.c b/usr.bin/truss/syscalls.c
index 319f3d8b0793..f52a82ed97c0 100644
--- a/usr.bin/truss/syscalls.c
+++ b/usr.bin/truss/syscalls.c
@@ -478,6 +478,10 @@ static struct syscall decoded_syscalls[] = {
          .args = { { Int, 0 }, { Iovec | IN, 1 }, { Int, 2 },
                    { Sockaddr | IN, 3 }, { Socklent, 4 },
                    { Sctpsndrcvinfo | IN, 5 }, { Msgflags, 6 } } },
+       { .name = "sendfile", .ret_type = 1, .nargs = 7,
+         .args = { { Int, 0 }, { Int, 1 }, { QuadHex, 2 }, { Sizet, 3 },
+                   { Sendfilehdtr, 4 }, { QuadHex | OUT, 5 },
+                   { Sendfileflags, 6 } } },
        { .name = "select", .ret_type = 1, .nargs = 5,
          .args = { { Int, 0 }, { Fd_set, 1 }, { Fd_set, 2 }, { Fd_set, 3 },
                    { Timeval, 4 } } },
@@ -2670,6 +2674,24 @@ print_arg(struct syscall_args *sc, unsigned long *args, 
register_t *retval,
                print_integer_arg(sysdecode_ptrace_request, fp,
                    args[sc->offset]);
                break;
+       case Sendfileflags:
+               print_mask_arg(sysdecode_sendfile_flags, fp, args[sc->offset]);
+               break;
+       case Sendfilehdtr: {
+               struct sf_hdtr hdtr;
+
+               if (get_struct(pid, args[sc->offset], &hdtr, sizeof(hdtr)) !=
+                   -1) {
+                       fprintf(fp, "{");
+                       print_iovec(fp, trussinfo, (uintptr_t)hdtr.headers,
+                           hdtr.hdr_cnt);
+                       print_iovec(fp, trussinfo, (uintptr_t)hdtr.trailers,
+                           hdtr.trl_cnt);
+                       fprintf(fp, "}");
+               } else
+                       print_pointer(fp, args[sc->offset]);
+               break;
+       }
        case Quotactlcmd:
                if (!sysdecode_quotactl_cmd(fp, args[sc->offset]))
                        fprintf(fp, "%#x", (int)args[sc->offset]);
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to