int apaGetFormat(u32 device, int *format) { apa_cache *clink; int rv=0;// u32 rv=0; u32 *pDW; int i; clink=cacheGetFree(); *format=0; if((rv=apaReadHeader(device, clink->header, 0))==0) { *format=clink->header->mbr.version; if(atadDmaTransfer(device, clink->header, APA_SECTOR_SECTOR_ERROR, 2, ATAD_MODE_READ)) rv=-EIO; // return -EIO; if(rv==0){ pDW=(u32 *)clink->header; for(i=0;i < 256; i++) { if((i & 0x7F) && pDW[i]!=0) rv=1; } } } cacheAdd(clink); return rv==0; }
int apaGetFormat(s32 device, int *format) { apa_cache_t *clink; int rv = 0; u32 *pDW, i; clink = apaCacheAlloc(); *format = 0; if ((rv = apaReadHeader(device, clink->header, 0)) == 0) { *format = clink->header->mbr.version; if (ata_device_sector_io(device, clink->header, APA_SECTOR_SECTOR_ERROR, 2, ATA_DIR_READ)) rv = -EIO; // return -EIO; if (rv == 0) { pDW = (u32 *)clink->header; for (i = 0; i < 256; i++) { if ((i & 0x7F) && pDW[i] != 0) rv = 1; } } } apaCacheFree(clink); return rv == 0; }