Here the struct has not changed, but the names for the types have changed.Thus, instead of looking at <linux/version.h> and <linux/posix_types.h>one could have a completely kernel-independent source with different definesfor each architecture.

But, all that nonsense is needed only for the obsolete struct loop_info.Any new program should use struct loop_info64, and it has a clean definition: