#include <stdio.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/param.h>
#include <vfs/ufs/ufs_types.h>
#include <vfs/ufs/fs.h>

int main(void){
    struct fs f;
    printf("sizeof(struct fs) = %zu\n", sizeof(struct fs));
    printf("offsetof fs_firstfield   = %zu\n", offsetof(struct fs, fs_firstfield));
    printf("offsetof fs_sblkno       = %zu\n", offsetof(struct fs, fs_sblkno));
    printf("offsetof fs_time         = %zu\n", offsetof(struct fs, fs_time));
    printf("offsetof fs_ncg          = %zu\n", offsetof(struct fs, fs_ncg));
    printf("offsetof fs_bsize        = %zu\n", offsetof(struct fs, fs_bsize));
    printf("offsetof fs_fsize        = %zu\n", offsetof(struct fs, fs_fsize));
    printf("offsetof fs_frag         = %zu\n", offsetof(struct fs, fs_frag));
    printf("offsetof fs_fragshift    = %zu\n", offsetof(struct fs, fs_fragshift));
    printf("offsetof fs_sbsize       = %zu\n", offsetof(struct fs, fs_sbsize));
    printf("offsetof fs_cssize       = %zu\n", offsetof(struct fs, fs_cssize));
    printf("offsetof fs_cgsize       = %zu\n", offsetof(struct fs, fs_cgsize));
    printf("offsetof fs_ipg          = %zu\n", offsetof(struct fs, fs_ipg));
    printf("offsetof fs_fpg          = %zu\n", offsetof(struct fs, fs_fpg));
    printf("offsetof fs_contigsumsize= %zu\n", offsetof(struct fs, fs_contigsumsize));
    printf("offsetof fs_maxsymlinklen= %zu\n", offsetof(struct fs, fs_maxsymlinklen));
    printf("offsetof fs_magic        = %zu\n", offsetof(struct fs, fs_magic));
    printf("offsetof fs_space        = %zu\n", offsetof(struct fs, fs_space));
    printf("offsetof fs_postblformat = %zu\n", offsetof(struct fs, fs_postblformat));
    printf("offsetof fs_id           = %zu\n", offsetof(struct fs, fs_id));
    printf("offsetof fs_csaddr       = %zu\n", offsetof(struct fs, fs_csaddr));
    printf("offsetof fs_cgoffset     = %zu\n", offsetof(struct fs, fs_cgoffset));
    printf("offsetof fs_size         = %zu\n", offsetof(struct fs, fs_size));
    printf("offsetof fs_dsize        = %zu\n", offsetof(struct fs, fs_dsize));
    printf("offsetof fs_clean        = %zu\n", offsetof(struct fs, fs_clean));
    printf("offsetof fs_flags        = %zu\n", offsetof(struct fs, fs_flags));
    printf("offsetof fs_fsmnt        = %zu\n", offsetof(struct fs, fs_fsmnt));
    printf("offsetof fs_postbloff    = %zu\n", offsetof(struct fs, fs_postbloff));
    printf("offsetof fs_rotbloff     = %zu\n", offsetof(struct fs, fs_rotbloff));
    printf("offsetof fs_cpc          = %zu\n", offsetof(struct fs, fs_cpc));
    printf("offsetof fs_opostbl      = %zu\n", offsetof(struct fs, fs_opostbl));
    printf("offsetof fs_cgrotor      = %zu\n", offsetof(struct fs, fs_cgrotor));
    printf("offsetof fs_ocsp         = %zu\n", offsetof(struct fs, fs_ocsp));
    printf("offsetof fs_contigdirs   = %zu\n", offsetof(struct fs, fs_contigdirs));
    printf("offsetof fs_csp          = %zu\n", offsetof(struct fs, fs_csp));
    printf("offsetof fs_maxcluster   = %zu\n", offsetof(struct fs, fs_maxcluster));
    printf("offsetof fs_avgfilesize  = %zu\n", offsetof(struct fs, fs_avgfilesize));
    printf("offsetof fs_avgfpdir     = %zu\n", offsetof(struct fs, fs_avgfpdir));
    return 0;
}
