|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1993-1995, 1999-2000 Apple Computer, Inc. ! 3: * All rights reserved. ! 4: * ! 5: * @APPLE_LICENSE_HEADER_START@ ! 6: * ! 7: * The contents of this file constitute Original Code as defined in and ! 8: * are subject to the Apple Public Source License Version 1.1 (the ! 9: * "License"). You may not use this file except in compliance with the ! 10: * License. Please obtain a copy of the License at ! 11: * http://www.apple.com/publicsource and read it before using this file. ! 12: * ! 13: * This Original Code and all software distributed under the License are ! 14: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 15: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 16: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 17: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 18: * License for the specific language governing rights and limitations ! 19: * under the License. ! 20: * ! 21: * @APPLE_LICENSE_HEADER_END@ ! 22: */ ! 23: /* ! 24: * Declarations for thread-based callouts. ! 25: * ! 26: * HISTORY ! 27: * ! 28: * 10 July 1999 (debo) ! 29: * Pulled into Mac OS X (microkernel). ! 30: * ! 31: * 3 July 1993 (debo) ! 32: * Created. ! 33: */ ! 34: ! 35: #ifndef _KERN_THREAD_CALL_H_ ! 36: #define _KERN_THREAD_CALL_H_ ! 37: ! 38: #include <libkern/OSBase.h> ! 39: ! 40: #include <mach/mach_types.h> ! 41: ! 42: typedef struct thread_call *thread_call_t; ! 43: typedef void *thread_call_param_t; ! 44: typedef void (*thread_call_func_t)( ! 45: thread_call_param_t param0, ! 46: thread_call_param_t param1); ! 47: ! 48: void ! 49: thread_call_initialize(void); ! 50: ! 51: void ! 52: thread_call_func( ! 53: thread_call_func_t func, ! 54: thread_call_param_t param, ! 55: boolean_t unique_call ! 56: ); ! 57: void ! 58: thread_call_func_delayed( ! 59: thread_call_func_t func, ! 60: thread_call_param_t param, ! 61: AbsoluteTime deadline ! 62: ); ! 63: ! 64: boolean_t ! 65: thread_call_func_cancel( ! 66: thread_call_func_t func, ! 67: thread_call_param_t param, ! 68: boolean_t cancel_all ! 69: ); ! 70: ! 71: thread_call_t ! 72: thread_call_allocate( ! 73: thread_call_func_t func, ! 74: thread_call_param_t param0 ! 75: ); ! 76: boolean_t ! 77: thread_call_free( ! 78: thread_call_t call ! 79: ); ! 80: ! 81: void ! 82: thread_call_enter( ! 83: thread_call_t call ! 84: ); ! 85: void ! 86: thread_call_enter1( ! 87: thread_call_t call, ! 88: thread_call_param_t param1 ! 89: ); ! 90: void ! 91: thread_call_enter_delayed( ! 92: thread_call_t call, ! 93: AbsoluteTime deadline ! 94: ); ! 95: void ! 96: thread_call_enter1_delayed( ! 97: thread_call_t call, ! 98: thread_call_param_t param1, ! 99: AbsoluteTime deadline ! 100: ); ! 101: boolean_t ! 102: thread_call_cancel( ! 103: thread_call_t call ! 104: ); ! 105: boolean_t ! 106: thread_call_is_delayed( ! 107: thread_call_t call, ! 108: AbsoluteTime *deadline ! 109: ); ! 110: ! 111: #endif /* _KERN_THREAD_CALL_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.