/* * * Statistics block defintions */ #ifndef _SBKDEF_H #define _SBKDEF_H /* This block is used to report various data regarding an open file to the requesting program. The first two longwords are presented in inverted form for compatibility with the old rsx-11 statistics block. */ #define SBK$K_LENGTH 32 #define SBK$C_LENGTH 32 struct sbkdef { union { unsigned long sbk$l_stlbn; /* starting LBN if contiguous */ struct { unsigned short sbk$w_stlbnh; /* high order word */ unsigned short sbk$w_stlbnl; /* low order word */ } sbk$r_stlbn_fields; } sbk$r_stlbn_overlay; union { unsigned long sbk$l_filesize; /* file size */ struct { unsigned short sbk$w_filesizh; /* high order word */ unsigned short sbk$w_filesizl; /* low order word */ } sbk$r_filesize_fields; } sbk$r_filesize_overlay; /* the following two fields are for rsx-11 compatibility */ unsigned char sbk$b_acnt; /* low byte of access count */ unsigned char sbk$b_lcnt; /* low byte of lock count */ unsigned long sbk$l_fcb; /* address of file control block */ unsigned : 16; /* short fill; spare */ unsigned short sbk$w_acnt; /* access count */ unsigned short sbk$w_lcnt; /* lock count (against writers) */ unsigned short sbk$w_wcnt; /* writer count */ unsigned short sbk$w_tcnt; /* truncate lock count */ unsigned long sbk$l_reads; /* count of reads executed on channel */ unsigned long sbk$l_writes; /* count of writes executed on channel */ }; #endif /*_SBKDEF_H*/