165789Smckusick /*- 265789Smckusick * Copyright (c) 1993, 1994 365789Smckusick * The Regents of the University of California. All rights reserved. 465789Smckusick * 565789Smckusick * This code is derived from software contributed to Berkeley 665789Smckusick * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 765789Smckusick * Support code is derived from software contributed to Berkeley 865789Smckusick * by Atsushi Murai (amurai@spec.co.jp). 965789Smckusick * 1065789Smckusick * %sccs.include.redist.c% 1165789Smckusick * 12*65855Smckusick * @(#)iso_rrip.h 8.2 (Berkeley) 01/23/94 1365789Smckusick */ 1465789Smckusick 1565789Smckusick 1665789Smckusick /* 1765789Smckusick * Analyze function flag (similar to RR field bits) 1865789Smckusick */ 1965789Smckusick #define ISO_SUSP_ATTR 0x0001 2065789Smckusick #define ISO_SUSP_DEVICE 0x0002 2165789Smckusick #define ISO_SUSP_SLINK 0x0004 2265789Smckusick #define ISO_SUSP_ALTNAME 0x0008 2365789Smckusick #define ISO_SUSP_CLINK 0x0010 2465789Smckusick #define ISO_SUSP_PLINK 0x0020 2565789Smckusick #define ISO_SUSP_RELDIR 0x0040 2665789Smckusick #define ISO_SUSP_TSTAMP 0x0080 2765789Smckusick #define ISO_SUSP_IDFLAG 0x0100 2865789Smckusick #define ISO_SUSP_EXTREF 0x0200 2965789Smckusick #define ISO_SUSP_CONT 0x0400 3065789Smckusick #define ISO_SUSP_OFFSET 0x0800 3165789Smckusick #define ISO_SUSP_STOP 0x1000 3265789Smckusick #define ISO_SUSP_UNKNOWN 0x8000 3365789Smckusick 3465789Smckusick typedef struct { 3565789Smckusick struct iso_node *inop; 3665789Smckusick int fields; /* interesting fields in this analysis */ 3765789Smckusick daddr_t iso_ce_blk; /* block of continuation area */ 3865789Smckusick off_t iso_ce_off; /* offset of continuation area */ 3965789Smckusick int iso_ce_len; /* length of continuation area */ 4065789Smckusick struct iso_mnt *imp; /* mount structure */ 4165789Smckusick ino_t *inump; /* inode number pointer */ 4265789Smckusick char *outbuf; /* name/symbolic link output area */ 4365789Smckusick u_short *outlen; /* length of above */ 4465789Smckusick u_short maxlen; /* maximum length of above */ 4565789Smckusick int cont; /* continuation of above */ 4665789Smckusick } ISO_RRIP_ANALYZE; 4765789Smckusick 48*65855Smckusick int cd9660_rrip_analyze __P((struct iso_directory_record *isodir, 4965789Smckusick struct iso_node *inop, struct iso_mnt *imp)); 50*65855Smckusick int cd9660_rrip_getname __P((struct iso_directory_record *isodir, 5165789Smckusick char *outbuf, u_short *outlen, 5265789Smckusick ino_t *inump, struct iso_mnt *imp)); 53*65855Smckusick int cd9660_rrip_getsymname __P((struct iso_directory_record *isodir, 5465789Smckusick char *outbuf, u_short *outlen, 5565789Smckusick struct iso_mnt *imp)); 56*65855Smckusick int cd9660_rrip_offset __P((struct iso_directory_record *isodir, 5765789Smckusick struct iso_mnt *imp)); 58