1 /*
2    dynio.h -- Prototypes for `dynio.f'.
3 
4    Copyright (C) 1994-95  K. Scott Hunziker.
5    Copyright (C) 1990-94  The Boeing Company.
6 
7    See the file COPYING for license, warranty, and permission details.
8 */
9 
10 /* $Id: dynio.h,v 1.1.1.1 1996/04/17 05:56:17 ksh Exp $ */
11 
12 #ifndef DYNIO_H
13 #define DYNIO_H	1
14 
15 #include "entity.h"
16 
17 #if BINARY_FORMAT == CRAY_FLOAT
18 
19 /*
20  * Control word structures for blocked files.  See the blocked(5) man page.
21  * We shouldn't have to define these here, since they're given in the
22  * cosio.h file.  Unfortunately, for a reason that escapes me, you have
23  * to know somebody to have access to the /usr/src/lib directory where
24  * it resides.
25  */
26 
27 typedef struct {		/*	-- Block Control Word --	*/
28     unsigned int m	:  4 ;	/* 0					*/
29     unsigned int u1	:  7 ;	/* unused				*/
30     unsigned int bdf	:  1 ;	/* bad data flag (currently unused)	*/
31     unsigned int u2	: 19 ;	/* unused				*/
32     unsigned int bn	: 24 ;	/* block number (modulo 2^24)		*/
33     unsigned int fwi	:  9 ;	/* forward index			*/
34 } BCW;
35 
36 typedef struct {		/*	-- Record Control Word --	*/
37     unsigned int m	:  4 ;	/* { EOR=8, EOF=14, EOD=15 }		*/
38     unsigned int ubc	:  6 ;	/* unused bit count			*/
39     unsigned int tran	:  1 ;	/* transparent record field (unused)	*/
40     unsigned int bdf	:  1 ;	/* bad data flag (unused)		*/
41     unsigned int srs	:  1 ;	/* skip remainder of sector (unused)	*/
42     unsigned int u1	:  7 ;	/* unused				*/
43     unsigned int pf	: 20 ;	/* previous file index (unused)		*/
44     unsigned int pri	: 15 ;	/* previous record index		*/
45     unsigned int fwi	:  9 ;	/* forward index			*/
46 } RCW;
47 
48 typedef union { BCW bcw; RCW rcw; } CW;
49 
50 #endif	/* CRAY_FLOAT */
51 
52 extern ENTITY *PROTO( bi_getdyn, ( int n, ENTITY *fp ) );
53 extern ENTITY *PROTO( bi_putdyn, ( int n, ENTITY *t, ENTITY *fname ) );
54 
55 #endif				/* DYNIO_H */
56