diff options
Diffstat (limited to 'qemu/roms/openbios/fs/hfs/low.c')
-rw-r--r-- | qemu/roms/openbios/fs/hfs/low.c | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/qemu/roms/openbios/fs/hfs/low.c b/qemu/roms/openbios/fs/hfs/low.c deleted file mode 100644 index e0f7cb0e3..000000000 --- a/qemu/roms/openbios/fs/hfs/low.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - * libhfs - library for reading and writing Macintosh HFS volumes - * Copyright (C) 1996-1998, 2001 Robert Leslie - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, - * MA 02110-1301, USA. - * - * $Id: low.c,v 1.8 1998/11/02 22:09:03 rob Exp $ - */ - -#include "config.h" -#include "libhfs.h" -#include "low.h" -#include "data.h" -#include "block.h" -#include "file.h" - -/* - * NAME: low->getpmentry() - * DESCRIPTION: read a partition map entry - */ -int l_getpmentry(hfsvol *vol, Partition *map, unsigned long bnum) -{ - block b; - const byte *ptr = b; - int i; - - if (b_readpb(vol, bnum, &b, 1) == -1) - goto fail; - - d_fetchsw(&ptr, &map->pmSig); - d_fetchsw(&ptr, &map->pmSigPad); - d_fetchsl(&ptr, &map->pmMapBlkCnt); - d_fetchsl(&ptr, &map->pmPyPartStart); - d_fetchsl(&ptr, &map->pmPartBlkCnt); - - strncpy((char *) map->pmPartName, (const char *) ptr, 32); - map->pmPartName[32] = 0; - ptr += 32; - - strncpy((char *) map->pmParType, (const char *) ptr, 32); - map->pmParType[32] = 0; - ptr += 32; - - d_fetchsl(&ptr, &map->pmLgDataStart); - d_fetchsl(&ptr, &map->pmDataCnt); - d_fetchsl(&ptr, &map->pmPartStatus); - d_fetchsl(&ptr, &map->pmLgBootStart); - d_fetchsl(&ptr, &map->pmBootSize); - d_fetchsl(&ptr, &map->pmBootAddr); - d_fetchsl(&ptr, &map->pmBootAddr2); - d_fetchsl(&ptr, &map->pmBootEntry); - d_fetchsl(&ptr, &map->pmBootEntry2); - d_fetchsl(&ptr, &map->pmBootCksum); - - strncpy((char *) map->pmProcessor, (const char *) ptr, 16); - map->pmProcessor[16] = 0; - ptr += 16; - - for (i = 0; i < 188; ++i) - d_fetchsw(&ptr, &map->pmPad[i]); - - ASSERT(ptr - b == HFS_BLOCKSZ); - - return 0; - -fail: - return -1; -} - - -/* - * NAME: low->getmdb() - * DESCRIPTION: read a master directory block - */ -int l_getmdb(hfsvol *vol, MDB *mdb, int backup) -{ - block b; - const byte *ptr = b; - int i; - - if (b_readlb(vol, backup ? vol->vlen - 2 : 2, &b) == -1) - goto fail; - - d_fetchsw(&ptr, &mdb->drSigWord); - d_fetchsl(&ptr, &mdb->drCrDate); - d_fetchsl(&ptr, &mdb->drLsMod); - d_fetchsw(&ptr, &mdb->drAtrb); - d_fetchuw(&ptr, &mdb->drNmFls); - d_fetchuw(&ptr, &mdb->drVBMSt); - d_fetchuw(&ptr, &mdb->drAllocPtr); - d_fetchuw(&ptr, &mdb->drNmAlBlks); - d_fetchul(&ptr, &mdb->drAlBlkSiz); - d_fetchul(&ptr, &mdb->drClpSiz); - d_fetchuw(&ptr, &mdb->drAlBlSt); - d_fetchsl(&ptr, &mdb->drNxtCNID); - d_fetchuw(&ptr, &mdb->drFreeBks); - - d_fetchstr(&ptr, mdb->drVN, sizeof(mdb->drVN)); - - ASSERT(ptr - b == 64); - - d_fetchsl(&ptr, &mdb->drVolBkUp); - d_fetchsw(&ptr, &mdb->drVSeqNum); - d_fetchul(&ptr, &mdb->drWrCnt); - d_fetchul(&ptr, &mdb->drXTClpSiz); - d_fetchul(&ptr, &mdb->drCTClpSiz); - d_fetchuw(&ptr, &mdb->drNmRtDirs); - d_fetchul(&ptr, &mdb->drFilCnt); - d_fetchul(&ptr, &mdb->drDirCnt); - - for (i = 0; i < 8; ++i) - d_fetchsl(&ptr, &mdb->drFndrInfo[i]); - - ASSERT(ptr - b == 124); - - d_fetchuw(&ptr, &mdb->drEmbedSigWord); - d_fetchuw(&ptr, &mdb->drEmbedExtent.xdrStABN); - d_fetchuw(&ptr, &mdb->drEmbedExtent.xdrNumABlks); - - d_fetchul(&ptr, &mdb->drXTFlSize); - - for (i = 0; i < 3; ++i) - { - d_fetchuw(&ptr, &mdb->drXTExtRec[i].xdrStABN); - d_fetchuw(&ptr, &mdb->drXTExtRec[i].xdrNumABlks); - } - - ASSERT(ptr - b == 146); - - d_fetchul(&ptr, &mdb->drCTFlSize); - - for (i = 0; i < 3; ++i) - { - d_fetchuw(&ptr, &mdb->drCTExtRec[i].xdrStABN); - d_fetchuw(&ptr, &mdb->drCTExtRec[i].xdrNumABlks); - } - - ASSERT(ptr - b == 162); - - return 0; - -fail: - return -1; -} |