Skip to content

Commit 3b5153a

Browse files
committed
Auto merge of #3337 - anacrolix:macos-punchhole, r=JohnTitor
Add F_PUNCHHOLE and fpunchhole_t
2 parents c341d08 + ca15272 commit 3b5153a

File tree

2 files changed

+49
-39
lines changed

2 files changed

+49
-39
lines changed

libc-test/semver/apple.txt

+41-39
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,10 @@ BUFSIZ
193193
BUS_ADRALN
194194
BUS_ADRERR
195195
BUS_OBJERR
196-
CCStatus
197196
CCCryptorStatus
198-
CCRandomGenerateBytes
199197
CCRNGStatus
198+
CCRandomGenerateBytes
199+
CCStatus
200200
CIGNORE
201201
CLD_CONTINUED
202202
CLD_DUMPED
@@ -442,6 +442,7 @@ F_NOCACHE
442442
F_NODIRECT
443443
F_PEOFPOSMODE
444444
F_PREALLOCATE
445+
F_PUNCHHOLE
445446
F_RDADVISE
446447
F_RDAHEAD
447448
F_RDLCK
@@ -640,8 +641,8 @@ IPV6_PKTINFO
640641
IPV6_RECVPKTINFO
641642
IPV6_RECVTCLASS
642643
IPV6_TCLASS
643-
IP_HDRINCL
644644
IP_BOUND_IF
645+
IP_HDRINCL
645646
IP_PKTINFO
646647
IP_RECVDSTADDR
647648
IP_RECVIF
@@ -677,20 +678,20 @@ KERN_FAILURE
677678
KERN_FILE
678679
KERN_HOSTID
679680
KERN_HOSTNAME
680-
KERN_IPC
681681
KERN_INSUFFICIENT_BUFFER_SIZE
682682
KERN_INVALID_ADDRESS
683683
KERN_INVALID_ARGUMENT
684684
KERN_INVALID_HOST
685685
KERN_INVALID_LEDGER
686686
KERN_INVALID_MEMORY_CONTROL
687687
KERN_INVALID_NAME
688-
KERN_INVALID_POLICY
689688
KERN_INVALID_OBJECT
689+
KERN_INVALID_POLICY
690+
KERN_INVALID_RIGHT
690691
KERN_INVALID_SECURITY
691692
KERN_INVALID_TASK
692-
KERN_INVALID_RIGHT
693693
KERN_INVALID_VALUE
694+
KERN_IPC
694695
KERN_JOB_CONTROL
695696
KERN_KDBUFWAIT
696697
KERN_KDCPUMAP
@@ -714,11 +715,11 @@ KERN_KDSET_TYPEFILTER
714715
KERN_KDTHRMAP
715716
KERN_KDWRITEMAP
716717
KERN_KDWRITETR
717-
KERN_LOGSIGEXIT
718718
KERN_LOCK_OWNED
719719
KERN_LOCK_OWNED_SELF
720720
KERN_LOCK_SET_DESTROYED
721721
KERN_LOCK_UNSTABLE
722+
KERN_LOGSIGEXIT
722723
KERN_LOW_PRI_DELAY
723724
KERN_LOW_PRI_WINDOW
724725
KERN_MAXFILES
@@ -780,9 +781,9 @@ KERN_SAFEBOOT
780781
KERN_SAVED_IDS
781782
KERN_SECURELVL
782783
KERN_SEMAPHORE_DESTROYED
783-
KERN_SUCCESS
784784
KERN_SHREG_PRIVATIZABLE
785785
KERN_SPECULATIVE_READS
786+
KERN_SUCCESS
786787
KERN_SUGID_COREDUMP
787788
KERN_SYMFILE
788789
KERN_SYSV
@@ -1272,8 +1273,8 @@ SAE_ASSOCID_ANY
12721273
SAE_CONNID_ALL
12731274
SAE_CONNID_ANY
12741275
SCALE_PPM
1275-
SCHED_OTHER
12761276
SCHED_FIFO
1277+
SCHED_OTHER
12771278
SCHED_RR
12781279
SCM_CREDS
12791280
SCM_RIGHTS
@@ -1369,12 +1370,12 @@ TCP_MAXSEG
13691370
TCP_NOOPT
13701371
TCP_NOPUSH
13711372
THOUSEP
1372-
THREAD_BACKGROUND_POLICY
1373-
THREAD_BACKGROUND_POLICY_DARWIN_BG
1374-
THREAD_BACKGROUND_POLICY_COUNT
13751373
THREAD_AFFINITY_POLICY
13761374
THREAD_AFFINITY_POLICY_COUNT
13771375
THREAD_AFFINITY_TAG_NULL
1376+
THREAD_BACKGROUND_POLICY
1377+
THREAD_BACKGROUND_POLICY_COUNT
1378+
THREAD_BACKGROUND_POLICY_DARWIN_BG
13781379
THREAD_BASIC_INFO
13791380
THREAD_BASIC_INFO_COUNT
13801381
THREAD_EXTENDED_INFO
@@ -1671,10 +1672,10 @@ XATTR_SHOWCOMPRESSION
16711672
XUCRED_VERSION
16721673
YESEXPR
16731674
YESSTR
1674-
_CS_PATH
1675+
_CS_DARWIN_USER_CACHE_DIR
16751676
_CS_DARWIN_USER_DIR
16761677
_CS_DARWIN_USER_TEMP_DIR
1677-
_CS_DARWIN_USER_CACHE_DIR
1678+
_CS_PATH
16781679
_IOFBF
16791680
_IOLBF
16801681
_IONBF
@@ -1742,8 +1743,8 @@ _SC_PRIORITY_SCHEDULING
17421743
_SC_RAW_SOCKETS
17431744
_SC_READER_WRITER_LOCKS
17441745
_SC_REALTIME_SIGNALS
1745-
_SC_RE_DUP_MAX
17461746
_SC_REGEXP
1747+
_SC_RE_DUP_MAX
17471748
_SC_RTSIG_MAX
17481749
_SC_SAVED_IDS
17491750
_SC_SEMAPHORES
@@ -1843,6 +1844,7 @@ backtrace_from_fp
18431844
backtrace_image_offsets
18441845
backtrace_symbols
18451846
backtrace_symbols_fd
1847+
basename
18461848
boolean_t
18471849
bpf_hdr
18481850
brk
@@ -1870,6 +1872,7 @@ ctime_r
18701872
ctl_info
18711873
difftime
18721874
dirfd
1875+
dirname
18731876
disconnectx
18741877
dqblk
18751878
duplocale
@@ -1889,6 +1892,7 @@ flistxattr
18891892
fmemopen
18901893
fmount
18911894
forkpty
1895+
fpunchhole_t
18921896
freadlink
18931897
freeifaddrs
18941898
freelocale
@@ -2004,13 +2008,13 @@ malloc_zone_t
20042008
malloc_zone_valloc
20052009
max_align_t
20062010
mcontext_t
2007-
memory_object_t
2011+
mem_entry_name_port_t
20082012
memory_object_offset_t
2013+
memory_object_t
2014+
memset_pattern16
20092015
memset_pattern4
20102016
memset_pattern8
2011-
memset_pattern16
20122017
memset_s
2013-
mem_entry_name_port_t
20142018
mincore
20152019
mkdirat
20162020
mkfifoat
@@ -2032,21 +2036,21 @@ openat
20322036
openpty
20332037
os_log_create
20342038
os_log_t
2035-
os_log_type_t
20362039
os_log_type_enabled
2040+
os_log_type_t
20372041
os_signpost_enabled
20382042
os_signpost_id_generate
20392043
os_signpost_id_make_with_pointer
20402044
os_signpost_id_t
20412045
os_signpost_type_t
20422046
os_unfair_lock
2047+
os_unfair_lock_assert_not_owner
2048+
os_unfair_lock_assert_owner
2049+
os_unfair_lock_lock
20432050
os_unfair_lock_s
20442051
os_unfair_lock_t
2045-
os_unfair_lock_lock
20462052
os_unfair_lock_trylock
20472053
os_unfair_lock_unlock
2048-
os_unfair_lock_assert_owner
2049-
os_unfair_lock_assert_not_owner
20502054
pause
20512055
policy_t
20522056
popen
@@ -2077,21 +2081,21 @@ posix_spawnp
20772081
preadv
20782082
proc_bsdinfo
20792083
proc_kmsgbuf
2084+
proc_libversion
20802085
proc_listallpids
20812086
proc_listchildpids
20822087
proc_listpgrppids
20832088
proc_listpids
2084-
proc_libversion
20852089
proc_name
2086-
proc_pidinfo
20872090
proc_pidfdinfo
20882091
proc_pidfileportinfo
2092+
proc_pidinfo
20892093
proc_pidpath
20902094
proc_regionfilename
2091-
proc_set_no_smt
2092-
proc_setthread_no_smt
20932095
proc_set_csm
2096+
proc_set_no_smt
20942097
proc_setthread_csm
2098+
proc_setthread_no_smt
20952099
proc_taskallinfo
20962100
proc_taskinfo
20972101
proc_threadinfo
@@ -2102,33 +2106,33 @@ pseudo_AF_RTIP
21022106
pseudo_AF_XTP
21032107
pthread_attr_getschedparam
21042108
pthread_attr_setschedparam
2109+
pthread_cancel
2110+
pthread_condattr_getpshared
2111+
pthread_condattr_setpshared
21052112
pthread_cpu_number_np
21062113
pthread_create_from_mach_thread
2114+
pthread_from_mach_thread_np
2115+
pthread_get_stackaddr_np
2116+
pthread_get_stacksize_np
2117+
pthread_getname_np
21072118
pthread_getschedparam
21082119
pthread_introspection_getspecific_np
2109-
pthread_introspection_hook_t
21102120
pthread_introspection_hook_install
2121+
pthread_introspection_hook_t
21112122
pthread_introspection_setspecific_np
21122123
pthread_jit_write_callback_t
21132124
pthread_jit_write_freeze_callbacks_np
21142125
pthread_jit_write_protect_np
21152126
pthread_jit_write_protect_supported_np
21162127
pthread_jit_write_with_callback_np
2117-
pthread_setschedparam
2118-
pthread_cancel
2119-
pthread_condattr_getpshared
2120-
pthread_condattr_setpshared
2121-
pthread_from_mach_thread_np
2122-
pthread_get_stackaddr_np
2123-
pthread_get_stacksize_np
2124-
pthread_getname_np
21252128
pthread_kill
21262129
pthread_main_np
21272130
pthread_mutexattr_getpshared
21282131
pthread_mutexattr_setpshared
21292132
pthread_rwlockattr_getpshared
21302133
pthread_rwlockattr_setpshared
21312134
pthread_setname_np
2135+
pthread_setschedparam
21322136
pthread_stack_frame_decode_np
21332137
ptrace
21342138
pututxline
@@ -2236,11 +2240,11 @@ thread_identifier_info_t
22362240
thread_info
22372241
thread_info_t
22382242
thread_inspect_t
2239-
thread_policy_set
22402243
thread_policy_get
2244+
thread_policy_set
2245+
time_value_t
22412246
timeval32
22422247
timex
2243-
time_value_t
22442248
truncate
22452249
ttyname_r
22462250
ucontext_t
@@ -2261,5 +2265,3 @@ wait4
22612265
waitid
22622266
xsw_usage
22632267
xucred
2264-
dirname
2265-
basename

src/unix/bsd/apple/mod.rs

+8
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,13 @@ s! {
378378
pub fst_bytesalloc: ::off_t,
379379
}
380380

381+
pub struct fpunchhole_t {
382+
pub fp_flags: ::c_uint, /* unused */
383+
pub reserved: ::c_uint, /* (to maintain 8-byte alignment) */
384+
pub fp_offset: ::off_t, /* IN: start of the region */
385+
pub fp_length: ::off_t, /* IN: size of the region */
386+
}
387+
381388
pub struct radvisory {
382389
pub ra_offset: ::off_t,
383390
pub ra_count: ::c_int,
@@ -3241,6 +3248,7 @@ pub const F_GLOBAL_NOCACHE: ::c_int = 55;
32413248
pub const F_NODIRECT: ::c_int = 62;
32423249
pub const F_LOG2PHYS_EXT: ::c_int = 65;
32433250
pub const F_BARRIERFSYNC: ::c_int = 85;
3251+
pub const F_PUNCHHOLE: ::c_int = 99;
32443252
pub const F_GETPATH_NOFIRMLINK: ::c_int = 102;
32453253

32463254
pub const F_ALLOCATECONTIG: ::c_uint = 0x02;

0 commit comments

Comments
 (0)