summaryrefslogtreecommitdiff
path: root/platform/sysroot/usr/include/linux/nilfs2_api.h
blob: 993f1fdc43b78a13b0e524c3743977a312232ed2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
 * This file is auto-generated. Modifications will be lost.
 *
 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
 * for more information.
 */
#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)); \
}
struct nilfs_suinfo {
  __u64 sui_lastmod;
  __u32 sui_nblocks;
  __u32 sui_flags;
};
enum {
  NILFS_SUINFO_ACTIVE,
  NILFS_SUINFO_DIRTY,
  NILFS_SUINFO_ERROR,
};
#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)); \
}
enum {
  NILFS_CHECKPOINT,
  NILFS_SNAPSHOT,
};
struct nilfs_cpmode {
  __u64 cm_cno;
  __u32 cm_mode;
  __u32 cm_pad;
};
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