Skip to content

Commit e7ce47a

Browse files
committed
Auto merge of #740 - alexcrichton:more64, r=alexcrichton
Add {,f}stat{,v}fs64 API bindings Closes #738
2 parents 33873fa + a36da11 commit e7ce47a

File tree

17 files changed

+497
-0
lines changed

17 files changed

+497
-0
lines changed

src/unix/notbsd/android/b32/mod.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,35 @@ s! {
6666
pub st_ino: ::c_ulonglong,
6767
}
6868

69+
pub struct statfs64 {
70+
pub f_type: u32,
71+
pub f_bsize: u32,
72+
pub f_blocks: u64,
73+
pub f_bfree: u64,
74+
pub f_bavail: u64,
75+
pub f_files: u64,
76+
pub f_ffree: u64,
77+
f_fsid: [u32; 2],
78+
pub f_namelen: u32,
79+
pub f_frsize: u32,
80+
pub f_flags: u32,
81+
pub f_spare: [u32; 4],
82+
}
83+
84+
pub struct statvfs64 {
85+
pub f_bsize: ::c_ulong,
86+
pub f_frsize: ::c_ulong,
87+
pub f_blocks: ::c_ulong,
88+
pub f_bfree: ::c_ulong,
89+
pub f_bavail: ::c_ulong,
90+
pub f_files: ::c_ulong,
91+
pub f_ffree: ::c_ulong,
92+
pub f_favail: ::c_ulong,
93+
pub f_fsid: ::c_ulong,
94+
pub f_flag: ::c_ulong,
95+
pub f_namemax: ::c_ulong,
96+
}
97+
6998
pub struct pthread_attr_t {
7099
pub flags: ::uint32_t,
71100
pub stack_base: *mut ::c_void,

src/unix/notbsd/android/b64/mod.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,36 @@ s! {
9494
pub mem_unit: ::c_uint,
9595
pub _f: [::c_char; 0],
9696
}
97+
98+
pub struct statfs64 {
99+
pub f_type: u64,
100+
pub f_bsize: u64,
101+
pub f_blocks: u64,
102+
pub f_bfree: u64,
103+
pub f_bavail: u64,
104+
pub f_files: u64,
105+
pub f_ffree: u64,
106+
f_fsid: [u32; 2],
107+
pub f_namelen: u64,
108+
pub f_frsize: u64,
109+
pub f_flags: u64,
110+
pub f_spare: [u64; 4],
111+
}
112+
113+
pub struct statvfs64 {
114+
pub f_bsize: ::c_ulong,
115+
pub f_frsize: ::c_ulong,
116+
pub f_blocks: u64,
117+
pub f_bfree: u64,
118+
pub f_bavail: u64,
119+
pub f_files: u64,
120+
pub f_ffree: u64,
121+
pub f_favail: u64,
122+
pub f_fsid: ::c_ulong,
123+
pub f_flag: ::c_ulong,
124+
pub f_namemax: ::c_ulong,
125+
__f_spare: [::c_int; 6],
126+
}
97127
}
98128

99129
pub const RTLD_GLOBAL: ::c_int = 0x00100;

src/unix/notbsd/linux/mips/mips32.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,40 @@ s! {
7676
st_pad5: [::c_long; 14],
7777
}
7878

