コード例 #1
0
ファイル: apa.c プロジェクト: EvertonSilva/ps2sdk
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;
}
コード例 #2
0
ファイル: apa.c プロジェクト: uyjulian/pfsshell
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;
}