Lines Matching refs:tcp
38 # include <netinet/tcp.h>
204 printsock(struct tcb *tcp, long addr, int addrlen)
236 if (!verbose(tcp)) {
245 if (umoven(tcp, addr, addrlen, addrbuf.pad) < 0) {
404 print_scm_rights(struct tcb *tcp, size_t cmsg_size, char *ptr, size_t cmsg_len)
418 printfd(tcp, *fds++);
425 print_scm_creds(struct tcb *tcp, size_t cmsg_size, char *ptr, size_t cmsg_len)
438 print_scm_security(struct tcb *tcp, size_t cmsg_size, char *ptr, size_t cmsg_len)
454 printcmsghdr(struct tcb *tcp, unsigned long addr, size_t len)
463 if (!buf || umoven(tcp, addr, len, buf) < 0) {
502 if (print_scm_rights(tcp, cmsg_size, u.ptr, cmsg_len))
506 if (print_scm_creds(tcp, cmsg_size, u.ptr, cmsg_len))
510 if (print_scm_security(tcp, cmsg_size, u.ptr, cmsg_len))
539 do_msghdr(struct tcb *tcp, struct msghdr *msg, unsigned long data_size)
542 printsock(tcp, (long)msg->msg_name, msg->msg_namelen);
545 tprint_iov_upto(tcp, (unsigned long)msg->msg_iovlen,
551 printcmsghdr(tcp, (unsigned long) msg->msg_control,
598 extractmsghdr(struct tcb *tcp, long addr, struct msghdr *msg)
604 if (umove(tcp, addr, &msg32) < 0)
609 if (umove(tcp, addr, msg) < 0)
615 extractmmsghdr(struct tcb *tcp, long addr, unsigned int idx, struct mmsghdr *mmsg)
622 if (umove(tcp, addr, &mmsg32) < 0)
631 if (umove(tcp, addr, mmsg) < 0)
638 printmsghdr(struct tcb *tcp, long addr, unsigned long data_size)
642 if (verbose(tcp) && extractmsghdr(tcp, addr, &msg))
643 do_msghdr(tcp, &msg, data_size);
649 dumpiov_in_msghdr(struct tcb *tcp
653 if (extractmsghdr(tcp, addr, &msg))
654 dumpiov(tcp, msg.msg_iovlen, (long)msg.msg_iov);
658 printmmsghdr(struct tcb *tcp, long addr, unsigned int idx, unsigned long msg_len)
662 if (extractmmsghdr(tcp, addr, idx, &mmsg)) {
664 do_msghdr(tcp, &mmsg.msg_hdr, msg_len ? msg_len : mmsg.msg_len);
672 decode_mmsg(struct tcb *tcp, unsigned long msg_len)
675 if (syserror(tcp)) {
676 tprintf("%#lx", tcp->u_arg[1]);
678 unsigned int len = tcp->u_rval;
685 printmmsghdr(tcp, tcp->u_arg[1], i, msg_len);
690 tprintf(", %u, ", (unsigned int) tcp->u_arg[2]);
692 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
696 dumpiov_in_mmsghdr(struct tcb *tcp, long addr)
698 unsigned int len = tcp->u_rval;
703 if (extractmmsghdr(tcp, addr, i, &mmsg)) {
706 dumpiov(tcp, mmsg.msg_hdr.msg_iovlen,
734 if (entering(tcp)) {
735 printxval(domains, tcp->u_arg[0], "PF_???");
737 tprint_sock_type(tcp->u_arg[1]);
739 switch (tcp->u_arg[0]) {
744 printxval(inet_protocols, tcp->u_arg[2], "IPPROTO_???");
750 printxval(domains, tcp->u_arg[2], "PF_???");
756 printxval(netlink_protocols, tcp->u_arg[2], "NETLINK_???");
761 printxval(bt_protocols, tcp->u_arg[2], "BTPROTO_???");
765 tprintf("%lu", tcp->u_arg[2]);
774 if (entering(tcp)) {
775 printfd(tcp, tcp->u_arg[0]);
777 printsock(tcp, tcp->u_arg[1], tcp->u_arg[2]);
778 tprintf(", %lu", tcp->u_arg[2]);
785 return sys_bind(tcp);
790 if (entering(tcp)) {
791 printfd(tcp, tcp->u_arg[0]);
793 tprintf("%lu", tcp->u_arg[1]);
799 do_sockname(struct tcb *tcp, int flags_arg)
801 if (entering(tcp)) {
802 printfd(tcp, tcp->u_arg[0]);
806 if (!tcp->u_arg[2])
807 tprintf("%#lx, NULL", tcp->u_arg[1]);
810 if (tcp->u_arg[1] == 0 || syserror(tcp)
811 || umove(tcp, tcp->u_arg[2], &len) < 0) {
812 tprintf("%#lx", tcp->u_arg[1]);
814 printsock(tcp, tcp->u_arg[1], len);
817 printnum_int(tcp, tcp->u_arg[2], "%u");
821 printflags(sock_type_flags, tcp->u_arg[flags_arg],
829 do_sockname(tcp, -1);
835 do_sockname(tcp, 3);
841 if (entering(tcp)) {
842 printfd(tcp, tcp->u_arg[0]);
844 printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
845 tprintf(", %lu, ", tcp->u_arg[2]);
847 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
854 if (entering(tcp)) {
855 printfd(tcp, tcp->u_arg[0]);
857 printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
858 tprintf(", %lu, ", tcp->u_arg[2]);
860 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
863 printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
865 tprintf(", %lu", tcp->u_arg[5]);
874 if (entering(tcp)) {
875 printfd(tcp, tcp->u_arg[0]);
877 printmsghdr(tcp, tcp->u_arg[1], (unsigned long) -1L);
880 printflags(msg_flags, tcp->u_arg[2], "MSG_???");
887 if (entering(tcp)) {
889 printfd(tcp, tcp->u_arg[0]);
891 if (!verbose(tcp)) {
893 tcp->u_arg[1], (unsigned int) tcp->u_arg[2]);
894 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
897 if (verbose(tcp))
898 decode_mmsg(tcp, (unsigned long) -1L);
907 if (entering(tcp)) {
908 printfd(tcp, tcp->u_arg[0]);
911 if (syserror(tcp))
912 tprintf("%#lx", tcp->u_arg[1]);
914 printstr(tcp, tcp->u_arg[1], tcp->u_rval);
916 tprintf(", %lu, ", tcp->u_arg[2]);
917 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
926 if (entering(tcp)) {
927 printfd(tcp, tcp->u_arg[0]);
930 if (syserror(tcp)) {
932 tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3],
933 tcp->u_arg[4], tcp->u_arg[5]);
937 printstr(tcp, tcp->u_arg[1], tcp->u_rval);
939 tprintf(", %lu, ", tcp->u_arg[2]);
941 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
943 if (!tcp->u_arg[4] || !tcp->u_arg[5]) {
944 if (tcp->u_arg[4] == 0)
947 tprintf(", %#lx", tcp->u_arg[4]);
948 if (tcp->u_arg[5] == 0)
951 tprintf(", %#lx", tcp->u_arg[5]);
954 if (umove(tcp, tcp->u_arg[5], &fromlen) < 0) {
959 printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
970 if (entering(tcp)) {
971 printfd(tcp, tcp->u_arg[0]);
974 if (syserror(tcp))
975 tprintf("%#lx", tcp->u_arg[1]);
977 printmsghdr(tcp, tcp->u_arg[1], tcp->u_rval);
980 printflags(msg_flags, tcp->u_arg[2], "MSG_???");
990 if (entering(tcp)) {
991 printfd(tcp, tcp->u_arg[0]);
993 if (verbose(tcp)) {
994 sprint_timespec(str, tcp, tcp->u_arg[4]);
995 /* Abusing tcp->auxstr as temp storage.
998 tcp->auxstr = strdup(str);
1000 tprintf("%#lx, %ld, ", tcp->u_arg[1], tcp->u_arg[2]);
1001 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
1003 print_timespec(tcp, tcp->u_arg[4]);
1007 if (verbose(tcp)) {
1008 decode_mmsg(tcp, 0);
1010 tprintf(", %s", tcp->auxstr ? tcp->auxstr : "{...}");
1011 free((void *) tcp->auxstr);
1012 tcp->auxstr = NULL;
1014 if (syserror(tcp))
1016 if (tcp->u_rval == 0) {
1017 tcp->auxstr = "Timeout";
1020 if (!verbose(tcp))
1023 sprint_timespec(stpcpy(str, "left "), tcp, tcp->u_arg[4]);
1024 tcp->auxstr = str;
1035 if (entering(tcp)) {
1036 printfd(tcp, tcp->u_arg[0]);
1038 printxval(shutdown_modes, tcp->u_arg[1], "SHUT_???");
1045 return do_sockname(tcp, -1);
1049 do_pipe(struct tcb *tcp, int flags_arg)
1051 if (exiting(tcp)) {
1052 if (syserror(tcp)) {
1053 tprintf("%#lx", tcp->u_arg[0]);
1057 tprintf("[%lu, %lu]", tcp->u_rval, getrval2(tcp));
1063 if (umove(tcp, tcp->u_arg[0], &fds) < 0)
1064 tprintf("%#lx", tcp->u_arg[0]);
1071 printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
1079 return do_pipe(tcp, -1);
1084 return do_pipe(tcp, 1);
1091 if (entering(tcp)) {
1092 printxval(domains, tcp->u_arg[0], "PF_???");
1094 tprint_sock_type(tcp->u_arg[1]);
1095 tprintf(", %lu", tcp->u_arg[2]);
1097 if (syserror(tcp)) {
1098 tprintf(", %#lx", tcp->u_arg[3]);
1101 if (umoven(tcp, tcp->u_arg[3], sizeof fds, fds) < 0)
1119 print_sockopt_fd_level_name(struct tcb *tcp, int fd, int level, int name)
1121 printfd(tcp, fd);
1163 print_linger(struct tcb *tcp, long addr, int len)
1168 umove(tcp, addr, &linger) < 0) {
1181 print_ucred(struct tcb *tcp, long addr, int len)
1186 umove(tcp, addr, &uc) < 0) {
1199 print_tpacket_stats(struct tcb *tcp, long addr, int len)
1204 umove(tcp, addr, &stats) < 0) {
1218 print_icmp_filter(struct tcb *tcp, long addr, int len)
1223 umove(tcp, addr, &filter) < 0) {
1235 print_getsockopt(struct tcb *tcp, int level, int name, long addr, int len)
1237 if (addr && verbose(tcp))
1243 print_linger(tcp, addr, len);
1248 print_ucred(tcp, addr, len);
1258 print_tpacket_stats(tcp, addr, len);
1268 print_icmp_filter(tcp, addr, len);
1277 if (verbose(tcp)) {
1279 printnum_int(tcp, addr, "%d");
1281 printstr(tcp, addr, len);
1292 if (entering(tcp)) {
1293 print_sockopt_fd_level_name(tcp, tcp->u_arg[0],
1294 tcp->u_arg[1], tcp->u_arg[2]);
1298 if (syserror(tcp) || umove(tcp, tcp->u_arg[4], &len) < 0) {
1300 tcp->u_arg[3], tcp->u_arg[4]);
1302 print_getsockopt(tcp, tcp->u_arg[1], tcp->u_arg[2],
1303 tcp->u_arg[3], len);
1311 print_group_req(struct tcb *tcp, long addr, int len)
1316 umove(tcp, addr, &greq) < 0) {
1361 print_tpacket_req(struct tcb *tcp, long addr, int len)
1366 umove(tcp, addr, &req) < 0) {
1383 print_packet_mreq(struct tcb *tcp, long addr, int len)
1388 umove(tcp, addr, &mreq) < 0) {
1406 print_setsockopt(struct tcb *tcp, int level, int name, long addr, int len)
1408 if (addr && verbose(tcp))
1414 print_linger(tcp, addr, len);
1425 print_group_req(tcp, addr, len);
1438 print_tpacket_req(tcp, addr, len);
1444 print_packet_mreq(tcp, addr, len);
1454 print_icmp_filter(tcp, addr, len);
1463 if (verbose(tcp)) {
1465 printnum_int(tcp, addr, "%d");
1467 printstr(tcp, addr, len);
1478 if (entering(tcp)) {
1479 print_sockopt_fd_level_name(tcp, tcp->u_arg[0],
1480 tcp->u_arg[1], tcp->u_arg[2]);
1481 print_setsockopt(tcp, tcp->u_arg[1], tcp->u_arg[2],
1482 tcptcp->u_arg[4]);