79+
pub struct statfs64 {
80+
pub f_type: ::c_long,
81+
pub f_bsize: ::c_long,
82+
pub f_frsize: ::c_long,
83+
pub f_blocks: u64,
84+
pub f_bfree: u64,
85+
pub f_files: u64,
86+
pub f_ffree: u64,
87+
pub f_bavail: u64,
88+
pub f_fsid: ::fsid_t,
89+
pub f_namelen: ::c_long,
90+
pub f_flags: ::c_long,
91+
pub f_spare: [::c_long; 5],
92+
}
93+
94+
pub struct statvfs64 {
95+
pub f_bsize: ::c_ulong,
96+
pub f_frsize: ::c_ulong,
97+
pub f_blocks: u64,
98+
pub f_bfree: u64,
99+
pub f_bavail: u64,
100+
pub f_files: u64,
101+
pub f_ffree: u64,
102+
pub f_favail: u64,
103+
#[cfg(target_endian = "little")]
104+
pub f_fsid: ::c_ulong,
105+
__f_unused: ::c_int,
106+
#[cfg(target_endian = "big")]
107+
pub f_fsid: ::c_ulong,
108+
pub f_flag: ::c_ulong,
109+
pub f_namemax: ::c_ulong,
110+
__f_spare: [::c_int; 6],
111+
}
112+
79113
pub struct pthread_attr_t {
80114
__size: [u32; 9]
81115
}

src/unix/notbsd/linux/mips/mips64.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,36 @@ s! {
7676
st_pad5: [::c_long; 7],
7777
}
7878

79+
pub struct statfs64 {
80+
pub f_type: ::c_long,
81+
pub f_bsize: ::c_long,
82+
pub f_frsize: ::c_long,
83+
pub f_blocks: u64,
84+
pub f_bfree: u64,
85+
pub f_files: u64,
86+
pub f_ffree: u64,
87+
pub f_bavail: u64,
88+
pub f_fsid: ::fsid_t,
89+
pub f_namelen: ::c_long,
90+
pub f_flags: ::c_long,
91+
pub f_spare: [::c_long; 5],
92+
}
93+
94+
pub struct statvfs64 {
95+
pub f_bsize: ::c_ulong,
96+
pub f_frsize: ::c_ulong,
97+
pub f_blocks: u64,
98+
pub f_bfree: u64,
99+
pub f_bavail: u64,
100+
pub f_files: u64,
101+
pub f_ffree: u64,
102+
pub f_favail: u64,
103+
pub f_fsid: ::c_ulong,
104+
pub f_flag: ::c_ulong,
105+
pub f_namemax: ::c_ulong,
106+
__f_spare: [::c_int; 6],
107+
}
108+
79109
pub struct pthread_attr_t {
80110
__size: [::c_ulong; 7]
81111
}

src/unix/notbsd/linux/musl/b32/arm.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,37 @@ s! {
107107
pub _pad: [::c_int; 29],
108108
_align: [usize; 0],
109109
}
110+
111+
pub struct statfs64 {
112+
pub f_type: ::c_ulong,
113+
pub f_bsize: ::c_ulong,
114+
pub f_blocks: ::fsblkcnt_t,
115+
pub f_bfree: ::fsblkcnt_t,
116+
pub f_bavail: ::fsblkcnt_t,
117+
pub f_files: ::fsfilcnt_t,
118+
pub f_ffree: ::fsfilcnt_t,
119+
pub f_fsid: ::fsid_t,
120+
pub f_namelen: ::c_ulong,
121+
pub f_frsize: ::c_ulong,
122+
pub f_flags: ::c_ulong,
123+
pub f_spare: [::c_ulong; 4],
124+
}
125+
126+
pub struct statvfs64 {
127+
pub f_bsize: ::c_ulong,
128+
pub f_frsize: ::c_ulong,
129+
pub f_blocks: u64,
130+
pub f_bfree: u64,
131+
pub f_bavail: u64,
132+
pub f_files: u64,
133+
pub f_ffree: u64,
134+
pub f_favail: u64,
135+
pub f_fsid: ::c_ulong,
136+
__f_unused: ::c_int,
137+
pub f_flag: ::c_ulong,
138+
pub f_namemax: ::c_ulong,
139+
__f_spare: [::c_int; 6],
140+
}
110141
}
111142

112143
pub const O_DIRECT: ::c_int = 0x4000;

