xref: /minix3/minix/fs/mfs/buf.h (revision 0314acfb2d68447dfa1b0b33aa4c25b1cbfa85d3)
1433d6423SLionel Sambuc #ifndef __MFS_BUF_H__
2433d6423SLionel Sambuc #define __MFS_BUF_H__
3433d6423SLionel Sambuc 
4433d6423SLionel Sambuc #include "clean.h"
5433d6423SLionel Sambuc 
6433d6423SLionel Sambuc union fsdata_u {
7433d6423SLionel Sambuc     char b__data[1];			/* ordinary user data */
8*0314acfbSDavid van Moolenbroek     struct direct b__dir[1];		/* directory block */
9*0314acfbSDavid van Moolenbroek     zone_t  b__v2_ind[1];		/* V2 indirect block */
10*0314acfbSDavid van Moolenbroek     d2_inode b__v2_ino[1];		/* V2 inode block */
11*0314acfbSDavid van Moolenbroek     bitchunk_t b__bitmap[1];		/* bit map block */
12433d6423SLionel Sambuc };
13433d6423SLionel Sambuc 
14433d6423SLionel Sambuc /* These defs make it possible to use to bp->b_data instead of bp->b.b__data */
15433d6423SLionel Sambuc #define b_data(b)   ((union fsdata_u *) b->data)->b__data
16433d6423SLionel Sambuc #define b_dir(b)    ((union fsdata_u *) b->data)->b__dir
17433d6423SLionel Sambuc #define b_v2_ind(b) ((union fsdata_u *) b->data)->b__v2_ind
18433d6423SLionel Sambuc #define b_v2_ino(b) ((union fsdata_u *) b->data)->b__v2_ino
19433d6423SLionel Sambuc #define b_bitmap(b) ((union fsdata_u *) b->data)->b__bitmap
20433d6423SLionel Sambuc 
21433d6423SLionel Sambuc #endif
22