 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
cd_xar(3)
NAME
cd_xar, cd_cxar - Reads the Extended Attribute Record for a CD-ROM file or
directory from the CD-ROM
LIBRARY
Rock Ridge and X/Open Extensions to the CDFS library (libcdrom.so,
libcdrom.a)
SYNOPSIS
#include <sys/cdrom.h>
int cd_xar (
char *path,
int fsec,
struct iso9660_xar *xar,
int applen,
int esclen );
int cd_cxar (
char *path,
int fsec,
char *addr,
int xarlen );
PARAMETERS
*path
Points to the file or directory within the CD-ROM File System
hierarchy.
fsec
Specifies the File Section of the file or directory pointed to by
*path, with the numbering beginning at one. If fsec is set to -1, the
last File Section of the named file or the only File Section of the
named directory is assumed.
*xar
Points to the iso9660_xar structure that holds the Extended Attribute
Record (XAR) information. The iso9660_xar structure is defined in
cdfs/xcdr.h, an include file that is called into sys/cdrom.h
applen
Used in conjunction with esclen, determines how many bytes will be
copied to the address specified by the *xar structure member app_use.
esclen
Used in conjunction with applen, determines how many bytes will be
copied to the address specified by the *xar structure member esc_seq.
*addr
Specifies the address where the function cd_cxar copies the XAR that is
recorded on the CD-ROM.
xarlen
Determines if part or all of the XAR will be read.
DESCRIPTION
The cd_xar routine fills the *xar structure with the contents of the
Extended Attribute Record (XAR) that is associated with the file or
directory pointed to by *path.
The total number of logical blocks of an XAR can be obtained by calling the
cd_drec function. The Logical Block Size in bytes can be obtained by
calling the cd_pvd function. The length of the fixed part of the XAR is
given by {CD_XARFIXL}. The variable {CD_XARFIXL} is defined in
cdfs/xcdr.h, an include file that is called into sys/cdrom.h.
The cd_cxar function copies the XAR as recorded on the CD-ROM to the
address pointed to by *addr.
RETURN VALUES
If successful, the routines return the following values:
The cd_xar function returns the number of bytes copied for the variable
part of the XAR.
The cd_cxar function returns the number of bytes copied.
If unsuccessful, the integer -1 is returned and errno is set to indicate
the error.
ERRORS
The function will fail if:
[EACCES] Search permission is denied for a directory in *path or read
permission is denied for the file or directory pointed to by
*path.
[EFAULT] The address of *path or *addr is invalid.
[EINTR] A signal was caught during execution of the function.
[EINVAL] The argument *path points to a file or directory that is not
within the CD-ROM file hierarchy.
The value of fsec or xarlen is invalid.
[EMFILE] {OPEN_MAX} file descriptors are currently open in the calling
process.
[Tru64 UNIX] Either the OPEN_MAX value or the per-process soft
descriptor limit is checked.
[ENAMETOOLONG]
The length of the *path string exceeds {PATH_MAX}, or a pathname
component is longer than {NAME_MAX} while {_POSIX_NO_TRUNC} is in
effect.
[ENFILE] The system file table is full.
[ENODEV] The Volume containing the File Section indicated by fsec is not
mounted.
[ENOENT] A component of *path does not exist, or the *path argument points
to an empty string.
The File Section indicated by fsec has no XAR.
[ENOTDIR] A component of the *path prefix is not a directory.
[ENXIO] The CD-ROM is not in the drive, or a read error occurred.
RELATED INFORMATION
Files: cdfs/xcdr.h, sys/cdrom.h.
Functions: cd_drec(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|