home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_07_04
/
v7n4039a.txt
< prev
next >
Wrap
Text File
|
1988-09-13
|
3KB
|
70 lines
#ifndef BYTE_DEF
typedef unsigned char byte;
typedef unsigned short word;
#define BYTE_DEF
#endif
/*------------------------------------------------------*/
/* This is the structure of a ProDos directory entry. */
/* Reference: "Beneath Apple ProDOS", Worth & Lechner */
/*------------------------------------------------------*/
struct pro_dir {
byte typ_len; /* Hi Nibble-> Type of entry, Lo->length of fname */
byte fname[15]; /* File name */
byte type; /* File Type */
word key_ptr; /* File "key block", block number */
word fsize; /* File size in blocks (includes index blocks */
byte file_len[3]; /* File length in bytes (data only) */
word date; /* Creation date */
word time; /* Creation time */
byte version; /* Version of ProDOS created under */
byte min_vers; /* minimum version of ProDOS supported */
byte permiss; /* Read/Write etc... permissions */
word aux_type; /* Auxillary file type (or misc use) */
word moddate; /* last modified date and time */
word modtime;
word head_ptr; /* Pointer to Key block of the directory */
};
/*----------------------------------------------------------------------*/
/* This is the structure of a ProDOS directory block. */
/* Reference: "Beneath Apple ProDOS", Worth & Lechner */
/*----------------------------------------------------------------------*/
struct pro_block {
word prev; /* Sector of previous directory block */
word next; /* Sector of next directory block */
struct pro_dir dir[13]; /* 13 directory entries */
};
/*----------------------------------------------------------------------*/
/* This is the structure of the ProDOS Volume directory entry. */
/* The volume entry is the first directory entry of the (dir[0]) */
/* ProDOS root directory. */
/* Reference: "Beneath Apple ProDOS", Worth & Lechner */
/*----------------------------------------------------------------------*/
struct vol_entry {
byte typ_len; /* type of entry and length of volume name */
byte vol_name[15]; /* Volume name */
byte reserve[8]; /* Reserved for future use. */
word date; /* Volume creation date */
word time; /* Volume creation time */
byte version; /* Version of ProDOS volume was created under */
byte min_vers; /* Mininum version of ProDOS supported */
byte permiss; /* Read/Write/Archive permission's etc... */
byte entry_len; /* Len of each entry in Volume directory (0x27) */
byte entries_per_blk; /* No. of entries per block. (0x0d) */
word file_cnt; /* Number of active directory entries. */
word bit_map_ptr; /* Block No. of first Volume bit map block */
word total_blks; /* Total number of blocks in Volume */
};
/*----------------------------------------------------------------------*/
/* This is the structure of the Volume directory block. */
/*----------------------------------------------------------------------*/
struct pro_volume {
word prev;
word next;
struct vol_entry vol;
struct pro_dir dir[12];
};