| 1 |  | /* | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 2 |  | * i-scream central monitoring system | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 3 |  | * http://www.i-scream.org | 
 
 
 
 
 
 
 
 
 
 
 | 4 | < | * Copyright (C) 2000-2003 i-scream | 
 
 
 
 
 
 
 
 
 | 4 | > | * Copyright (C) 2000-2004 i-scream | 
 
 
 
 
 
 
 
 
 
 
 | 5 |  | * | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 6 |  | * This program is free software; you can redistribute it and/or | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 7 |  | * modify it under the terms of the GNU General Public License | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 |  | * You should have received a copy of the GNU General Public License | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 |  | * along with this program; if not, write to the Free Software | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 18 |  | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. | 
 
 
 
 
 
 
 
 | 19 | + | * | 
 
 
 
 
 
 
 
 | 20 | + | * $Id$ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 21 |  | */ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 22 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 23 |  | /* A very basic example of how to get the disk statistics from the system | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 42 |  | int main(int argc, char **argv){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 43 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 44 |  | extern char *optarg; | 
 
 
 
 
 
 
 
 
 | 43 | – | extern int optind; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 45 |  | int c; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 46 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 47 |  | /* We default to 1 second updates and displaying in bytes*/ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 71 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 72 |  | /* Initialise statgrab */ | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 73 |  | statgrab_init(); | 
 
 
 
 
 
 
 
 | 74 | + |  | 
 
 
 
 
 
 
 
 | 75 | + | /* Drop setuid/setgid privileges. */ | 
 
 
 
 
 
 
 
 | 76 | + | if (statgrab_drop_privileges() != 0) { | 
 
 
 
 
 
 
 
 | 77 | + | perror("Error. Failed to drop privileges"); | 
 
 
 
 
 
 
 
 | 78 | + | return 1; | 
 
 
 
 
 
 
 
 | 79 | + | } | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 80 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 81 |  | /* We are not interested in the amount of traffic ever transmitted, just differences. | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 82 |  | * Because of this, we do nothing for the very first call. |