src/unix/notbsd/linux/musl/b32/asmjs.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,37 @@ s! {
107107
pub _pad: [::c_int; 29],
108108
_align: [usize; 0],
109109
}
110+
111+
pub struct statfs64 {
112+
pub f_type: ::c_ulong,
113+
pub f_bsize: ::c_ulong,
114+
pub f_blocks: ::fsblkcnt_t,
115+
pub f_bfree: ::fsblkcnt_t,
116+
pub f_bavail: ::fsblkcnt_t,
117+
pub f_files: ::fsfilcnt_t,
118+
pub f_ffree: ::fsfilcnt_t,
119+
pub f_fsid: ::fsid_t,
120+
pub f_namelen: ::c_ulong,
121+
pub f_frsize: ::c_ulong,
122+
pub f_flags: ::c_ulong,
123+
pub f_spare: [::c_ulong; 4],
124+
}
125+
126+
pub struct statvfs64 {
127+
pub f_bsize: ::c_ulong,
128+
pub f_frsize: ::c_ulong,
129+
pub f_blocks: u64,
130+
pub f_bfree: u64,
131+
pub f_bavail: u64,
132+
pub f_files: u64,
133+
pub f_ffree: u64,
134+
pub f_favail: u64,
135+
pub f_fsid: ::c_ulong,
136+
__f_unused: ::c_int,
137+
pub f_flag: ::c_ulong,
138+
pub f_namemax: ::c_ulong,
139+
__f_spare: [::c_int; 6],
140+
}
110141
}
111142

112143
pub const O_DIRECT: ::c_int = 0x4000;

src/unix/notbsd/linux/musl/b32/mips.rs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,40 @@ s! {
115115
pub _pad: [::c_int; 29],
116116
_align: [usize; 0],
117117
}
118+
119+
pub struct statfs64 {
120+
pub f_type: ::c_ulong,
121+
pub f_bsize: ::c_ulong,
122+
pub f_frsize: ::c_ulong,
123+
pub f_blocks: ::fsblkcnt_t,
124+
pub f_bfree: ::fsblkcnt_t,
125+
pub f_files: ::fsfilcnt_t,
126+
pub f_ffree: ::fsfilcnt_t,
127+
pub f_bavail: ::fsblkcnt_t,
128+
pub f_fsid: ::fsid_t,
129+
pub f_namelen: ::c_ulong,
130+
pub f_flags: ::c_ulong,
131+
pub f_spare: [::c_ulong; 5],
132+
}
133+
134+
pub struct statvfs64 {
135+
pub f_bsize: ::c_ulong,
136+
pub f_frsize: ::c_ulong,
137+
pub f_blocks: u64,
138+
pub f_bfree: u64,
139+
pub f_bavail: u64,
140+
pub f_files: u64,
141+
pub f_ffree: u64,
142+
pub f_favail: u64,
143+
#[cfg(target_endian = "little")]
144+
pub f_fsid: ::c_ulong,
145+
__f_unused: ::c_int,
146+
#[cfg(target_endian = "big")]
147+
pub f_fsid: ::c_ulong,
148+
pub f_flag: ::c_ulong,
149+
pub f_namemax: ::c_ulong,
150+
__f_spare: [::c_int; 6],
151+
}
118152
}
119153

120154
pub const O_DIRECT: ::c_int = 0o100000;

src/unix/notbsd/linux/musl/b32/x86.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,37 @@ s! {
120120
pub _pad: [::c_int; 29],
121121
_align: [usize; 0],
122122
}
123+
124+
pub struct statfs64 {
125+
pub f_type: ::c_ulong,
126+
pub f_bsize: ::c_ulong,
127+
pub f_blocks: ::fsblkcnt_t,
128+
pub f_bfree: ::fsblkcnt_t,
129+
pub f_bavail: ::fsblkcnt_t,
130+
pub f_files: ::fsfilcnt_t,
131+
pub f_ffree: ::fsfilcnt_t,
132+
pub f_fsid: ::fsid_t,
133+
pub f_namelen: ::c_ulong,
134+
pub f_frsize: ::c_ulong,
135+
pub f_flags: ::c_ulong,
136+
pub f_spare: [::c_ulong; 4],
137+
}
138+
139+
pub struct statvfs64 {
140+
pub f_bsize: ::c_ulong,
141+
pub f_frsize: ::c_ulong,
142+
pub f_blocks: u64,
143+
pub f_bfree: u64,
144+
pub f_bavail: u64,
145+
pub f_files: u64,
146+
pub f_ffree: u64,
147+
pub f_favail: u64,
148+
pub f_fsid: ::c_ulong,
149+
__f_unused: ::c_int,
150+
pub f_flag: ::c_ulong,
151+
pub f_namemax: ::c_ulong,
152+
__f_spare: [::c_int; 6],
153+
}
123154
}
124155

