[BACK]Return to ktrstruct.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / kdump

Diff for /src/usr.bin/kdump/ktrstruct.c between version 1.15 and 1.16

version 1.15, 2016/01/06 17:52:18 version 1.16, 2016/01/14 05:27:42
Line 370 
Line 370 
 ktrmsghdr(const struct msghdr *msg)  ktrmsghdr(const struct msghdr *msg)
 {  {
         printf("struct msghdr { name=%p, namelen=%u, iov=%p, iovlen=%u,"          printf("struct msghdr { name=%p, namelen=%u, iov=%p, iovlen=%u,"
             " control=%p, controllen=%u, flags=%d }\n",              " control=%p, controllen=%u, flags=",
             msg->msg_name, msg->msg_namelen, msg->msg_iov, msg->msg_iovlen,              msg->msg_name, msg->msg_namelen, msg->msg_iov, msg->msg_iovlen,
             msg->msg_control, msg->msg_controllen, msg->msg_flags);              msg->msg_control, msg->msg_controllen);
           sendrecvflagsname(msg->msg_flags);
           printf(" }\n");
 }  }
   
 static void  static void
Line 402 
Line 404 
         if (count > 1)          if (count > 1)
                 printf(" [%d]", count);                  printf(" [%d]", count);
         for (i = 0; i < count; i++) {          for (i = 0; i < count; i++) {
                 char flags[100];  
                 const char *filter = "";  
                 const char *comma = "";  
                 memcpy(&kev, data, sizeof(kev));                  memcpy(&kev, data, sizeof(kev));
                 data += sizeof(kev);                  data += sizeof(kev);
                 switch (kev.filter) {                  printf(" { ident=%lu, filter=", kev.ident);
                 case EVFILT_READ:                  evfiltername(kev.filter);
                         filter = "read";                  printf(", flags=");
                         break;                  evflagsname(kev.flags);
                 case EVFILT_WRITE:                  printf(", fflags=");
                         filter = "write";                  evfflagsname(kev.filter, kev.fflags);
                         break;                  printf(", data=%llu", kev.data);
                 case EVFILT_VNODE:                  if ((kev.flags & EV_ERROR) && fancy) {
                         filter = "vnode";                          printf("<\"%s\">", strerror(kev.data));
                         break;  
                 case EVFILT_PROC:  
                         filter = "proc";  
                         break;  
                 case EVFILT_SIGNAL:  
                         filter = "signal";  
                         break;  
                 case EVFILT_TIMER:  
                         filter = "timer";  
                         break;  
                 }                  }
 #define KEV_FLAG(value, name) \                  printf(", udata=%p }", kev.udata);
         do if (kev.flags & value) { \  
                 strlcat(flags, comma, sizeof(flags)); \  
                 strlcat(flags, name, sizeof(flags)); \  
                 comma = ","; \  
         } while (0)  
   
                 KEV_FLAG(EV_ADD, "add");  
                 KEV_FLAG(EV_ENABLE, "enable");  
                 KEV_FLAG(EV_DISABLE, "disable");  
                 KEV_FLAG(EV_DELETE, "delete");  
                 KEV_FLAG(EV_ONESHOT, "oneshot");  
                 KEV_FLAG(EV_CLEAR, "clear");  
                 KEV_FLAG(EV_EOF, "EOF");  
                 KEV_FLAG(EV_ERROR, "error");  
   
                 printf(" { filter=%s flags=%s ident=%lu }", filter, flags, kev.ident);  
         }          }
         printf("\n");          printf("\n");
 }  }

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16