Search code examples
cincludecompiler-errorscompilationext2

What's wrong with linux/ext2_fs.h?


cat main.c

#include <stdio.h>
#include <stdlib.h>
#include <linux/ext2_fs.h>

int main(int argc, char** argv) {

    return (EXIT_SUCCESS);
}

Here is my output...

gcc main.c In file included from main.c:3:

/usr/include/linux/ext2_fs.h: In function ‘ext2_mask_flags’:

/usr/include/linux/ext2_fs.h:182: error: ‘FS_DIRSYNC_FL’ undeclared (first use in this function)

/usr/include/linux/ext2_fs.h:182: error: (Each undeclared identifier is reported only once

/usr/include/linux/ext2_fs.h:182: error: for each function it appears in.)

/usr/include/linux/ext2_fs.h:182: error: ‘FS_TOPDIR_FL’ undeclared (first use in this function)

/usr/include/linux/ext2_fs.h:184: error: ‘FS_NODUMP_FL’ undeclared (first use in this function)

/usr/include/linux/ext2_fs.h:184: error: ‘FS_NOATIME_FL’ undeclared (first use in this function)

If I remove #include <linux/ext2_fs.h> the program compiles successfully...


Solution

  • You need to add #include <linux/fs.h>