1、在/proc/partitions中存放着U盘的设备名称
如sda,sdb2等,以sd开头。
major 主设备号,比如一个U盘有3个分区,主设备名为sda,major为8,分区的major也为8 (可能所有的U盘插进来,major都是8)
minor则为分区号,sda1,sda2,minor值为1 ,2 sda的minor为0
name即为设备名,连接/dev./设备名,就可以挂载到一个目录。
blocks表示物理设备逻辑块的大小
#cat /proc/partitions //查看
2、
sign_primacy函数标记首要设备
read_proc_partition读取/proc/partitions
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct parititions_info_s
{
unsigned long nMajor;
unsigned long nMinor;
unsigned long nBlocks;
char chDeviceName[50];
int nPrimacyDeviceFlag;
}parititions_info_t;
int sign_primacy(parititions_info_t *pstuPartitionsInfo,int nDeviceNum)
{
int i = 0;
int j = 0;
char chDeviceNameLastSign[100] = {
0};
if((NULL == pstuPartitionsInfo) ||
(nDeviceNum <= 0))
{
printf("\nparam error\n");
return -1;
}
for(i = 0; i < nDeviceNum - 1;i++)
{
if((0 != strlen(chDeviceNameLastSign)) &&
(NULL != strstr



被折叠的 条评论
为什么被折叠?



