isofs.h revision c58f1213e628a545081c70e26c6b67a841cff880
2N/A * IPRT - ISO 9660 file system handling. 2N/A * Copyright (C) 2012 Oracle Corporation 2N/A * This file is part of VirtualBox Open Source Edition (OSE), as 2N/A * you can redistribute it and/or modify it under the terms of the GNU 2N/A * General Public License (GPL) as published by the Free Software 2N/A * Foundation, in version 2 as it comes in the "COPYING" file of the 2N/A * VirtualBox OSE distribution. VirtualBox OSE is distributed in the 2N/A * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 2N/A * The contents of this file may alternatively be used under the terms 2N/A * of the Common Development and Distribution License Version 1.0 2N/A * (CDDL) only, as it comes in the "COPYING.CDDL" file of the 2N/A * VirtualBox OSE distribution, in which case the provisions of the 2N/A * CDDL are applicable instead of those of the GPL. 2N/A * You may elect to license modified versions of this file under the 2N/A * terms and conditions of either the GPL or the CDDL or both. /** @defgroup grp_rt_isofs RTIsoFs - ISO 9660 Filesystem /** Standard ID of volume descriptors. */ /** Default sector size. */ /* Starting here there will be the actual directory entry name * and a padding of 1 byte if name_len is odd. */ /* Primary Volume Descriptor. */ /** Sector of starting directory table. */ /** Index of parent directory (1 for the root). */ /* Starting here there will be the name of the directory, * specified by length above. */ * The following limitations apply: * - Fixed sector size (2048 bytes). * - No extensions (Joliet, RockRidge etc.) support (yet). * - Only primary volume descriptor (PVD) handled. * @return IPRT status code. * @param pFile Pointer to ISO handle. * @param pszFileName Path to ISO file to open. * @param pFile Pointer to open ISO file returned by RTIsoFsOpen(). * Retrieves the offset + length (both in bytes) of a given file * @note According to the standard, a file cannot be larger than 2^32-1 bytes. * Therefore using size_t / uint32_t is not a problem. * @return IPRT status code. * @param pFile Pointer to open ISO file returned by RTIsoFsOpen(). * @param pszPath Path of file within the ISO to retrieve information for. * @param pcbOffset Pointer to store the file's absolute offset within the ISO. * @param pcbLength Pointer to store the file's size. * Extracts a file from an ISO to the given destination. * @return IPRT status code. * @param pFile Pointer to open ISO file returned by RTIsoFsOpen(). * @param pszPath Path of file within the ISO to extract. * @param pszDest Where to store the extracted file.