96c1db7b9d
Having WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS every four lines made the headers harder to read, made the diffs much worse each time we upgraded, and wasn't really providing any benefit. Before the next uapi update, let's just stop doing this. Bug: N/A Test: builds, manually inspected files look right Change-Id: Id7088cf750894c9d24950f3d53587fe3156c4f7d
126 lines
4.2 KiB
C
126 lines
4.2 KiB
C
/****************************************************************************
|
|
****************************************************************************
|
|
***
|
|
*** This header was automatically generated from a Linux kernel header
|
|
*** of the same name, to make information necessary for userspace to
|
|
*** call into the kernel available to libc. It contains only constants,
|
|
*** structures, and macros generated from the original header, and thus,
|
|
*** contains no copyrightable information.
|
|
***
|
|
*** To edit the content of this header, modify the corresponding
|
|
*** source file (e.g. under external/kernel-headers/original/) then
|
|
*** run bionic/libc/kernel/tools/update_all.py
|
|
***
|
|
*** Any manual change here will be lost the next time this script will
|
|
*** be run. You've been warned!
|
|
***
|
|
****************************************************************************
|
|
****************************************************************************/
|
|
#ifndef _LINUX_NILFS2_API_H
|
|
#define _LINUX_NILFS2_API_H
|
|
#include <linux/types.h>
|
|
#include <linux/ioctl.h>
|
|
struct nilfs_cpinfo {
|
|
__u32 ci_flags;
|
|
__u32 ci_pad;
|
|
__u64 ci_cno;
|
|
__u64 ci_create;
|
|
__u64 ci_nblk_inc;
|
|
__u64 ci_inodes_count;
|
|
__u64 ci_blocks_count;
|
|
__u64 ci_next;
|
|
};
|
|
enum {
|
|
NILFS_CPINFO_SNAPSHOT,
|
|
NILFS_CPINFO_INVALID,
|
|
NILFS_CPINFO_SKETCH,
|
|
NILFS_CPINFO_MINOR,
|
|
};
|
|
#define NILFS_CPINFO_FNS(flag,name) static inline int nilfs_cpinfo_ ##name(const struct nilfs_cpinfo * cpinfo) \
|
|
{ return ! ! (cpinfo->ci_flags & (1UL << NILFS_CPINFO_ ##flag)); \
|
|
}
|
|
#define NILFS_SUINFO_FNS(flag,name) static inline int nilfs_suinfo_ ##name(const struct nilfs_suinfo * si) \
|
|
{ return si->sui_flags & (1UL << NILFS_SUINFO_ ##flag); \
|
|
}
|
|
struct nilfs_suinfo_update {
|
|
__u64 sup_segnum;
|
|
__u32 sup_flags;
|
|
__u32 sup_reserved;
|
|
struct nilfs_suinfo sup_sui;
|
|
};
|
|
enum {
|
|
NILFS_SUINFO_UPDATE_LASTMOD,
|
|
NILFS_SUINFO_UPDATE_NBLOCKS,
|
|
NILFS_SUINFO_UPDATE_FLAGS,
|
|
__NR_NILFS_SUINFO_UPDATE_FIELDS,
|
|
};
|
|
#define NILFS_SUINFO_UPDATE_FNS(flag,name) static inline void nilfs_suinfo_update_set_ ##name(struct nilfs_suinfo_update * sup) \
|
|
{ sup->sup_flags |= 1UL << NILFS_SUINFO_UPDATE_ ##flag; \
|
|
} static inline void nilfs_suinfo_update_clear_ ##name(struct nilfs_suinfo_update * sup) \
|
|
{ sup->sup_flags &= ~(1UL << NILFS_SUINFO_UPDATE_ ##flag); \
|
|
} static inline int nilfs_suinfo_update_ ##name(const struct nilfs_suinfo_update * sup) \
|
|
{ return ! ! (sup->sup_flags & (1UL << NILFS_SUINFO_UPDATE_ ##flag)); \
|
|
}
|
|
struct nilfs_argv {
|
|
__u64 v_base;
|
|
__u32 v_nmembs;
|
|
__u16 v_size;
|
|
__u16 v_flags;
|
|
__u64 v_index;
|
|
};
|
|
struct nilfs_period {
|
|
__u64 p_start;
|
|
__u64 p_end;
|
|
};
|
|
struct nilfs_cpstat {
|
|
__u64 cs_cno;
|
|
__u64 cs_ncps;
|
|
__u64 cs_nsss;
|
|
};
|
|
struct nilfs_sustat {
|
|
__u64 ss_nsegs;
|
|
__u64 ss_ncleansegs;
|
|
__u64 ss_ndirtysegs;
|
|
__u64 ss_ctime;
|
|
__u64 ss_nongc_ctime;
|
|
__u64 ss_prot_seq;
|
|
};
|
|
struct nilfs_vinfo {
|
|
__u64 vi_vblocknr;
|
|
__u64 vi_start;
|
|
__u64 vi_end;
|
|
__u64 vi_blocknr;
|
|
};
|
|
struct nilfs_vdesc {
|
|
__u64 vd_ino;
|
|
__u64 vd_cno;
|
|
__u64 vd_vblocknr;
|
|
struct nilfs_period vd_period;
|
|
__u64 vd_blocknr;
|
|
__u64 vd_offset;
|
|
__u32 vd_flags;
|
|
__u32 vd_pad;
|
|
};
|
|
struct nilfs_bdesc {
|
|
__u64 bd_ino;
|
|
__u64 bd_oblocknr;
|
|
__u64 bd_blocknr;
|
|
__u64 bd_offset;
|
|
__u32 bd_level;
|
|
__u32 bd_pad;
|
|
};
|
|
#define NILFS_IOCTL_IDENT 'n'
|
|
#define NILFS_IOCTL_CHANGE_CPMODE _IOW(NILFS_IOCTL_IDENT, 0x80, struct nilfs_cpmode)
|
|
#define NILFS_IOCTL_DELETE_CHECKPOINT _IOW(NILFS_IOCTL_IDENT, 0x81, __u64)
|
|
#define NILFS_IOCTL_GET_CPINFO _IOR(NILFS_IOCTL_IDENT, 0x82, struct nilfs_argv)
|
|
#define NILFS_IOCTL_GET_CPSTAT _IOR(NILFS_IOCTL_IDENT, 0x83, struct nilfs_cpstat)
|
|
#define NILFS_IOCTL_GET_SUINFO _IOR(NILFS_IOCTL_IDENT, 0x84, struct nilfs_argv)
|
|
#define NILFS_IOCTL_GET_SUSTAT _IOR(NILFS_IOCTL_IDENT, 0x85, struct nilfs_sustat)
|
|
#define NILFS_IOCTL_GET_VINFO _IOWR(NILFS_IOCTL_IDENT, 0x86, struct nilfs_argv)
|
|
#define NILFS_IOCTL_GET_BDESCS _IOWR(NILFS_IOCTL_IDENT, 0x87, struct nilfs_argv)
|
|
#define NILFS_IOCTL_CLEAN_SEGMENTS _IOW(NILFS_IOCTL_IDENT, 0x88, struct nilfs_argv[5])
|
|
#define NILFS_IOCTL_SYNC _IOR(NILFS_IOCTL_IDENT, 0x8A, __u64)
|
|
#define NILFS_IOCTL_RESIZE _IOW(NILFS_IOCTL_IDENT, 0x8B, __u64)
|
|
#define NILFS_IOCTL_SET_ALLOC_RANGE _IOW(NILFS_IOCTL_IDENT, 0x8C, __u64[2])
|
|
#define NILFS_IOCTL_SET_SUINFO _IOW(NILFS_IOCTL_IDENT, 0x8D, struct nilfs_argv)
|
|
#endif
|