xref: /minix3/minix/fs/mfs/buf.h (revision 50b7f13f9fbd498540451ca8c6411c6a364ce95c)
1433d6423SLionel Sambuc #ifndef __MFS_BUF_H__
2433d6423SLionel Sambuc #define __MFS_BUF_H__
3433d6423SLionel Sambuc 
4433d6423SLionel Sambuc #include "clean.h"
5433d6423SLionel Sambuc 
6*50b7f13fSCristiano Giuffrida union ixfer_fsdata_u {
7433d6423SLionel Sambuc     char b__data[1];			/* ordinary user data */
80314acfbSDavid van Moolenbroek     struct direct b__dir[1];		/* directory block */
90314acfbSDavid van Moolenbroek     zone_t  b__v2_ind[1];		/* V2 indirect block */
100314acfbSDavid van Moolenbroek     d2_inode b__v2_ino[1];		/* V2 inode block */
110314acfbSDavid 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 */
15*50b7f13fSCristiano Giuffrida #define b_data(b)   ((union ixfer_fsdata_u *) b->data)->b__data
16*50b7f13fSCristiano Giuffrida #define b_dir(b)    ((union ixfer_fsdata_u *) b->data)->b__dir
17*50b7f13fSCristiano Giuffrida #define b_v2_ind(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ind
18*50b7f13fSCristiano Giuffrida #define b_v2_ino(b) ((union ixfer_fsdata_u *) b->data)->b__v2_ino
19*50b7f13fSCristiano Giuffrida #define b_bitmap(b) ((union ixfer_fsdata_u *) b->data)->b__bitmap
20433d6423SLionel Sambuc 
21433d6423SLionel Sambuc #endif
22