125156
pub const O_DIRECT: ::c_int = 0x4000;

src/unix/notbsd/linux/musl/b64/mod.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,36 @@ s! {
4646
__reserved: [::c_long; 3],
4747
}
4848

49+
pub struct statfs64 {
50+
pub f_type: ::c_ulong,
51+
pub f_bsize: ::c_ulong,
52+
pub f_blocks: ::fsblkcnt_t,
53+
pub f_bfree: ::fsblkcnt_t,
54+
pub f_bavail: ::fsblkcnt_t,
55+
pub f_files: ::fsfilcnt_t,
56+
pub f_ffree: ::fsfilcnt_t,
57+
pub f_fsid: ::fsid_t,
58+
pub f_namelen: ::c_ulong,
59+
pub f_frsize: ::c_ulong,
60+
pub f_flags: ::c_ulong,
61+
pub f_spare: [::c_ulong; 4],
62+
}
63+
64+
pub struct statvfs64 {
65+
pub f_bsize: ::c_ulong,
66+
pub f_frsize: ::c_ulong,
67+
pub f_blocks: u64,
68+
pub f_bfree: u64,
69+
pub f_bavail: u64,
70+
pub f_files: u64,
71+
pub f_ffree: u64,
72+
pub f_favail: u64,
73+
pub f_fsid: ::c_ulong,
74+
pub f_flag: ::c_ulong,
75+
pub f_namemax: ::c_ulong,
76+
__f_spare: [::c_int; 6],
77+
}
78+
4979
pub struct stack_t {
5080
pub ss_sp: *mut ::c_void,
5181
pub ss_flags: ::c_int,

src/unix/notbsd/linux/other/b32/arm.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,37 @@ s! {
3838
pub st_ino: ::ino64_t,
3939
}
4040

41+
pub struct statfs64 {
42+
pub f_type: ::__fsword_t,
43+
pub f_bsize: ::__fsword_t,
44+
pub f_blocks: u64,
45+
pub f_bfree: u64,
46+
pub f_bavail: u64,
47+
pub f_files: u64,
48+
pub f_ffree: u64,
49+
pub f_fsid: ::fsid_t,
50+
pub f_namelen: ::__fsword_t,
51+
pub f_frsize: ::__fsword_t,
52+
pub f_flags: ::__fsword_t,
53+
pub f_spare: [::__fsword_t; 4],
54+
}
55+
56+
pub struct statvfs64 {
57+
pub f_bsize: ::c_ulong,
58+
pub f_frsize: ::c_ulong,
59+
pub f_blocks: u64,
60+
pub f_bfree: u64,
61+
pub f_bavail: u64,
62+
pub f_files: u64,
63+
pub f_ffree: u64,
64+
pub f_favail: u64,
65+
pub f_fsid: ::c_ulong,
66+
__f_unused: ::c_int,
67+
pub f_flag: ::c_ulong,
68+
pub f_namemax: ::c_ulong,
69+
__f_spare: [::c_int; 6],
70+
}
71+
4172
pub struct shmid_ds {
4273
pub shm_perm: ::ipc_perm,
4374
pub shm_segsz: ::size_t,

0 commit comments

Comments
 (0)