Skip to content

Commit 15855d6

Browse files
committed
Auto merge of #1364 - gnzlbg:deprecate_mach, r=gnzlbg
Deprecate mach APIs: users should use the `mach` crate instead. See #981, the mach APIs have breaking changes from MacOSX SDK release to release, and that's pretty much what the users are seeing here. We are currently not exposing that many `mach` APIs in `libc`, so this PR deprecates them, forwarding users to use the `mach` crate instead, which provides the mach user-space APIs, is tested against multiple SDK versions, handles removed/deprecated/breaking API changes/etc. Doing all of that in `libc` feels overkill. Closes #981 .
2 parents 6d4c60d + 09454fa commit 15855d6

File tree

2 files changed

+167
-99
lines changed

2 files changed

+167
-99
lines changed

src/macros.rs

+38
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,13 @@ macro_rules! s {
7474
__item! {
7575
#[repr(C)]
7676
#[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))]
77+
#[allow(deprecated)]
7778
$(#[$attr])*
7879
pub struct $i { $($field)* }
7980
}
81+
#[allow(deprecated)]
8082
impl ::Copy for $i {}
83+
#[allow(deprecated)]
8184
impl ::Clone for $i {
8285
fn clone(&self) -> $i { *self }
8386
}
@@ -155,3 +158,38 @@ macro_rules! align_const {
155158
};
156159
)*)
157160
}
161+
162+
// This macro is used to deprecate items that should be accessed via the mach crate
163+
#[allow(unused_macros)]
164+
macro_rules! deprecated_mach {
165+
(pub const $id:ident: $ty:ty = $expr:expr;) => {
166+
#[deprecated(
167+
since = "0.2.55",
168+
note = "Use the `mach` crate instead",
169+
)]
170+
#[allow(deprecated)]
171+
pub const $id: $ty = $expr;
172+
};
173+
($(pub const $id:ident: $ty:ty = $expr:expr;)*) => {
174+
$(
175+
deprecated_mach!(
176+
pub const $id: $ty = $expr;
177+
);
178+
)*
179+
};
180+
(pub type $id:ident = $ty:ty;) => {
181+
#[deprecated(
182+
since = "0.2.55",
183+
note = "Use the `mach` crate instead",
184+
)]
185+
#[allow(deprecated)]
186+
pub type $id = $ty;
187+
};
188+
($(pub type $id:ident = $ty:ty;)*) => {
189+
$(
190+
deprecated_mach!(
191+
pub type $id = $ty;
192+
);
193+
)*
194+
}
195+
}

src/unix/bsd/apple/mod.rs

+129-99
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ pub type mode_t = u16;
1111
pub type nlink_t = u16;
1212
pub type blksize_t = i32;
1313
pub type rlim_t = u64;
14-
pub type mach_timebase_info_data_t = mach_timebase_info;
1514
pub type pthread_key_t = c_ulong;
1615
pub type sigset_t = u32;
1716
pub type clockid_t = ::c_uint;
@@ -26,12 +25,17 @@ pub type idtype_t = ::c_uint;
2625
pub type integer_t = ::c_int;
2726
pub type cpu_type_t = integer_t;
2827
pub type cpu_subtype_t = integer_t;
29-
pub type vm_prot_t = ::c_int;
28+
3029
pub type posix_spawnattr_t = *mut ::c_void;
3130
pub type posix_spawn_file_actions_t = *mut ::c_void;
3231
pub type key_t = ::c_int;
3332
pub type shmatt_t = ::c_ushort;
34-
pub type vm_size_t = ::uintptr_t;
33+
34+
deprecated_mach! {
35+
pub type vm_prot_t = ::c_int;
36+
pub type vm_size_t = ::uintptr_t;
37+
pub type mach_timebase_info_data_t = mach_timebase_info;
38+
}
3539

3640
#[cfg_attr(feature = "extra_traits", derive(Debug))]
3741
pub enum timezone {}
@@ -83,6 +87,10 @@ s! {
8387
pub ai_next: *mut addrinfo,
8488
}
8589

