home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 4 / hacker04 / 04_HACK04.ISO / darwin / darwinx86.iso / usr / include / isofs / cd9660 / cd9660_rrip.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-30  |  5.5 KB  |  164 lines

  1. /*
  2.  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  3.  *
  4.  * @APPLE_LICENSE_HEADER_START@
  5.  * 
  6.  * The contents of this file constitute Original Code as defined in and
  7.  * are subject to the Apple Public Source License Version 1.1 (the
  8.  * "License").  You may not use this file except in compliance with the
  9.  * License.  Please obtain a copy of the License at
  10.  * http://www.apple.com/publicsource and read it before using this file.
  11.  * 
  12.  * This Original Code and all software distributed under the License are
  13.  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14.  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  15.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  16.  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
  17.  * License for the specific language governing rights and limitations
  18.  * under the License.
  19.  * 
  20.  * @APPLE_LICENSE_HEADER_END@
  21.  */
  22. /*    $NetBSD: cd9660_rrip.h,v 1.6 1994/12/13 22:33:24 mycroft Exp $    */
  23.  
  24. /*-
  25.  * Copyright (c) 1993, 1994
  26.  *    The Regents of the University of California.  All rights reserved.
  27.  *
  28.  * This code is derived from software contributed to Berkeley
  29.  * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
  30.  * Support code is derived from software contributed to Berkeley
  31.  * by Atsushi Murai (amurai@spec.co.jp).
  32.  *
  33.  * Redistribution and use in source and binary forms, with or without
  34.  * modification, are permitted provided that the following conditions
  35.  * are met:
  36.  * 1. Redistributions of source code must retain the above copyright
  37.  *    notice, this list of conditions and the following disclaimer.
  38.  * 2. Redistributions in binary form must reproduce the above copyright
  39.  *    notice, this list of conditions and the following disclaimer in the
  40.  *    documentation and/or other materials provided with the distribution.
  41.  * 3. All advertising materials mentioning features or use of this software
  42.  *    must display the following acknowledgement:
  43.  *    This product includes software developed by the University of
  44.  *    California, Berkeley and its contributors.
  45.  * 4. Neither the name of the University nor the names of its contributors
  46.  *    may be used to endorse or promote products derived from this software
  47.  *    without specific prior written permission.
  48.  *
  49.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  50.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  51.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  53.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  54.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  55.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  56.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  57.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  58.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  59.  * SUCH DAMAGE.
  60.  *
  61.  *    @(#)cd9660_rrip.h    8.2 (Berkeley) 12/5/94
  62.  */
  63.  
  64. typedef struct {
  65.     char   type            [ISODCL (  0,    1)];
  66.     u_char length            [ISODCL (  2,    2)]; /* 711 */
  67.     u_char version            [ISODCL (  3,    3)];
  68. } ISO_SUSP_HEADER;
  69.  
  70. typedef struct {
  71.     ISO_SUSP_HEADER            h;
  72.     char mode            [ISODCL (  4,   11)]; /* 733 */
  73.     char links            [ISODCL ( 12,   19)]; /* 733 */
  74.     char uid            [ISODCL ( 20,   27)]; /* 733 */
  75.     char gid            [ISODCL ( 28,   35)]; /* 733 */
  76. } ISO_RRIP_ATTR;
  77.  
  78. typedef struct {
  79.     ISO_SUSP_HEADER            h;
  80.     char dev_t_high            [ISODCL (  4,   11)]; /* 733 */
  81.     char dev_t_low            [ISODCL ( 12,   19)]; /* 733 */
  82. } ISO_RRIP_DEVICE;
  83.  
  84. #define    ISO_SUSP_CFLAG_CONTINUE    0x01
  85. #define    ISO_SUSP_CFLAG_CURRENT    0x02
  86. #define    ISO_SUSP_CFLAG_PARENT    0x04
  87. #define    ISO_SUSP_CFLAG_ROOT    0x08
  88. #define    ISO_SUSP_CFLAG_VOLROOT    0x10
  89. #define    ISO_SUSP_CFLAG_HOST    0x20
  90.  
  91. typedef struct {
  92.     u_char cflag            [ISODCL (  1,    1)];
  93.     u_char clen            [ISODCL (  2,    2)];
  94.     u_char name            [1];            /* XXX */
  95. } ISO_RRIP_SLINK_COMPONENT;
  96. #define    ISO_RRIP_SLSIZ    2
  97.  
  98. typedef struct {
  99.     ISO_SUSP_HEADER            h;
  100.     u_char flags            [ISODCL (  4,    4)];
  101.     u_char component        [ISODCL (  5,    5)];
  102. } ISO_RRIP_SLINK;
  103.  
  104. typedef struct {
  105.     ISO_SUSP_HEADER            h;
  106.     char flags            [ISODCL (  4,    4)];
  107. } ISO_RRIP_ALTNAME;
  108.  
  109. typedef struct {
  110.     ISO_SUSP_HEADER            h;
  111.     char dir_loc            [ISODCL (  4,    11)]; /* 733 */
  112. } ISO_RRIP_CLINK;
  113.  
  114. typedef struct {
  115.     ISO_SUSP_HEADER            h;
  116.     char dir_loc            [ISODCL (  4,    11)]; /* 733 */
  117. } ISO_RRIP_PLINK;
  118.  
  119. typedef struct {
  120.     ISO_SUSP_HEADER            h;
  121. } ISO_RRIP_RELDIR;
  122.  
  123. #define    ISO_SUSP_TSTAMP_FORM17    0x80
  124. #define    ISO_SUSP_TSTAMP_FORM7    0x00
  125. #define    ISO_SUSP_TSTAMP_CREAT    0x01
  126. #define    ISO_SUSP_TSTAMP_MODIFY    0x02
  127. #define    ISO_SUSP_TSTAMP_ACCESS    0x04
  128. #define    ISO_SUSP_TSTAMP_ATTR    0x08
  129. #define    ISO_SUSP_TSTAMP_BACKUP    0x10
  130. #define    ISO_SUSP_TSTAMP_EXPIRE    0x20
  131. #define    ISO_SUSP_TSTAMP_EFFECT    0x40
  132.  
  133. typedef struct {
  134.     ISO_SUSP_HEADER            h;
  135.     u_char flags            [ISODCL (  4,    4)];
  136.     u_char time            [ISODCL (  5,    5)];
  137. } ISO_RRIP_TSTAMP;
  138.  
  139. typedef struct {
  140.     ISO_SUSP_HEADER            h;
  141.     u_char flags            [ISODCL (  4,    4)];
  142. } ISO_RRIP_IDFLAG;
  143.  
  144. typedef struct {
  145.     ISO_SUSP_HEADER            h;
  146.     char len_id            [ISODCL (  4,    4)];
  147.     char len_des            [ISODCL (  5,     5)];
  148.     char len_src            [ISODCL (  6,     6)];
  149.     char version            [ISODCL (  7,     7)];
  150. } ISO_RRIP_EXTREF;
  151.  
  152. typedef struct {
  153.     ISO_SUSP_HEADER            h;
  154.     char check            [ISODCL (  4,     5)];
  155.     char skip            [ISODCL (  6,     6)];
  156. } ISO_RRIP_OFFSET;
  157.  
  158. typedef struct {
  159.     ISO_SUSP_HEADER            h;
  160.     char location            [ISODCL (  4,    11)];
  161.     char offset            [ISODCL ( 12,    19)];
  162.     char length            [ISODCL ( 20,    27)];
  163. } ISO_RRIP_CONT;
  164.