ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/idar/idar.c
(Generate patch)

Comparing projects/cms/source/idar/idar.c (file contents):
Revision 1.7 by pajs, Sun Mar 30 22:16:20 2003 UTC vs.
Revision 1.9 by pajs, Wed Apr 2 15:23:26 2003 UTC

# Line 235 | Line 235 | int cmp_cpu(machine_data_list_t *a, machine_data_list_
235          }
236   }
237   */
238 +
239 + #ifndef HAVE_ATOLL
240 + long long int atoll (const char *nptr){
241 +  return strtoll (nptr, (char **) NULL, 10);
242 + }
243 + #endif
244 +
245 + #ifndef HAVE_STRLCPY
246 + /*
247 + * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
248 + * All rights reserved.
249 + *
250 + * Redistribution and use in source and binary forms, with or without
251 + * modification, are permitted provided that the following conditions
252 + * are met:
253 + * 1. Redistributions of source code must retain the above copyright
254 + *    notice, this list of conditions and the following disclaimer.
255 + * 2. Redistributions in binary form must reproduce the above copyright
256 + *    notice, this list of conditions and the following disclaimer in the
257 + *    documentation and/or other materials provided with the distribution.
258 + * 3. The name of the author may not be used to endorse or promote products
259 + *    derived from this software without specific prior written permission.
260 + *
261 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
262 + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
263 + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
264 + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
265 + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
266 + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
267 + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
268 + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
269 + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
270 + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
271 + */
272 +
273 + /*
274 + * Copy src to string dst of size siz.  At most siz-1 characters
275 + * will be copied.  Always NUL terminates (unless siz == 0).
276 + * Returns strlen(src); if retval >= siz, truncation occurred.
277 + */
278 + size_t
279 + strlcpy(dst, src, siz)
280 +        char *dst;
281 +        const char *src;
282 +        size_t siz;
283 + {
284 +        register char *d = dst;
285 +        register const char *s = src;
286 +        register size_t n = siz;
287 +
288 +        /* Copy as many bytes as will fit */
289 +        if (n != 0 && --n != 0) {
290 +                do {
291 +                        if ((*d++ = *s++) == 0)
292 +                                break;
293 +                } while (--n != 0);
294 +        }
295 +
296 +        /* Not enough room in dst, add NUL and traverse rest of src */
297 +        if (n == 0) {
298 +                if (siz != 0)
299 +                        *d = '\0';              /* NUL-terminate dst */
300 +                while (*s++)
301 +                        ;
302 +        }
303 +
304 +        return(s - src - 1);    /* count does not include NUL */
305 + }
306 +
307 + #endif
308 +
309          
310   FILE *create_tcp_connection(char *hostname, int port){
311          int sock;
# Line 608 | Line 679 | void display(machine_data_list_t *machine_data_list, d
679          int x=1;
680  
681          if(*title){
682 +                clear();
683                  move (num_lines-3, 1);
684                  printw("Sorting by %-64s", display_config->sortby);
685  
# Line 778 | Line 850 | int main(int argc, char **argv){
850  
851          display_config.network_io_total_tx=1;
852          display_config.network_io_total_rx=1;
853 <        display_config.network_all_stats=1;
853 >        display_config.network_all_stats=0;
854  
855 <        display_config.disk_io_total_write=0;
856 <        display_config.disk_io_total_read=0;
855 >        display_config.disk_io_total_write=1;
856 >        display_config.disk_io_total_read=1;
857          display_config.disk_io_all_stats=0;
858  
859          display_config.disk_total_used=0;
# Line 905 | Line 977 | int main(int argc, char **argv){
977                  
978                          ch=getc(stdin);
979                          switch(ch){
980 +
981 +                                /* Quit */
982                                  case 'Q':
983                                  case 'q':
984                                          endwin();
985                                          exit(0);
986                                          break;
987  
988 +                                /* Sort by */
989                                  case 'C':
990                                          sortby_ptr=cmp_cpu_used;
991                                          strlcpy(display_config.sortby, CPU_USED, SORTBYMAXNAME);
# Line 943 | Line 1018 | int main(int argc, char **argv){
1018                                                  sortby_ptr=cmp_network_io_total;
1019                                          }
1020                                          break;
1021 +                                case 'D':
1022 +                                        if(sortby_ptr==cmp_disk_io_total){
1023 +                                                strlcpy(display_config.sortby, DISKIOR, SORTBYMAXNAME);
1024 +                                                sortby_ptr=cmp_disk_io_total_read;
1025 +                                        }else if(sortby_ptr==cmp_disk_io_total_read){
1026 +                                                strlcpy(display_config.sortby, DISKIOW, SORTBYMAXNAME);
1027 +                                                sortby_ptr=cmp_disk_io_total_write;
1028 +                                        }else{
1029 +                                                strlcpy(display_config.sortby, DISKIO, SORTBYMAXNAME);
1030 +                                                sortby_ptr=cmp_disk_io_total;
1031 +                                        }
1032 +                                        break;
1033  
1034 <                        }
1034 >                                /* Display */
1035                          
1036 <                        title=1;
1036 >                                case 'd':
1037 >                                        if(display_config.disk_io_total_read){
1038 >                                                display_config.disk_io_total_read=0;
1039 >                                                display_config.disk_io_total_write=0;
1040 >                                        }else{
1041 >                                                display_config.disk_io_total_read=1;
1042 >                                                display_config.disk_io_total_write=1;
1043 >                                        }
1044 >                                        break;  
1045 >                                case 'n':
1046 >                                        if(display_config.network_io_total_rx){
1047 >                                                display_config.network_io_total_rx=0;
1048 >                                                display_config.network_io_total_tx=0;
1049 >                                        }else{
1050 >                                                display_config.network_io_total_rx=1;
1051 >                                                display_config.network_io_total_tx=1;
1052 >                                        }
1053 >                                        break;
1054 >                                case 'm':
1055 >                                        if(display_config.memory_used_pecent){
1056 >                                                display_config.memory_used_pecent=0;
1057 >                                        }else{
1058 >                                                display_config.memory_used_pecent=1;
1059 >                                        }
1060 >                                        break;
1061 >                                
1062 >                                case 's':
1063 >                                        if(display_config.swap_used_pecent){
1064 >                                                display_config.swap_used_pecent=0;
1065 >                                        }else{
1066 >                                                display_config.swap_used_pecent=1;
1067 >                                        }
1068 >                                        break;
1069 >                                case 'l':
1070 >                                        if(display_config.load_1){
1071 >                                                display_config.load_1=0;
1072 >                                        }else{
1073 >                                                display_config.load_1=1;
1074 >                                        }
1075 >                                        break;
1076 >                                case 'p':
1077 >                                        if(display_config.pages_in){
1078 >                                                display_config.pages_in=0;
1079 >                                                display_config.pages_out=0;
1080 >                                        }else{
1081 >                                                display_config.pages_in=1;
1082 >                                                display_config.pages_out=1;
1083 >                                        }
1084 >                                        break;
1085 >                                case 'c':
1086 >                                        if(display_config.cpu_used){
1087 >                                                display_config.cpu_used=0;
1088 >                                        }else{
1089 >                                                display_config.cpu_used=1;
1090 >                                        }
1091 >                                        break;
1092 >
1093 >                                default:
1094 >                                        /* Invalid key.. Ignore.. Set Title to -1, as the
1095 >                                         * title++ will then make that "0" (false) so a
1096 >                                         * screen redraw will not happen */
1097 >                                        title=-1;
1098 >                                        break;
1099 >                        }
1100 >
1101 >                        /* Increment title so it becomes true (and making the screen update */  
1102 >                        title++;
1103                          
1104                  }
1105                  if(FD_ISSET(data_fileno, &infds)){

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines