|
|
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: * Private 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_PRIVATE_H_
36: #define _KERN_THREAD_CALL_PRIVATE_H_
37:
38: #include <kern/queue.h>
39:
40: typedef struct thread_call {
41: queue_chain_t q_link;
42: thread_call_func_t func;
43: thread_call_param_t param0;
44: thread_call_param_t param1;
45: AbsoluteTime deadline;
46: enum {
47: IDLE,
48: PENDING,
49: DELAYED } status;
50: } thread_call_data_t;
51:
52: #define thread_call_setup(call, pfun, p0) \
53: MACRO_BEGIN \
54: (call)->func = (thread_call_func_t)(pfun); \
55: (call)->param0 = (thread_call_param_t)(p0); \
56: (call)->status = IDLE; \
57: MACRO_END
58:
59: #endif /* _KERN_THREAD_CALL_PRIVATE_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.