Lines Matching refs:tcp

42 # include <netinet/tcp.h>
161 printsock(struct tcb *tcp, long addr, int addrlen)
187 if (!verbose(tcp)) {
196 if (umoven(tcp, addr, addrlen, addrbuf.pad) < 0) {
212 printpathn(tcp, addr + 2, strlen(addrbuf.sau.sun_path));
215 printpathn(tcp, addr + 3, strlen(addrbuf.sau.sun_path + 1));
296 printstr(tcp, (long) &((struct sockaddr *) addr)->sa_data,
307 printcmsghdr(struct tcb *tcp, unsigned long addr, unsigned long len)
311 if (cmsg == NULL || umoven(tcp, addr, len, (char *) cmsg) < 0) {
336 printfd(tcp, *fds++);
358 do_msghdr(struct tcb *tcp, struct msghdr *msg, unsigned long data_size)
361 printsock(tcp, (long)msg->msg_name, msg->msg_namelen);
364 tprint_iov_upto(tcp, (unsigned long)msg->msg_iovlen,
370 printcmsghdr(tcp, (unsigned long) msg->msg_control,
396 printmsghdr(struct tcb *tcp, long addr, unsigned long data_size)
404 if (umove(tcp, addr, &msg32) < 0) {
417 if (umove(tcp, addr, &msg) < 0) {
421 do_msghdr(tcp, &msg, data_size);
425 printmmsghdr(struct tcb *tcp, long addr, unsigned int idx, unsigned long msg_len)
437 if (umove(tcp, addr, &mmsg32) < 0) {
453 if (umove(tcp, addr, &mmsg) < 0) {
459 do_msghdr(tcp, &mmsg.msg_hdr, msg_len ? msg_len : mmsg.msg_len);
464 decode_mmsg(struct tcb *tcp, unsigned long msg_len)
467 if (syserror(tcp)) {
468 tprintf("%#lx", tcp->u_arg[1]);
470 unsigned int len = tcp->u_rval;
477 printmmsghdr(tcp, tcp->u_arg[1], i, msg_len);
482 tprintf(", %u, ", (unsigned int) tcp->u_arg[2]);
484 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
494 tprint_sock_type(struct tcb *tcp, int flags)
509 sys_socket(struct tcb *tcp)
511 if (entering(tcp)) {
512 printxval(domains, tcp->u_arg[0], "PF_???");
514 tprint_sock_type(tcp, tcp->u_arg[1]);
516 switch (tcp->u_arg[0]) {
521 printxval(inet_protocols, tcp->u_arg[2], "IPPROTO_???");
527 printxval(domains, tcp->u_arg[2], "PF_???");
533 printxval(netlink_protocols, tcp->u_arg[2], "NETLINK_???");
537 tprintf("%lu", tcp->u_arg[2]);
545 sys_bind(struct tcb *tcp)
547 if (entering(tcp)) {
548 printfd(tcp, tcp->u_arg[0]);
550 printsock(tcp, tcp->u_arg[1], tcp->u_arg[2]);
551 tprintf(", %lu", tcp->u_arg[2]);
557 sys_connect(struct tcb *tcp)
559 return sys_bind(tcp);
563 sys_listen(struct tcb *tcp)
565 if (entering(tcp)) {
566 printfd(tcp, tcp->u_arg[0]);
568 tprintf("%lu", tcp->u_arg[1]);
574 do_accept(struct tcb *tcp, int flags_arg)
576 if (entering(tcp)) {
577 printfd(tcp, tcp->u_arg[0]);
581 if (!tcp->u_arg[2])
582 tprintf("%#lx, NULL", tcp->u_arg[1]);
585 if (tcp->u_arg[1] == 0 || syserror(tcp)
586 || umove(tcp, tcp->u_arg[2], &len) < 0) {
587 tprintf("%#lx", tcp->u_arg[1]);
589 printsock(tcp, tcp->u_arg[1], len);
592 printnum_int(tcp, tcp->u_arg[2], "%u");
596 printflags(sock_type_flags, tcp->u_arg[flags_arg],
603 sys_accept(struct tcb *tcp)
605 return do_accept(tcp, -1);
609 sys_accept4(struct tcb *tcp)
611 return do_accept(tcp, 3);
615 sys_send(struct tcb *tcp)
617 if (entering(tcp)) {
618 printfd(tcp, tcp->u_arg[0]);
620 printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
621 tprintf(", %lu, ", tcp->u_arg[2]);
623 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
629 sys_sendto(struct tcb *tcp)
631 if (entering(tcp)) {
632 printfd(tcp, tcp->u_arg[0]);
634 printstr(tcp, tcp->u_arg[1], tcp->u_arg[2]);
635 tprintf(", %lu, ", tcp->u_arg[2]);
637 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
640 printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
642 tprintf(", %lu", tcp->u_arg[5]);
650 sys_sendmsg(struct tcb *tcp)
652 if (entering(tcp)) {
653 printfd(tcp, tcp->u_arg[0]);
655 printmsghdr(tcp, tcp->u_arg[1], (unsigned long) -1L);
658 printflags(msg_flags, tcp->u_arg[2], "MSG_???");
664 sys_sendmmsg(struct tcb *tcp)
666 if (entering(tcp)) {
668 printfd(tcp, tcp->u_arg[0]);
670 if (!verbose(tcp)) {
672 tcp->u_arg[1], (unsigned int) tcp->u_arg[2]);
673 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
676 if (verbose(tcp))
677 decode_mmsg(tcp, (unsigned long) -1L);
685 sys_recv(struct tcb *tcp)
687 if (entering(tcp)) {
688 printfd(tcp, tcp->u_arg[0]);
691 if (syserror(tcp))
692 tprintf("%#lx", tcp->u_arg[1]);
694 printstr(tcp, tcp->u_arg[1], tcp->u_rval);
696 tprintf(", %lu, ", tcp->u_arg[2]);
697 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
703 sys_recvfrom(struct tcb *tcp)
707 if (entering(tcp)) {
708 printfd(tcp, tcp->u_arg[0]);
711 if (syserror(tcp)) {
713 tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3],
714 tcp->u_arg[4], tcp->u_arg[5]);
718 printstr(tcp, tcp->u_arg[1], tcp->u_rval);
720 tprintf(", %lu, ", tcp->u_arg[2]);
722 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
724 if (!tcp->u_arg[4] || !tcp->u_arg[5]) {
725 if (tcp->u_arg[4] == 0)
728 tprintf(", %#lx", tcp->u_arg[4]);
729 if (tcp->u_arg[5] == 0)
732 tprintf(", %#lx", tcp->u_arg[5]);
735 if (umove(tcp, tcp->u_arg[5], &fromlen) < 0) {
740 printsock(tcp, tcp->u_arg[4], tcp->u_arg[5]);
750 sys_recvmsg(struct tcb *tcp)
752 if (entering(tcp)) {
753 printfd(tcp, tcp->u_arg[0]);
756 if (syserror(tcp) || !verbose(tcp))
757 tprintf("%#lx", tcp->u_arg[1]);
759 printmsghdr(tcp, tcp->u_arg[1], tcp->u_rval);
762 printflags(msg_flags, tcp->u_arg[2], "MSG_???");
768 sys_recvmmsg(struct tcb *tcp)
773 if (entering(tcp)) {
774 printfd(tcp, tcp->u_arg[0]);
776 if (verbose(tcp)) {
777 sprint_timespec(str, tcp, tcp->u_arg[4]);
778 /* Abusing tcp->auxstr as temp storage.
781 tcp->auxstr = strdup(str);
783 tprintf("%#lx, %ld, ", tcp->u_arg[1], tcp->u_arg[2]);
784 printflags(msg_flags, tcp->u_arg[3], "MSG_???");
786 print_timespec(tcp, tcp->u_arg[4]);
790 if (verbose(tcp)) {
791 decode_mmsg(tcp, 0);
793 tprintf(", %s", tcp->auxstr ? tcp->auxstr : "{...}");
794 free((void *) tcp->auxstr);
795 tcp->auxstr = NULL;
797 if (syserror(tcp))
799 if (tcp->u_rval == 0) {
800 tcp->auxstr = "Timeout";
803 if (!verbose(tcp))
806 sprint_timespec(stpcpy(str, "left "), tcp, tcp->u_arg[4]);
807 tcp->auxstr = str;
817 sys_shutdown(struct tcb *tcp)
819 if (entering(tcp)) {
820 printfd(tcp, tcp->u_arg[0]);
822 printxval(shutdown_modes, tcp->u_arg[1], "SHUT_???");
828 sys_getsockname(struct tcb *tcp)
830 return sys_accept(tcp);
834 sys_getpeername(struct tcb *tcp)
836 return sys_accept(tcp);
840 do_pipe(struct tcb *tcp, int flags_arg)
842 if (exiting(tcp)) {
843 if (syserror(tcp)) {
844 tprintf("%#lx", tcp->u_arg[0]);
849 if (umoven(tcp, tcp->u_arg[0], sizeof fds, (char *) fds) < 0)
854 tprintf("[%lu, %lu]", tcp->u_rval, getrval2(tcp));
856 tprintf("%#lx", tcp->u_arg[0]);
861 printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
868 sys_pipe(struct tcb *tcp)
870 return do_pipe(tcp, -1);
874 sys_pipe2(struct tcb *tcp)
876 return do_pipe(tcp, 1);
880 sys_socketpair(struct tcb *tcp)
884 if (entering(tcp)) {
885 printxval(domains, tcp->u_arg[0], "PF_???");
887 tprint_sock_type(tcp, tcp->u_arg[1]);
888 tprintf(", %lu", tcp->u_arg[2]);
890 if (syserror(tcp)) {
891 tprintf(", %#lx", tcp->u_arg[3]);
894 if (umoven(tcp, tcp->u_arg[3], sizeof fds, (char *) fds) < 0)
903 sys_getsockopt(struct tcb *tcp)
905 if (entering(tcp)) {
906 printfd(tcp, tcp->u_arg[0]);
908 printxval(socketlayers, tcp->u_arg[1], "SOL_???");
910 switch (tcp->u_arg[1]) {
912 printxval(sockoptions, tcp->u_arg[2], "SO_???");
916 printxval(sockipoptions, tcp->u_arg[2], "IP_???");
921 printxval(sockipv6options, tcp->u_arg[2], "IPV6_???");
926 printxval(sockipxoptions, tcp->u_arg[2], "IPX_???");
931 printxval(sockpacketoptions, tcp->u_arg[2], "PACKET_???");
936 printxval(socktcpoptions, tcp->u_arg[2], "TCP_???");
941 printxval(socksctpoptions, tcp->u_arg[2], "SCTP_???");
948 tprintf("%lu", tcp->u_arg[2]);
954 if (syserror(tcp) || umove(tcp, tcp->u_arg[4], &len) < 0) {
956 tcp->u_arg[3], tcp->u_arg[4]);
960 switch (tcp->u_arg[1]) {
962 switch (tcp->u_arg[2]) {
967 if (umove(tcp,
968 tcp->u_arg[3],
984 if (umove(tcp,
985 tcp->u_arg[3],
1001 switch (tcp->u_arg[2]) {
1006 if (umove(tcp,
1007 tcp->u_arg[3],
1024 printnum_int(tcp, tcp->u_arg[3], "%d");
1027 printstr(tcp, tcp->u_arg[3], len);
1035 static void printicmpfilter(struct tcb *tcp, long addr)
1043 if (syserror(tcp) || !verbose(tcp)) {
1047 if (umove(tcp, addr, &filter) < 0) {
1059 printsockopt(struct tcb *tcp, int level, int name, long addr, int len)
1071 if (umove(tcp, addr, &linger) < 0)
1111 if (umove(tcp, addr, &req) < 0)
1142 printicmpfilter(tcp, addr);
1161 printnum_int(tcp, addr, "%d");
1164 printstr(tcp, addr, len);
1170 sys_setsockopt(struct tcb *tcp)
1172 if (entering(tcp)) {
1173 printfd(tcp, tcp->u_arg[0]);
1175 printsockopt(tcp, tcp->u_arg[1], tcp->u_arg[2],
1176 tcp->u_arg[3], tcp->u_arg[4]);
1177 tprintf(", %lu", tcp->u_arg[4]);