/* 파일 시스템 지시자 바이트를 확인하십시오 */
if( buffer[0x1C2+active_pos*16]==0x04 ||
buffer[0x1C2+active_pos*16]==0x05 ||
buffer[0x1C2+active_pos*16]==0x06 ||
buffer[0x1C2+active_pos*16]==0x0B ||
buffer[0x1C2+active_pos*16]==0x0C ||
buffer[0x1C2+active_pos*16]==0x0E ||
buffer[0x1C2+active_pos*16]==0x0F ||
buffer[0x1C2+active_pos*16]==0x07)
{
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;
} // 스위치의 끝
b_sec=*sec+relative_sec;
sectors_part[*no_par]=no_sectors; /* 분할의 분야의 수를 저장하는 배열 */
} //끝의 만약에 조건인 경우에
else
{ /* 만약에 분할인 경우에 지시자 성냥 아닙니다 */
if(*sec==0)
{ no_par=0;
break;
}
if((fat_check!=0x3631)&&(fat_check!=0x3233))
b_sec=*sec=0;
}
if((b_sec!=0)&&(sec!=0))
{
star_sec[*no_par]=b_sec;
(*no_par)++;
}
else
break;
|