| 511 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 512 | 
   | 
         switch (s->type) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 513 | 
   | 
         case LONG_LONG: | 
 
 
 
 
 
 
 
 
 | 514 | 
 + | 
 #ifdef WIN32 /* Windows printf does not understand %lld, so use %I64d instead */ | 
 
 
 
 
 
 
 
 
 | 515 | 
 + | 
                 printf("%I64d", *(long long *)v); | 
 
 
 
 
 
 
 
 
 | 516 | 
 + | 
 #else | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 517 | 
   | 
                 printf("%lld", *(long long *)v); | 
 
 
 
 
 
 
 
 
 | 518 | 
 + | 
 #endif | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 519 | 
   | 
                 break; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 520 | 
   | 
         case BYTES: | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 521 | 
   | 
                 llv = *(long long *)v; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 522 | 
   | 
                 if (bytes_scale_factor != 0) { | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 523 | 
   | 
                         llv /= bytes_scale_factor; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 524 | 
   | 
                 } | 
 
 
 
 
 
 
 
 
 | 525 | 
 + | 
 #ifdef WIN32 | 
 
 
 
 
 
 
 
 
 | 526 | 
 + | 
                 printf("%I64d", llv); | 
 
 
 
 
 
 
 
 
 | 527 | 
 + | 
 #else | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 528 | 
   | 
                 printf("%lld", llv); | 
 
 
 
 
 
 
 
 
 | 529 | 
 + | 
 #endif | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 530 | 
   | 
                 break; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 531 | 
   | 
         case TIME_T: | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 532 | 
   | 
                 /* FIXME option for formatted time? */ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 742 | 
   | 
         /* We don't care if sg_init fails, because we can just display | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 743 | 
   | 
            the statistics that can be read as non-root. */ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 744 | 
   | 
         sg_init(); | 
 
 
 
 
 
 
 
 
 | 745 | 
 + | 
         sg_snapshot(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 746 | 
   | 
         if (sg_drop_privileges() != 0) | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 747 | 
   | 
                 die("Failed to drop setuid/setgid privileges"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 748 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 754 | 
   | 
         case REPEAT_ONCE: | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 755 | 
   | 
                 get_stats(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 756 | 
   | 
                 sleep(repeat_time); | 
 
 
 
 
 
 
 
 
 | 757 | 
 + | 
                 sg_snapshot(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 758 | 
   | 
                 get_stats(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 759 | 
   | 
                 print_stats(argc, argv); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 760 | 
   | 
                 break; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 764 | 
   | 
                         print_stats(argc, argv); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 765 | 
   | 
                         printf("\n"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 766 | 
   | 
                         sleep(repeat_time); | 
 
 
 
 
 
 
 
 
 | 767 | 
 + | 
                         sg_snapshot(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 768 | 
   | 
                 } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 769 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 770 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 772 | 
   | 
                 printf("\n"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 773 | 
   | 
                 printf("statgrab\n"); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 774 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 | 775 | 
 + | 
  | 
 
 
 
 
 
 
 
 
 | 776 | 
 + | 
         sg_shutdown(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 777 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 778 | 
   | 
         return 0; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 779 | 
   | 
 } |