VirtualBox

Ignore:
Timestamp:
Jul 6, 2017 4:18:43 PM (8 years ago)
Author:
vboxsync
Message:

IPRT/isomaker: Working on generating rock ridge data (untested). Replaced generic internal error status codes with more specific ones.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/formats/iso9660.h

    r67794 r67838  
    949949#define ISO9660SUSPCE_SIG1     'C' /**< SUSP continutation entry signature byte 1. */
    950950#define ISO9660SUSPCE_SIG2     'E' /**< SUSP continutation entry signature byte 2. */
     951#define ISO9660SUSPCE_LEN      28  /**< SUSP continutation entry length. */
    951952#define ISO9660SUSPCE_VER       1  /**< SUSP continutation entry version number. */
    952953
     
    988989} ISO9660SUSPSP;
    989990AssertCompileSize(ISO9660SUSPSP, 7);
    990 /** Pointer to a SUSP padding entry. */
     991/** Pointer to a SUSP entry. */
    991992typedef ISO9660SUSPSP *PISO9660SUSPSP;
    992 /** Pointer to a const SUSP padding entry. */
     993/** Pointer to a const SUSP entry. */
    993994typedef ISO9660SUSPSP const *PCISO9660SUSPSP;
    994995#define ISO9660SUSPSP_SIG1     'S'              /**< SUSP system use protocol entry signature byte 1. */
     
    10801081/** RRIP ER recommended source string  (from RRIP v1.10 specs). */
    10811082#define ISO9660_RRIP_SRC        "PLEASE CONTACT DISC PUBLISHER FOR SPECIFICATION SOURCE.  SEE PUBLISHER IDENTIFIER IN PRIMARY VOLUME DESCRIPTOR FOR CONTACT INFORMATION."
     1083/** The length of a RRIP v1.10 ER record.
     1084 * The record must be constructed using ISO9660_RRIP_ID, ISO9660_RRIP_DESC
     1085 * and ISO9660_RRIP_SRC. */
     1086#define ISO9660_RRIP_ER_LEN     ((uint8_t)(  RT_OFFSETOF(ISO9660SUSPER, achPayload) \
     1087                                           + sizeof(ISO9660_RRIP_ID)   - 1 \
     1088                                           + sizeof(ISO9660_RRIP_DESC) - 1 \
     1089                                           + sizeof(ISO9660_RRIP_SRC)  - 1 ))
    10821090
    10831091/** RRIP ER identifier string from RRIP IEEE P1282 v1.12 draft. */
     
    10871095/** RRIP ER recommended source string  (RRIP IEEE P1282 v1.12 draft). */
    10881096#define ISO9660_RRIP_1_12_SRC   "PLEASE CONTACT THE IEEE STANDARDS DEPARTMENT, PISCATAWAY, NJ, USA FOR THE P1282 SPECIFICATION."
     1097/** The length of a RRIP v1.12 ER record.
     1098 * The record must be constructed using ISO9660_RRIP_1_12_ID,
     1099 * ISO9660_RRIP_1_12_DESC and ISO9660_RRIP_1_12_SRC. */
     1100#define ISO9660_RRIP_1_12_ER_LEN ((uint8_t)(  RT_OFFSETOF(ISO9660SUSPER, achPayload) \
     1101                                            + sizeof(ISO9660_RRIP_1_12_ID)   - 1 \
     1102                                            + sizeof(ISO9660_RRIP_1_12_DESC) - 1 \
     1103                                            + sizeof(ISO9660_RRIP_1_12_SRC)  - 1 ))
     1104
     1105
     1106/**
     1107 * Rock ridge interchange protocol -  RR.
     1108 */
     1109typedef struct ISO9660RRIPRR
     1110{
     1111    /** Header (ISO9660RRIPRR_SIG1, ISO9660RRIPRR_SIG2,
     1112     *  ISO9660RRIPRR_LEN, ISO9660RRIPRR_VER). */
     1113    ISO9660SUSPHDR      Hdr;
     1114    /** Flags indicating which RRIP entries are present (). */
     1115    uint8_t             fFlags;
     1116} ISO9660RRIPRR;
     1117AssertCompileSize(ISO9660RRIPRR, 5);
     1118/** Pointer to a RRIP RR entry. */
     1119typedef ISO9660RRIPRR *PISO9660RRIPRR;
     1120/** Pointer to a const RRIP RR entry. */
     1121typedef ISO9660RRIPRR const *PCISO9660RRIPRR;
     1122#define ISO9660RRIPRR_SIG1     'P'             /**< RRIP RR entry signature byte 1. */
     1123#define ISO9660RRIPRR_SIG2     'X'             /**< RRIP RR entry signature byte 2. */
     1124#define ISO9660RRIPRR_VER       1              /**< RRIP RR entry version number. */
     1125#define ISO9660RRIPRR_LEN       5              /**< RRIP RR entry length (fixed). */
     1126
     1127/** @name ISO9660RRIP_RR_F_XXX - Indicates which RRIP entries are present.
     1128 * @{ */
     1129#define ISO9660RRIP_RR_F_PX     UINT8_C(0x01)
     1130#define ISO9660RRIP_RR_F_PN     UINT8_C(0x02)
     1131#define ISO9660RRIP_RR_F_SL     UINT8_C(0x04)
     1132#define ISO9660RRIP_RR_F_NM     UINT8_C(0x08)
     1133#define ISO9660RRIP_RR_F_CL     UINT8_C(0x10)
     1134#define ISO9660RRIP_RR_F_PL     UINT8_C(0x20)
     1135#define ISO9660RRIP_RR_F_RE     UINT8_C(0x40)
     1136#define ISO9660RRIP_RR_F_TF     UINT8_C(0x80)
     1137/** @} */
    10891138
    10901139/**
     
    12251274 * @note These matches ISO9660RRIP_NM_F_XXX.
    12261275 * @{ */
    1227 /** Indicates there are more components.   */
     1276/** Indicates that the component continues in the next entry.   */
    12281277#define ISO9660RRIP_SL_C_CONTINUE       UINT8_C(0x01)
    12291278/** Refer to '.' (the current dir). */
     
    12761325#define ISO9660RRIP_NM_F_RESERVED_MASK  UINT8_C(0xf8)
    12771326/** @} */
     1327
     1328/** Maximum name length in one 'NM' entry. */
     1329#define ISO9660RRIPNM_MAX_NAME_LEN      250
    12781330
    12791331
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette