bool isMount;
bool floppy_is_mounted()
{
char buff[255]; // буфер
bool isMounted = false;
FILE *f;
f = fopen ("/proc/mounts", "r");
if (f == NULL)
{
printf("Не удалось открыть файл \'/proc/mounts\'");
return isMounted;
}
while (!feof(f))
{
fscanf (f, "%s", &buff);
if (strcmp(buff, "/dev/fd0") == 0)
isMounted = true;
}
fclose (f);
return isMounted;
}
int q = 0;
void signal_handler(int sig)
{
time_t t;
FILE* f;
switch(sig)
{
case SIGALRM:
if (isMount != floppy_is_mounted())
{
isMount = !isMount;
time (&t);
f = fopen (LOG_FILE, "a");
if (f != NULL)
{
if (isMount == true)
fprintf(f, "Дисковод смонтирован [mount /dev/fd0] - %s", ctime(&t));
else fprintf(f, "Дисковод размонтирован [umount /dev/fd0] - %s", ctime(&t));
}
fclose(f);
}
break;