//判断设备是否挂载
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <stdio.h>
#define MOUNT_PATH "/proc/mounts"int check_dev_mount(const char* p_device_name)
{
assert(NULL != p_device_name);
assert(0 < strlen(p_device_name))
char* p_buff[1024] = {0};
char* p_dev_name[64] = {0};
char* p_mount_name[64] = {0};
char* p_mount_type[32] = {0};
char* p_power[256] = {0};
int ret = 0, temp1 = 0, temp2 = 0;
FILE* fp = fopen(MOUNT_PATH, "r");
if (NULL == fp)
{
return 1;
}
while(NULl != fgets(p_buff, sizeof(p_buff), fp))
{
if (6 != sscanf(p_buff, "%s %s %s %s %d %d", p_dev_name, p_mount_name, p_mount_type, p_power, &temp1, &temp2))
{
continue;
}
if (NULL != strstr(p_dev_name, p_device_name))
{
ret = 0;
break;
}
}
fclose(fp);
return ret;
}
//判断路径社否挂载
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <stdio.h>
#define MOUNT_PATH "/proc/mounts"
int check_path_mount(const char* p_path)
{
assert(NULL != p_path);
assert(0 < strlen(p_path))
char* p_buff[1024] = {0};
char* p_dev_name[64] = {0};
char* p_mount_name[64] = {0};
char* p_mount_type[32] = {0};
char* p_power[256] = {0};
int ret = 0, temp1 = 0, temp2 = 0;
FILE* fp = fopen(MOUNT_PATH, "r");
if (NULL == fp)
{
return 1;
}
while(NULl != fgets(p_buff, sizeof(p_buff), fp))
{
if (6 != sscanf(p_buff, "%s %s %s %s %d %d", p_dev_name, p_mount_name, p_mount_type, p_power, &temp1, &temp2))
{
continue;
}
if (NULL != strstr(p_dev_name, p_path))
{
ret = 0;
break;
}
}
fclose(fp);
return ret;
}