Lines Matching defs:pthread_callbacks_s
143 typedef const struct pthread_callbacks_s { struct
144 int version;
147 uint32_t config_thread_max;
148 uint32_t (*get_task_threadmax)(void);
151 uint64_t (*proc_get_register)(struct proc *t);
152 void (*proc_set_register)(struct proc *t);
154 user_addr_t (*proc_get_threadstart)(struct proc *t);
155 void (*proc_set_threadstart)(struct proc *t, user_addr_t addr);
156 user_addr_t (*proc_get_wqthread)(struct proc *t);
157 void (*proc_set_wqthread)(struct proc *t, user_addr_t addr);
158 int (*proc_get_pthsize)(struct proc *t);
159 void (*proc_set_pthsize)(struct proc *t, int size);
161 thread_t (*task_findtid)(task_t t, uint64_t tid);
162 void (*thread_deallocate_safe)(thread_t);
163 bool (*proc_get_jit_entitled)(struct proc *t);
164 void (*proc_set_dispatchqueue_offset)(struct proc *t, uint64_t offset);
165 bool (*proc_get_pthread_jit_allowlist2)(struct proc *t, bool *late_out);
166 void *__unused_was_proc_get_wqinitingptr;
167 void *__unused_was_proc_get_wqptr;
169 wait_result_t (*psynch_wait_prepare)(uintptr_t kwq,
173 void (*psynch_wait_update_complete)(struct turnstile *turnstile);
175 void (*psynch_wait_complete)(uintptr_t kwq, struct turnstile **tstore);
177 void (*psynch_wait_cleanup)(void);
179 kern_return_t (*psynch_wait_wakeup)(uintptr_t kwq,
182 void (*psynch_wait_update_owner)(uintptr_t kwq, thread_t owner,
185 void* (*proc_get_pthhash)(struct proc *t);
186 void (*proc_set_pthhash)(struct proc *t, void* ptr);
189 void *__unused_was_uthread_get_threadlist;
190 void *__unused_was_uthread_set_threadlist;
191 void *__unused_was_uthread_get_sigmask;
192 void *__unused_was_uthread_set_sigmask;
194 void* (*uthread_get_uukwe)(struct uthread *t);
195 void *__unused_was_uthread_get_returnval;
196 void (*uthread_set_returnval)(struct uthread *t, int val);
197 int (*uthread_is_cancelled)(struct uthread *t);
200 ipc_space_t (*task_get_ipcspace)(task_t t);
201 void *__unused_was_ipc_port_copyout_send;
204 …offset_t offset, vm_page_info_flavor_t flavor, vm_page_info_t info, mach_msg_type_number_t *count);
205 mach_port_name_t (*ipc_port_copyout_send_pinned)(ipc_port_t sright, ipc_space_t space);
208 kern_return_t (*thread_set_wq_state32)(thread_t thread, thread_state_t state);
210 kern_return_t (*thread_set_wq_state64)(thread_t thread, thread_state_t state);
214 void (*thread_exception_return)(void);
215 void (*thread_bootstrap_return)(void);
217 void *__unused_was_absolutetime_to_microtime;
218 void *__unused_was_thread_set_workq_pri;
219 void *__unused_was_thread_set_workq_qos;
222 struct uthread* (*get_bsdthread_info)(thread_t th);
223 void *__unused_was_thread_sched_call;
224 void *__unused_was_thread_static_param;
225 void *__unused_was_thread_create_workq_waiting_parameter;
226 …l)(thread_t t, thread_policy_flavor_t flavour, thread_policy_t info, mach_msg_type_number_t count);
228 void *__unused_was_thread_affinity_set;
231 void (*unix_syscall_return)(int error);
233 void *__unused_was_zalloc;
234 void *__unused_was_zfree;
235 void *__unused_was_zinit;
238 void (*__pthread_testcancel)(int);
241 kern_return_t (*mach_port_deallocate)(ipc_space_t space, mach_port_name_t name);
242 kern_return_t (*semaphore_signal_internal_trap)(mach_port_name_t sema_name);
243 vm_map_t (*current_map)(void);
245 void *__unused_was_convert_thread_to_port;
246 void *__unused_was_thread_create;
249 kern_return_t (*thread_resume)(thread_act_t target_act);
252 int (*kevent_workq_internal)(struct proc *p,
259 void *__unused_was_map_is_1gb;
262 void *__unused_was_proc_get_dispatchqueue_serialno_offset;
263 void *__unused_was_proc_set_dispatchqueue_serialno_offset;
265 void *__unused_was_proc_usynch_thread_qos_add_override_for_resource_check_owner;
266 void (*proc_set_workqueue_quantum_offset)(struct proc *p, uint64_t offset);
268 uint32_t (*proc_get_pthread_tsd_offset)(struct proc *p);
269 void (*proc_set_pthread_tsd_offset)(struct proc *p, uint32_t pthread_tsd_offset);
271 kern_return_t (*thread_set_tsd_base)(thread_t thread, mach_vm_offset_t tsd_base);
273 int (*proc_usynch_get_requested_thread_qos)(struct uthread *);
274 uint64_t (*proc_get_mach_thread_self_tsd_offset)(struct proc *p);
275 void (*proc_set_mach_thread_self_tsd_offset)(struct proc *p, uint64_t mach_thread_self_tsd_offset);
277 …licy_flavor_t flavor, thread_policy_t info, mach_msg_type_number_t *count, boolean_t *get_default);
278 boolean_t (*qos_main_thread_active)(void);
280 kern_return_t (*thread_set_voucher_name)(mach_port_name_t name);
282 …tid, int override_qos, boolean_t first_override_for_resource, user_addr_t resource, int resource_t…
283 …or_resource)(task_t task, struct uthread *, uint64_t tid, user_addr_t resource, int resource_type);
284 void *__unused_was_proc_usynch_thread_qos_reset_override_for_resource;
286 void *__unused_was_proc_init_wqptr_or_wait;
288 uint16_t (*thread_set_tag)(thread_t thread, uint16_t tag);
289 uint16_t (*thread_get_tag)(thread_t thread);
291 void *__unused_was_thread_create_pinned;
293 kern_return_t (*thread_terminate_pinned)(thread_t thread);
294 ipc_port_t (*convert_thread_to_port_pinned)(thread_t th);
296 user_addr_t (*proc_get_stack_addr_hint)(struct proc *p);
297 void (*proc_set_stack_addr_hint)(struct proc *p, user_addr_t stack_addr_hint);
299 kern_return_t (*thread_create_immovable)(task_t parent_task, thread_t *new_thread);
300 void (*proc_set_return_to_kernel_offset)(struct proc *t, uint64_t offset);
302 void *__unused_was_workloop_fulfill_threadreq;
303 void (*thread_will_park_or_terminate)(thread_t thread);
305 void *__unused_was_qos_max_parallelism;
308 user_addr_t (*proc_get_user_stack)(struct proc *p);
309 void *__unused_was_proc_set_user_stack;
312 void* _pad[69];