/* 장시간 분할이 존재하는지 검사*/
if(buffer[0x1C2+extended_pos*16]==0x05 ||
buffer[0x1C2+extended_pos*16]==0x0F )
{
temp_var1=(unsigned )buffer[partloc1];
*sec=temp_var1 & 0x003F; /* 장시간 분할의 분야 */
if(*sec!=0)
{
se_p=se+relative_sec+no_sectors;
*sec=se_p;
}
else
{ *sec=-1;
break;
}
} //마지막의 만약에 계산서인 경우에
else
{
if(*sec>0)
*sec=-1;
break;
}
} while(1); //마지막의 루프
/* 분야 0에 다른 비 활동적인 1 차 분할을 위한 검사*/
if(*sec==0)
{
for(i=0;i<4;i++)
{
active_par=buffer[446+i*16];
/* 파일 시스템 지시자 바이트를 확인하십시오 */
if((buffer[0x1C2+i*16]==(char)0x06 ||
buffer[0x1C2+i*16]==(char)0x0B ||
buffer[0x1C2+i*16]==(char)0x0C ||
buffer[0x1C2+i*16]==(char)0x07 ||
buffer[0x1C2+i*16]==(char)0x0E ||
buffer[0x1C2+i*16]==(char)0x04) && active_par!=0x80)
{
switch(buffer[0x1C2+active_pos*16])
{
/* NTFS 분할을 위해 */
case 0x07: report_par[*no_par]='N';
printf("\n 분할 -%d = NTFS",
*no_par+1);
break;
/* FAT32 분할을 위해*/
case 0x0B:
case 0x0C: report_par[*no_par]='3';
printf("\n 분할 -%d = FAT32",
*no_par+1);
break;
/* FAT16 분할을 위해 */
case 0x04:
case 0x06:
case 0x0E: report_par[*no_par]='1';
printf("\n 분할 -%d = FAT16",
*no_par+1);
break;
} //스위치의 끝
|