📄 disco.cpp
字号:
/* LiMon-Server| Copyright (C) 2006 Marcelo Busico|| Author: Marcelo Busico marcelobusico@gmail.com|| This program is free software which I release under the GNU General Public| License. You may redistribute and/or modify this program under the terms| of that license as published by the Free Software Foundation; either| version 2 of the License, or (at your option) any later version.|| This program is distributed in the hope that it will be useful,| but WITHOUT ANY WARRANTY; without even the implied warranty of| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the| GNU General Public License for more details. Version 2 is in the| LICENSE.txt file in the top level directory of this distribution.| | To get a copy of the GNU General Puplic License, write to the Free Software| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*//* Implementacion de la libreria que lee el Estado de las particiones del disco */#include "disco.h"#include "rutas.h"#include <stdio.h>#include <string.h>#include <stdlib.h>//ConstructorEstadoDisco::EstadoDisco(){ FILE *f; //Puntero a archivo char ejecutable[100]; //Para ejecutar el Script char buf[1024]; //Resultado del Script //Ruta del script strcpy(ejecutable,RUTA_SCRIPTS); //Nombre del script strcat(ejecutable,"disco.sh"); //Ejecuta el script system(ejecutable); // Particion RAIZ //Sale si no puede abrir el archivo if ((f = fopen("/tmp/limon-disco-raiz", "r")) == NULL) { strcpy(cadenaEstadoRaiz,""); strcpy(cadenaEstadoHome,""); return; } if(fgets(buf, sizeof(buf), f)!=NULL) strcpy(cadenaEstadoRaiz,buf); else strcpy(cadenaEstadoRaiz,""); //Cierra el archivo fclose(f); // Particion HOME //Sale si no puede abrir el archivo if ((f = fopen("/tmp/limon-disco-home", "r")) == NULL) { strcpy(cadenaEstadoRaiz,""); strcpy(cadenaEstadoHome,""); return; } if(fgets(buf, sizeof(buf), f)!=NULL) strcpy(cadenaEstadoHome,buf); else strcpy(cadenaEstadoHome,""); //Cierra el archivo fclose(f);}//Devuelve Espacio Total Particion Raizunsigned long EstadoDisco::getRaizTotal(){ unsigned long aux=0; //Almacena el retorno de la funcion if(strlen(cadenaEstadoRaiz)>0) { //Encuentra en la cadena del archivo el valor buscado a devolver sscanf(cadenaEstadoRaiz,"%*s %lu",&aux); } //Retorna valor en KB return aux ;}//Devuelve Espacio Usado Particion Raizunsigned long EstadoDisco::getRaizUsado(){ unsigned long aux=0; //Almacena el retorno de la funcion if(strlen(cadenaEstadoRaiz)>0) { //Encuentra en la cadena del archivo el valor buscado a devolver sscanf(cadenaEstadoRaiz,"%*s %*s %lu",&aux); } //Retorna valor en KB return aux ;}//Devuelve Espacio Libre Particion Raizunsigned long EstadoDisco::getRaizLibre(){ unsigned long aux=0; //Almacena el retorno de la funcion if(strlen(cadenaEstadoRaiz)>0) { //Encuentra en la cadena del archivo el valor buscado a devolver sscanf(cadenaEstadoRaiz,"%*s %*s %*s %lu",&aux); } //Retorna valor en KB return aux ;}//Devuelve Espacio Total Particion HOMEunsigned long EstadoDisco::getHomeTotal(){ unsigned long aux=0; //Almacena el retorno de la funcion if(strlen(cadenaEstadoHome)>0) { //Encuentra en la cadena del archivo el valor buscado a devolver sscanf(cadenaEstadoHome,"%*s %lu",&aux); } //Retorna valor en KB return aux ;}//Devuelve Espacio Usado Particion HOMEunsigned long EstadoDisco::getHomeUsado(){ unsigned long aux=0; //Almacena el retorno de la funcion if(strlen(cadenaEstadoHome)>0) { //Encuentra en la cadena del archivo el valor buscado a devolver sscanf(cadenaEstadoHome,"%*s %*s %lu",&aux); } //Retorna valor en KB return aux ;}//Devuelve Espacio Libre Particion HOMEunsigned long EstadoDisco::getHomeLibre(){ unsigned long aux=0; //Almacena el retorno de la funcion if(strlen(cadenaEstadoHome)>0) { //Encuentra en la cadena del archivo el valor buscado a devolver sscanf(cadenaEstadoHome,"%*s %*s %*s %lu",&aux); } //Retorna valor en KB return aux ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -