/[rtmk]/rtmk/include/rtmk/rtmk.h
ViewVC logotype

Diff of /rtmk/include/rtmk/rtmk.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by jrydberg, Wed Jan 16 00:11:53 2002 UTC revision 1.4 by jrydberg, Tue Jan 29 18:34:43 2002 UTC
# Line 48  extern "C" { Line 48  extern "C" {
48    
49  /* Return send right name to current task.  */  /* Return send right name to current task.  */
50  extern rtmk_port_t task_self __P ((void));  extern rtmk_port_t task_self __P ((void));
51      extern rtmk_port_t __task_self __P ((void));
52    
53  /* Create a child task to PARENT task.  Send right to new task is returned in  /* Create a child task to PARENT task.  Send right to new task is returned in
54     TASKP.  If INHERIT_MEMORY_P is true, new task inherits parent's memory.  */     TASKP.  If INHERIT_MEMORY_P is true, new task inherits parent's memory.  */
55  extern kern_return_t task_create __P ((rtmk_port_t parent,  extern kern_return_t task_create __P ((rtmk_port_t parent,
56                                         bool inherit_memory_p,                                         bool inherit_memory_p,
57                                         rtmk_port_t *taskp));                                         rtmk_port_t *taskp));
58    extern kern_return_t __task_create __P ((rtmk_port_t parent,
59                                             bool inherit_memory_p,
60                                             rtmk_port_t *taskp));
61    
62  /* Terminate TASK.  All resources held by TASK is destroyed.  */  /* Terminate TASK.  All resources held by TASK is destroyed.  */
63  extern kern_return_t task_terminate __P ((rtmk_port_t task));  extern kern_return_t task_terminate __P ((rtmk_port_t task));
64    extern kern_return_t __task_terminate __P ((rtmk_port_t task));
65    
66    
67  /* Threads.  */  /* Threads.  */
68    
69  /* Return send right name to current executing @param thread.  */  /* Return send right name to current executing @param thread.  */
70  extern rtmk_port_t thread_self __P ((void));  extern rtmk_port_t thread_self __P ((void));
71    extern rtmk_port_t __thread_self __P ((void));
72    
73  /* Return receive right to newly allocated reply port.  */  /* Return receive right to newly allocated reply port.  */
74  extern rtmk_port_t thread_reply_port __P ((void));  extern rtmk_port_t thread_reply_port __P ((void));
75    extern rtmk_port_t __thread_reply_port __P ((void));
76    
77  /* Create new thread in TASK's address and IPC space.  On return, *THREADP  /* Create new thread in TASK's address and IPC space.  On return, *THREADP
78     will hold send right to thread.  */     will hold send right to thread.  */
79  extern kern_return_t thread_create __P ((rtmk_port_t task,  extern kern_return_t thread_create __P ((rtmk_port_t task,
80                                           rtmk_port_t *threadp));                                           rtmk_port_t *threadp));
81    extern kern_return_t __thread_create __P ((rtmk_port_t task,
82                                               rtmk_port_t *threadp));
83    
84  /* Terminate THREAD. */  /* Terminate THREAD. */
85  extern kern_return_t thread_terminate __P ((rtmk_port_t thread));  extern kern_return_t thread_terminate __P ((rtmk_port_t thread));
86    extern kern_return_t __thread_terminate __P ((rtmk_port_t thread));
87    
88  /* Suspend execution of THREAD, prevent it from running.  When this is called,  /* Suspend execution of THREAD, prevent it from running.  When this is called,
89     the thread is no longer running (if it was).  */     the thread is no longer running (if it was).  */
90  extern kern_return_t thread_suspend __P ((rtmk_port_t thread));  extern kern_return_t thread_suspend __P ((rtmk_port_t thread));
91    extern kern_return_t __thread_suspend __P ((rtmk_port_t thread));
92    
93  /* Resume execution of THREAD, if its suspend count drops to zero.  */  /* Resume execution of THREAD, if its suspend count drops to zero.  */
94  extern kern_return_t thread_resume __P ((rtmk_port_t thread));  extern kern_return_t thread_resume __P ((rtmk_port_t thread));
95    extern kern_return_t __thread_resume __P ((rtmk_port_t thread));
96    
97    
98  /* IPC.  */  /* IPC.  */
99    
100  /* Deallocate right to PORT_NAME.  */  /* Deallocate right to PORT_NAME.  */
101  extern kern_return_t port_deallocate __P ((rtmk_port_t port_name));  extern kern_return_t port_deallocate __P ((rtmk_port_t port_name));
102    extern kern_return_t __port_deallocate __P ((rtmk_port_t port_name));
103    
104  /* Destroy PORT_NAME.  Will make the port a zombie port, until all  /* Destroy PORT_NAME.  Will make the port a zombie port, until all
105     user references are droped, and the port is deallocated.  */     user references are droped, and the port is deallocated.  */
106  extern kern_return_t port_destroy __P ((rtmk_port_t port_name));  extern kern_return_t port_destroy __P ((rtmk_port_t port_name));
107    extern kern_return_t __port_destroy __P ((rtmk_port_t port_name));
108    
109  /* Allocate a new port in TASK's IPC space.    /* Allocate a new port in TASK's IPC space.  
110     If the caller is not a thread  within TASK, it will not own any rights     If the caller is not a thread  within TASK, it will not own any rights
111     to the port.  Port name is returned in PORTP.  */     to the port.  Port name is returned in PORTP.  */
112  extern kern_return_t port_allocate __P ((rtmk_port_t task,  extern kern_return_t port_allocate __P ((rtmk_port_t task,
113                                           rtmk_port_t *portp));                                           rtmk_port_t *portp));
114    extern kern_return_t __port_allocate __P ((rtmk_port_t task,
115                                               rtmk_port_t *portp));
116    
117  /* Rename OLD_NAME right name to NEW_NAME in TASK's IPC space.  */  /* Rename OLD_NAME right name to NEW_NAME in TASK's IPC space.  */
118  extern kern_return_t port_rename __P ((rtmk_port_t task,  extern kern_return_t port_rename __P ((rtmk_port_t task,
119                                         rtmk_port_name_t old_name,                                         rtmk_port_name_t old_name,
120                                         rtmk_port_name_t new_name));                                         rtmk_port_name_t new_name));
121    extern kern_return_t __port_rename __P ((rtmk_port_t task,
122                                             rtmk_port_name_t old_name,
123                                             rtmk_port_name_t new_name));
124    
125  /* Send message in HDR to send_name if OPTIONS has RTMK_MSG_OPTION_SEND set.  /* Send message in HDR to send_name if OPTIONS has RTMK_MSG_OPTION_SEND set.
126     Receive message from RECV_NAME if OPTIONS has RTMK_MSG_OPTION_RECEIVE set.     Receive message from RECV_NAME if OPTIONS has RTMK_MSG_OPTION_RECEIVE set.
# Line 114  extern kern_return_t rtmk_msg_trap __P ( Line 133  extern kern_return_t rtmk_msg_trap __P (
133                                           rtmk_msg_size_t recv_size,                                           rtmk_msg_size_t recv_size,
134                                           rtmk_port_t recv_name,                                           rtmk_port_t recv_name,
135                                           rtmk_msg_timeout_t timeout));                                           rtmk_msg_timeout_t timeout));
136    extern kern_return_t __rtmk_msg_trap __P ((struct rtmk_msg_header *hdr,
137                                               rtmk_msg_option_t options,
138                                               rtmk_msg_size_t send_size,
139                                               rtmk_port_t send_name,
140                                               rtmk_msg_size_t recv_size,
141                                               rtmk_port_t recv_name,
142                                               rtmk_msg_timeout_t timeout));
143    
144  /* Send message HDR to remote port specified in message header.    /* Send message HDR to remote port specified in message header.  
145     If TIMEOUT is zero, we can block forever.  */     If TIMEOUT is zero, we can block forever.  */
146  extern kern_return_t msg_send __P ((struct rtmk_msg_header *hdr,  extern kern_return_t msg_send __P ((struct rtmk_msg_header *hdr,
147                                      rtmk_msg_timeout_t timeout));                                      rtmk_msg_timeout_t timeout));
148    extern kern_return_t __msg_send __P ((struct rtmk_msg_header *hdr,
149                                          rtmk_msg_timeout_t timeout));
150    
151  /* Receive message from local port specified in message header in HDR.  /* Receive message from local port specified in message header in HDR.
152     If TIMEOUT is zero, we can block forever.  */     If TIMEOUT is zero, we can block forever.  */
153  extern kern_return_t msg_receive __P ((struct rtmk_msg_header *hdr,  extern kern_return_t msg_receive __P ((struct rtmk_msg_header *hdr,
154                                         rtmk_msg_timeout_t timeout));                                         rtmk_msg_timeout_t timeout));
155    extern kern_return_t __msg_receive __P ((struct rtmk_msg_header *hdr,
156                                             rtmk_msg_timeout_t timeout));
157    
158  /* Perform a full RPC from information in HDR.  RECV_SIZE is length of  /* Perform a full RPC from information in HDR.  RECV_SIZE is length of
159     receive buffer.  If TIMEOUT is zero, we can block forever.  */     receive buffer.  If TIMEOUT is zero, we can block forever.  */
160  extern kern_return_t msg_rpc __P ((struct rtmk_msg_header *hdr,  extern kern_return_t msg_rpc __P ((struct rtmk_msg_header *hdr,
161                                     rtmk_msg_size_t recv_size,                                     rtmk_msg_size_t recv_size,
162                                     rtmk_msg_timeout_t timeout));                                     rtmk_msg_timeout_t timeout));
163    extern kern_return_t __msg_rpc __P ((struct rtmk_msg_header *hdr,
164                                         rtmk_msg_size_t recv_size,
165                                         rtmk_msg_timeout_t timeout));
166    
167  /* Perform a full RPC with thread migration (the fast path).  RECV_SIZE  /* Perform a full RPC with thread migration (the fast path).  RECV_SIZE
168     is length of receive buffer. */     is length of receive buffer. */
169  extern kern_return_t msg_migrate __P ((struct rtmk_msg_header *hdr,  extern kern_return_t msg_migrate __P ((struct rtmk_msg_header *hdr,
170                                         rtmk_msg_size_t recv_size));                                         rtmk_msg_size_t recv_size));
171    extern kern_return_t __msg_migrate __P ((struct rtmk_msg_header *hdr,
172                                             rtmk_msg_size_t recv_size));
173    
174    
175  /* VM.  */  /* VM.  */
# Line 144  extern kern_return_t msg_migrate __P ((s Line 179  extern kern_return_t msg_migrate __P ((s
179     *OFFSETP, otherwise choose available memory location.  */     *OFFSETP, otherwise choose available memory location.  */
180  extern kern_return_t vm_allocate __P ((rtmk_port_t task, vm_size_t size,  extern kern_return_t vm_allocate __P ((rtmk_port_t task, vm_size_t size,
181                                         vm_offset_t *offsetp, int anywhere_p));                                         vm_offset_t *offsetp, int anywhere_p));
182    extern kern_return_t __vm_allocate __P ((rtmk_port_t task, vm_size_t size,
183                                             vm_offset_t *offsetp, int anywhere_p));
184    
185  /* Deallocate memory object at OFFSET within TASK's address space. */  /* Deallocate memory object at OFFSET within TASK's address space. */
186  extern kern_return_t vm_deallocate __P ((rtmk_port_t task, vm_offset_t offset));  extern kern_return_t vm_deallocate __P ((rtmk_port_t task, vm_offset_t offset));
187    extern kern_return_t __vm_deallocate __P ((rtmk_port_t task, vm_offset_t offset));
188    
189    /* Write into TASKs address space at offset DST_OFFSET, from current
190       tasks address space at SRC_OFFSET.  Copy LENGTH bytes.  */
191    extern kern_return_t vm_write __P ((rtmk_port_t task, vm_offset_t dst_offset,
192                                        vm_offset_t src_offset, vm_size_t length));
193    extern kern_return_t __vm_write __P ((rtmk_port_t task, vm_offset_t dst_offset,
194                                          vm_offset_t src_offset, vm_size_t length));
195    
196    
197  /* Host.  */  /* Host.  */
198    
199  /* Reboot host.  HOST_PORT must be master host port.  */  /* Reboot host.  HOST_PORT must be master host port.  */
200  extern kern_return_t host_reboot __P ((rtmk_port_t host_port));  extern kern_return_t host_reboot __P ((rtmk_port_t host_port));
201    extern kern_return_t __host_reboot __P ((rtmk_port_t host_port));
202    
203  #ifdef __cplusplus  #ifdef __cplusplus
204  };  };

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26