xref: /minix3/minix/fs/mfs/buf.h (revision 50b7f13f9fbd498540451ca8c6411c6a364ce95c)
1 #ifndef __MFS_BUF_H__
2 #define __MFS_BUF_H__
3 
4 #include "clean.h"
5 
6 union ixfer_fsdata_u {
7     char b__data[1];			/* ordinary user data */
8     struct direct b__dir[1];		/* directory block */
9     zone_t  b__v2_ind[1];		/* V2 indirect block */
10     d2_inode b__v2_ino[1];		/* V2 inode block */
11     bitchunk_t b__bitmap[1];		/* bit map block */
12 };
13 
14 /* These defs make it possible to use to bp->b_data instead of bp->b.b__data */
15 #define b_data(b)   ((union ixfer_fsdata_u *) b->data)->b__data
16 #define b_dir(b)    ((union ixfer_fsdata_u *) b->data)->b__dir
17 #define b_v2_ind(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ind
18 #define b_v2_ino(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ino
19 #define b_bitmap(b) ((union ixfer_fsdata_u *) b->data)->b__bitmap
20 
21 #endif
22