06.08.2013 Views

pSOSystem System Calls - Read

pSOSystem System Calls - Read

pSOSystem System Calls - Read

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

pHILE+ <strong>System</strong> <strong>Calls</strong> open_f<br />

/* CD-ROM Primary Volume Descriptor as read from _VOLUME.$Y$ */<br />

/*************************************************************/<br />

#define CDFS_NAMMAX 32 /* max node size (in bytes) */<br />

/* CD File <strong>System</strong> Directory Record (internal format) */<br />

typedef struct dir_cdfs {<br />

USHORT dr_reclen; /* directory record length */<br />

USHORT dr_xarlen; /* extended attribute record length */<br />

ULONG dr_extent; /* number of first data block in file */<br />

ULONG dr_fsize; /* byte size of file data space */<br />

ULONG dr_cdate; /* date when created (pSOS+ format) */<br />

ULONG dr_ctime; /* time when created (pSOS+ format) */<br />

USHORT dr_flags; /* directory flags per iso_dirrec */<br />

USHORT dr_namlen; /* byte length of name */<br />

char dr_name[CDFS_NAMMAX + 1] /*the name */<br />

} dir_cdfs_t;<br />

/* CD File <strong>System</strong> Volume Descriptor template returned to user upon read of */<br />

/* “_VOLUME.$Y$” virtual file */<br />

typedef struct desc_cdfs {<br />

UCHAR cd_type /* volume descriptor type */<br />

UCHAR cd_id[5+1]; /* standard identifier */<br />

UCHAR cd_vers; /* volume descriptor version */<br />

UCHAR cd_flags; /* volume flags */<br />

UCHAR cd_sysid[32+1]; /* system identifier */<br />

UCHAR cd_volid[32+1]; /* volume identifier */<br />

ULONG cd_volsize; /* volume space size */<br />

UCHAR cd_escseq[32]; /* escape sequences */<br />

USHORT cd_volsetsize; /* volume set size */<br />

USHORT cd_volseqnum; /* volume sequence number */<br />

USHORT cd_logblksize; /* logical block size */<br />

ULONG cd_pathtabsize; /* path table byte size */<br />

ULONG cd_pathtab; /* path table logical block */<br />

ULONG cd_pathtabopt; /* opt path table log block */<br />

struct dir_cdfs cd_rootdir; /* root directory */<br />

UCHAR cd_volsetid[128+1]; /* volume set identifier */<br />

UCHAR cd_pubid[128+1]; /* publisher identifier */<br />

UCHAR cd_prepid[128+1]; /* data preparer identifier */<br />

UCHAR cd_appid[128+1]; /* application identifier */<br />

UCHAR cd_cpyrid[37+1]; /* copyright file identifier */<br />

UCHAR cd_absfid[37+1]; /* abstract file identifier */<br />

UCHAR cd_bibfid[37+1]; /* bibliographic identifier */<br />

ULONG cd_cdate; /* volume create date (pSOS+ format) */<br />

ULONG cd_ctime; /* volume create time (pSOS+ format) */<br />

ULONG cd_mdate; /* modification time (pSOS+ format) */<br />

ULONG cd_xdate; /* expiration date (pSOS+ format) */<br />

ULONG cd_xtime; /* expiration time (pSOS+ format) */<br />

ULONG cd_edate; /* effective date (pSOS+ format) */<br />

UCHAR cd_svers; /* file structure version */<br />

UCHAR cd_appdata[512]; /* application private */<br />

}desc_cdfs_t;<br />

<strong>pSO<strong>System</strong></strong> <strong>System</strong> <strong>Calls</strong> 2-81<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!