90+
#[deprecated(
91+
since = "0.2.55",
92+
note = "Use the `mach` crate instead",
93+
)]
8694
pub struct mach_timebase_info {
8795
pub numer: u32,
8896
pub denom: u32,
@@ -353,6 +361,10 @@ s! {
353361
pub cr_groups: [::gid_t;16]
354362
}
355363

364+
#[deprecated(
365+
since = "0.2.55",
366+
note = "Use the `mach` crate instead",
367+
)]
356368
pub struct mach_header {
357369
pub magic: u32,
358370
pub cputype: cpu_type_t,
@@ -363,6 +375,10 @@ s! {
363375
pub flags: u32,
364376
}
365377

378+
#[deprecated(
379+
since = "0.2.55",
380+
note = "Use the `mach` crate instead",
381+
)]
366382
pub struct mach_header_64 {
367383
pub magic: u32,
368384
pub cputype: cpu_type_t,
@@ -1361,103 +1377,106 @@ pub const MAP_FIXED: ::c_int = 0x0010;
13611377
pub const MAP_ANON: ::c_int = 0x1000;
13621378
pub const MAP_ANONYMOUS: ::c_int = MAP_ANON;
13631379

1364-
pub const VM_FLAGS_FIXED: ::c_int = 0x0000;
1365-
pub const VM_FLAGS_ANYWHERE: ::c_int = 0x0001;
1366-
pub const VM_FLAGS_PURGABLE: ::c_int = 0x0002;
1367-
pub const VM_FLAGS_RANDOM_ADDR: ::c_int = 0x0008;
1368-
pub const VM_FLAGS_NO_CACHE: ::c_int = 0x0010;
1369-
pub const VM_FLAGS_RESILIENT_CODESIGN: ::c_int = 0x0020;
1370-
pub const VM_FLAGS_RESILIENT_MEDIA: ::c_int = 0x0040;
1371-
pub const VM_FLAGS_OVERWRITE: ::c_int = 0x4000;
1372-
pub const VM_FLAGS_SUPERPAGE_MASK: ::c_int = 0x70000;
1373-
pub const VM_FLAGS_RETURN_DATA_ADDR: ::c_int = 0x100000;
1374-
pub const VM_FLAGS_RETURN_4K_DATA_ADDR: ::c_int = 0x800000;
1375-
pub const VM_FLAGS_ALIAS_MASK: ::c_int = 0xFF000000;
1376-
pub const VM_FLAGS_USER_ALLOCATE: ::c_int = 0xff07401f;
1377-
pub const VM_FLAGS_USER_MAP: ::c_int = 0xff97401f;
1378-
pub const VM_FLAGS_USER_REMAP: ::c_int = VM_FLAGS_FIXED | VM_FLAGS_ANYWHERE |
1379-
VM_FLAGS_RANDOM_ADDR |
1380-
VM_FLAGS_OVERWRITE |
1381-
VM_FLAGS_RETURN_DATA_ADDR |
1382-
VM_FLAGS_RESILIENT_CODESIGN;
1383-
1384-
pub const VM_FLAGS_SUPERPAGE_SHIFT: ::c_int = 16;
1385-
pub const SUPERPAGE_NONE: ::c_int = 0;
1386-
pub const SUPERPAGE_SIZE_ANY: ::c_int = 1;
1387-
pub const VM_FLAGS_SUPERPAGE_NONE: ::c_int = SUPERPAGE_NONE <<
1388-
VM_FLAGS_SUPERPAGE_SHIFT;
1389-
pub const VM_FLAGS_SUPERPAGE_SIZE_ANY: ::c_int = SUPERPAGE_SIZE_ANY <<
1380+
deprecated_mach! {
1381+
pub const VM_FLAGS_FIXED: ::c_int = 0x0000;
1382+
pub const VM_FLAGS_ANYWHERE: ::c_int = 0x0001;
1383+
pub const VM_FLAGS_PURGABLE: ::c_int = 0x0002;
1384+
pub const VM_FLAGS_RANDOM_ADDR: ::c_int = 0x0008;
1385+
pub const VM_FLAGS_NO_CACHE: ::c_int = 0x0010;
1386+
pub const VM_FLAGS_RESILIENT_CODESIGN: ::c_int = 0x0020;
1387+
pub const VM_FLAGS_RESILIENT_MEDIA: ::c_int = 0x0040;
1388+
pub const VM_FLAGS_OVERWRITE: ::c_int = 0x4000;
1389+
pub const VM_FLAGS_SUPERPAGE_MASK: ::c_int = 0x70000;
1390+
pub const VM_FLAGS_RETURN_DATA_ADDR: ::c_int = 0x100000;
1391+
pub const VM_FLAGS_RETURN_4K_DATA_ADDR: ::c_int = 0x800000;
1392+
pub const VM_FLAGS_ALIAS_MASK: ::c_int = 0xFF000000;
1393+
pub const VM_FLAGS_USER_ALLOCATE: ::c_int = 0xff07401f;
1394+
pub const VM_FLAGS_USER_MAP: ::c_int = 0xff97401f;
1395+
pub const VM_FLAGS_USER_REMAP: ::c_int = VM_FLAGS_FIXED |
1396+
VM_FLAGS_ANYWHERE |
1397+
VM_FLAGS_RANDOM_ADDR |
1398+
VM_FLAGS_OVERWRITE |
1399+
VM_FLAGS_RETURN_DATA_ADDR |
1400+
VM_FLAGS_RESILIENT_CODESIGN;
1401+
1402+
pub const VM_FLAGS_SUPERPAGE_SHIFT: ::c_int = 16;
1403+
pub const SUPERPAGE_NONE: ::c_int = 0;
1404+
pub const SUPERPAGE_SIZE_ANY: ::c_int = 1;
1405+
pub const VM_FLAGS_SUPERPAGE_NONE: ::c_int = SUPERPAGE_NONE <<
13901406
VM_FLAGS_SUPERPAGE_SHIFT;
1391-
pub const SUPERPAGE_SIZE_2MB: ::c_int = 2;
1392-
pub const VM_FLAGS_SUPERPAGE_SIZE_2MB: ::c_int = SUPERPAGE_SIZE_2MB <<
1393-
VM_FLAGS_SUPERPAGE_SHIFT;
1394-
1395-
pub const VM_MEMORY_MALLOC: ::c_int = 1;
1396-
pub const VM_MEMORY_MALLOC_SMALL: ::c_int = 2;
1397-
pub const VM_MEMORY_MALLOC_LARGE: ::c_int = 3;
1398-
pub const VM_MEMORY_MALLOC_HUGE: ::c_int = 4;
1399-
pub const VM_MEMORY_SBRK: ::c_int = 5;
1400-
pub const VM_MEMORY_REALLOC: ::c_int = 6;
1401-
pub const VM_MEMORY_MALLOC_TINY: ::c_int = 7;
1402-
pub const VM_MEMORY_MALLOC_LARGE_REUSABLE: ::c_int = 8;
1403-
pub const VM_MEMORY_MALLOC_LARGE_REUSED: ::c_int = 9;
1404-
pub const VM_MEMORY_ANALYSIS_TOOL: ::c_int = 10;
1405-
pub const VM_MEMORY_MALLOC_NANO: ::c_int = 11;
1406-
pub const VM_MEMORY_MACH_MSG: ::c_int = 20;
1407-
pub const VM_MEMORY_IOKIT: ::c_int = 21;
1408-
pub const VM_MEMORY_STACK: ::c_int = 30;
1409-
pub const VM_MEMORY_GUARD: ::c_int = 31;
1410-
pub const VM_MEMORY_SHARED_PMAP: ::c_int = 32;
1411-
pub const VM_MEMORY_DYLIB: ::c_int = 33;
1412-
pub const VM_MEMORY_OBJC_DISPATCHERS: ::c_int = 34;
1413-
pub const VM_MEMORY_UNSHARED_PMAP: ::c_int = 35;
1414-
pub const VM_MEMORY_APPKIT: ::c_int = 40;
1415-
pub const VM_MEMORY_FOUNDATION: ::c_int = 41;
1416-
pub const VM_MEMORY_COREGRAPHICS: ::c_int = 42;
1417-
pub const VM_MEMORY_CORESERVICES: ::c_int = 43;
1418-
pub const VM_MEMORY_CARBON: ::c_int = VM_MEMORY_CORESERVICES;
1419-
pub const VM_MEMORY_JAVA: ::c_int = 44;
1420-
pub const VM_MEMORY_COREDATA: ::c_int = 45;
1421-
pub const VM_MEMORY_COREDATA_OBJECTIDS: ::c_int = 46;
1422-
pub const VM_MEMORY_ATS: ::c_int = 50;
1423-
pub const VM_MEMORY_LAYERKIT: ::c_int = 51;
1424-
pub const VM_MEMORY_CGIMAGE: ::c_int = 52;
1425-
pub const VM_MEMORY_TCMALLOC: ::c_int = 53;
1426-
pub const VM_MEMORY_COREGRAPHICS_DATA: ::c_int = 54;
1427-
pub const VM_MEMORY_COREGRAPHICS_SHARED: ::c_int = 55;
1428-
pub const VM_MEMORY_COREGRAPHICS_FRAMEBUFFERS: ::c_int = 56;
1429-
pub const VM_MEMORY_COREGRAPHICS_BACKINGSTORES: ::c_int = 57;
1430-
pub const VM_MEMORY_COREGRAPHICS_XALLOC: ::c_int = 58;
1431-
pub const VM_MEMORY_COREGRAPHICS_MISC: ::c_int = VM_MEMORY_COREGRAPHICS;
1432-
pub const VM_MEMORY_DYLD: ::c_int = 60;
1433-
pub const VM_MEMORY_DYLD_MALLOC: ::c_int = 61;
1434-
pub const VM_MEMORY_SQLITE: ::c_int = 62;
1435-
pub const VM_MEMORY_JAVASCRIPT_CORE: ::c_int = 63;
1436-
pub const VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR: ::c_int = 64;
1437-
pub const VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE: ::c_int = 65;
1438-
pub const VM_MEMORY_GLSL: ::c_int = 66;
1439-
pub const VM_MEMORY_OPENCL: ::c_int = 67;
1440-
pub const VM_MEMORY_COREIMAGE: ::c_int = 68;
1441-
pub const VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS: ::c_int = 69;
1442-
pub const VM_MEMORY_IMAGEIO: ::c_int = 70;
1443-
pub const VM_MEMORY_COREPROFILE: ::c_int = 71;
1444-
pub const VM_MEMORY_ASSETSD: ::c_int = 72;
1445-
pub const VM_MEMORY_OS_ALLOC_ONCE: ::c_int = 73;
1446-
pub const VM_MEMORY_LIBDISPATCH: ::c_int = 74;
1447-
pub const VM_MEMORY_ACCELERATE: ::c_int = 75;
1448-
pub const VM_MEMORY_COREUI: ::c_int = 76;
1449-
pub const VM_MEMORY_COREUIFILE: ::c_int = 77;
1450-
pub const VM_MEMORY_GENEALOGY: ::c_int = 78;
1451-
pub const VM_MEMORY_RAWCAMERA: ::c_int = 79;
1452-
pub const VM_MEMORY_CORPSEINFO: ::c_int = 80;
1453-
pub const VM_MEMORY_ASL: ::c_int = 81;
1454-
pub const VM_MEMORY_SWIFT_RUNTIME: ::c_int = 82;
1455-
pub const VM_MEMORY_SWIFT_METADATA: ::c_int = 83;
1456-
pub const VM_MEMORY_DHMM: ::c_int = 84;
1457-
pub const VM_MEMORY_SCENEKIT: ::c_int = 86;
1458-
pub const VM_MEMORY_SKYWALK: ::c_int = 87;
1459-
pub const VM_MEMORY_APPLICATION_SPECIFIC_1: ::c_int = 240;
1460-
pub const VM_MEMORY_APPLICATION_SPECIFIC_16: ::c_int = 255;
1407+
pub const VM_FLAGS_SUPERPAGE_SIZE_ANY: ::c_int = SUPERPAGE_SIZE_ANY <<
1408+
VM_FLAGS_SUPERPAGE_SHIFT;
1409+
pub const SUPERPAGE_SIZE_2MB: ::c_int = 2;
1410+
pub const VM_FLAGS_SUPERPAGE_SIZE_2MB: ::c_int = SUPERPAGE_SIZE_2MB <<
1411+
VM_FLAGS_SUPERPAGE_SHIFT;
1412+
1413+
pub const VM_MEMORY_MALLOC: ::c_int = 1;
1414+
pub const VM_MEMORY_MALLOC_SMALL: ::c_int = 2;
1415+
pub const VM_MEMORY_MALLOC_LARGE: ::c_int = 3;
1416+
pub const VM_MEMORY_MALLOC_HUGE: ::c_int = 4;
1417+
pub const VM_MEMORY_SBRK: ::c_int = 5;
1418+
pub const VM_MEMORY_REALLOC: ::c_int = 6;
1419+
pub const VM_MEMORY_MALLOC_TINY: ::c_int = 7;
1420+
pub const VM_MEMORY_MALLOC_LARGE_REUSABLE: ::c_int = 8;
1421+
pub const VM_MEMORY_MALLOC_LARGE_REUSED: ::c_int = 9;
1422+
pub const VM_MEMORY_ANALYSIS_TOOL: ::c_int = 10;
1423+
pub const VM_MEMORY_MALLOC_NANO: ::c_int = 11;
1424+
pub const VM_MEMORY_MACH_MSG: ::c_int = 20;
1425+
pub const VM_MEMORY_IOKIT: ::c_int = 21;
1426+
pub const VM_MEMORY_STACK: ::c_int = 30;
1427+
pub const VM_MEMORY_GUARD: ::c_int = 31;
1428+
pub const VM_MEMORY_SHARED_PMAP: ::c_int = 32;
1429+
pub const VM_MEMORY_DYLIB: ::c_int = 33;
1430+
pub const VM_MEMORY_OBJC_DISPATCHERS: ::c_int = 34;
1431+
pub const VM_MEMORY_UNSHARED_PMAP: ::c_int = 35;
1432+
pub const VM_MEMORY_APPKIT: ::c_int = 40;
1433+
pub const VM_MEMORY_FOUNDATION: ::c_int = 41;
1434+
pub const VM_MEMORY_COREGRAPHICS: ::c_int = 42;
1435+
pub const VM_MEMORY_CORESERVICES: ::c_int = 43;
1436+
pub const VM_MEMORY_CARBON: ::c_int = VM_MEMORY_CORESERVICES;
1437+
pub const VM_MEMORY_JAVA: ::c_int = 44;
1438+
pub const VM_MEMORY_COREDATA: ::c_int = 45;
1439+
pub const VM_MEMORY_COREDATA_OBJECTIDS: ::c_int = 46;
1440+
pub const VM_MEMORY_ATS: ::c_int = 50;
1441+
pub const VM_MEMORY_LAYERKIT: ::c_int = 51;
1442+
pub const VM_MEMORY_CGIMAGE: ::c_int = 52;
1443+
pub const VM_MEMORY_TCMALLOC: ::c_int = 53;
1444+
pub const VM_MEMORY_COREGRAPHICS_DATA: ::c_int = 54;
1445+
pub const VM_MEMORY_COREGRAPHICS_SHARED: ::c_int = 55;
1446+
pub const VM_MEMORY_COREGRAPHICS_FRAMEBUFFERS: ::c_int = 56;
1447+
pub const VM_MEMORY_COREGRAPHICS_BACKINGSTORES: ::c_int = 57;
1448+
pub const VM_MEMORY_COREGRAPHICS_XALLOC: ::c_int = 58;
1449+
pub const VM_MEMORY_COREGRAPHICS_MISC: ::c_int = VM_MEMORY_COREGRAPHICS;
1450+
pub const VM_MEMORY_DYLD: ::c_int = 60;
1451+
pub const VM_MEMORY_DYLD_MALLOC: ::c_int = 61;
1452+
pub const VM_MEMORY_SQLITE: ::c_int = 62;
1453+
pub const VM_MEMORY_JAVASCRIPT_CORE: ::c_int = 63;
1454+
pub const VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR: ::c_int = 64;
1455+
pub const VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE: ::c_int = 65;
1456+
pub const VM_MEMORY_GLSL: ::c_int = 66;
1457+
pub const VM_MEMORY_OPENCL: ::c_int = 67;
1458+
pub const VM_MEMORY_COREIMAGE: ::c_int = 68;
1459+
pub const VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS: ::c_int = 69;
1460+
pub const VM_MEMORY_IMAGEIO: ::c_int = 70;
1461+
pub const VM_MEMORY_COREPROFILE: ::c_int = 71;
1462+
pub const VM_MEMORY_ASSETSD: ::c_int = 72;
1463+
pub const VM_MEMORY_OS_ALLOC_ONCE: ::c_int = 73;
1464+
pub const VM_MEMORY_LIBDISPATCH: ::c_int = 74;
1465+
pub const VM_MEMORY_ACCELERATE: ::c_int = 75;
1466+
pub const VM_MEMORY_COREUI: ::c_int = 76;
1467+
pub const VM_MEMORY_COREUIFILE: ::c_int = 77;
1468+
pub const VM_MEMORY_GENEALOGY: ::c_int = 78;
1469+
pub const VM_MEMORY_RAWCAMERA: ::c_int = 79;
1470+
pub const VM_MEMORY_CORPSEINFO: ::c_int = 80;
1471+
pub const VM_MEMORY_ASL: ::c_int = 81;
1472+
pub const VM_MEMORY_SWIFT_RUNTIME: ::c_int = 82;
1473+
pub const VM_MEMORY_SWIFT_METADATA: ::c_int = 83;
1474+
pub const VM_MEMORY_DHMM: ::c_int = 84;
1475+
pub const VM_MEMORY_SCENEKIT: ::c_int = 86;
1476+
pub const VM_MEMORY_SKYWALK: ::c_int = 87;
1477+
pub const VM_MEMORY_APPLICATION_SPECIFIC_1: ::c_int = 240;
1478+
pub const VM_MEMORY_APPLICATION_SPECIFIC_16: ::c_int = 255;
1479+
}
14611480

14621481
pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void;
14631482

@@ -2106,15 +2125,18 @@ pub const PF_SYSTEM: ::c_int = AF_SYSTEM;
21062125
pub const PF_NETBIOS: ::c_int = AF_NETBIOS;
21072126
pub const PF_PPP: ::c_int = AF_PPP;
21082127
#[doc(hidden)]
2128+
#[deprecated(since = "0.2.55")]
21092129
pub const PF_MAX: ::c_int = AF_MAX;
21102130

21112131
#[doc(hidden)]
2132+
#[deprecated(since = "0.2.55")]
21122133
pub const NET_MAXID: ::c_int = AF_MAX;
21132134

21142135
pub const NET_RT_DUMP: ::c_int = 1;
21152136
pub const NET_RT_FLAGS: ::c_int = 2;
21162137
pub const NET_RT_IFLIST: ::c_int = 3;
21172138
#[doc(hidden)]
2139+
#[deprecated(since = "0.2.55")]
21182140
pub const NET_RT_MAXID: ::c_int = 10;
21192141

21202142
pub const SOMAXCONN: ::c_int = 128;
@@ -3102,7 +3124,10 @@ extern {
31023124
newp: *mut ::c_void,
31033125
newlen: ::size_t)
31043126
-> ::c_int;
3127+
#[deprecated(since = "0.2.55", note = "Use the mach crate")]
31053128
pub fn mach_absolute_time() -> u64;
3129+
#[deprecated(since = "0.2.55", note = "Use the mach crate")]
3130+
#[allow(deprecated)]
31063131
pub fn mach_timebase_info(info: *mut ::mach_timebase_info) -> ::c_int;
31073132
pub fn pthread_setname_np(name: *const ::c_char) -> ::c_int;
31083133
pub fn pthread_get_stackaddr_np(thread: ::pthread_t) -> *mut ::c_void;
@@ -3222,9 +3247,14 @@ extern {
32223247
pub fn brk(addr: *const ::c_void) -> *mut ::c_void;
32233248
pub fn sbrk(increment: ::c_int) -> *mut ::c_void;
32243249
pub fn settimeofday(tv: *const ::timeval, tz: *const ::timezone) -> ::c_int;
3250+
#[deprecated(since = "0.2.55", note = "Use the mach crate")]
32253251
pub fn _dyld_image_count() -> u32;
3252+
#[deprecated(since = "0.2.55", note = "Use the mach crate")]
3253+
#[allow(deprecated)]
32263254
pub fn _dyld_get_image_header(image_index: u32) -> *const mach_header;
3255+
#[deprecated(since = "0.2.55", note = "Use the mach crate")]
32273256
pub fn _dyld_get_image_vmaddr_slide(image_index: u32) -> ::intptr_t;
3257+
#[deprecated(since = "0.2.55", note = "Use the mach crate")]
32283258
pub fn _dyld_get_image_name(image_index: u32) -> *const ::c_char;
32293259

32303260
pub fn posix_spawn(pid: *mut ::pid_t,

0 commit comments

Comments
 (0)