@@ -425,6 +425,15 @@ s! {
425
425
pub maxerror: i32 ,
426
426
pub esterror: i32 ,
427
427
}
428
+
429
+ pub struct mmapobj_result_t {
430
+ pub mr_addr: :: caddr_t,
431
+ pub mr_msize: :: size_t,
432
+ pub mr_fize: :: size_t,
433
+ pub mr_offset: :: size_t,
434
+ pub mr_prot: :: c_uint,
435
+ pub mr_flags: :: c_uint,
436
+ }
428
437
}
429
438
430
439
s_no_extra_traits ! {
@@ -1240,6 +1249,11 @@ pub const MS_SYNC: ::c_int = 0x0004;
1240
1249
pub const MS_ASYNC : :: c_int = 0x0001 ;
1241
1250
pub const MS_INVALIDATE : :: c_int = 0x0002 ;
1242
1251
1252
+ pub const MMOBJ_PADDING : :: c_uint = 0x10000 ;
1253
+ pub const MMOBJ_INTERPRET : :: c_uint = 0x20000 ;
1254
+ pub const MR_PADDING : :: c_uint = 0x1 ;
1255
+ pub const MR_HDR_ELF : :: c_uint = 0x2 ;
1256
+
1243
1257
pub const EPERM : :: c_int = 1 ;
1244
1258
pub const ENOENT : :: c_int = 2 ;
1245
1259
pub const ESRCH : :: c_int = 3 ;
@@ -2338,6 +2352,10 @@ safe_f! {
2338
2352
pub { const } fn WCOREDUMP ( status: :: c_int) -> bool {
2339
2353
( status & 0x80 ) != 0
2340
2354
}
2355
+
2356
+ pub { const } fn MR_GET_TYPE ( flags: :: c_uint) -> :: c_uint {
2357
+ flags & 0x0000ffff
2358
+ }
2341
2359
}
2342
2360
2343
2361
extern "C" {
@@ -2800,6 +2818,15 @@ extern "C" {
2800
2818
sfvcnt : :: c_int ,
2801
2819
xferred : * mut :: size_t ,
2802
2820
) -> :: ssize_t ;
2821
+ pub fn getpagesize ( ) -> :: c_int ;
2822
+ pub fn getpagesizes ( pagesize : * mut :: size_t , nelem : :: c_int ) -> :: c_int ;
2823
+ pub fn mmapobj (
2824
+ fd : :: c_int ,
2825
+ flags : :: c_uint ,
2826
+ storage : * mut mmapobj_result_t ,
2827
+ elements : * mut :: c_uint ,
2828
+ arg : * mut :: c_void ,
2829
+ ) -> :: c_int ;
2803
2830
}
2804
2831
2805
2832
mod compat;
0 commit comments