source: rtems/c/src/exec/score/headers/threadmp.h @ 60b791ad

4.104.114.84.95
Last change on this file since 60b791ad was 60b791ad, checked in by Joel Sherrill <joel.sherrill@…>, on 02/17/98 at 23:46:28

updated copyright to 1998

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[ac7d5ef0]1/*  threadmp.h
2 *
3 *  This include file contains the specification for all routines
4 *  and data specific to the multiprocessing portion of the thread package.
5 *
[60b791ad]6 *  COPYRIGHT (c) 1989-1998.
[ac7d5ef0]7 *  On-Line Applications Research Corporation (OAR).
[03f2154e]8 *  Copyright assigned to U.S. Government, 1994.
[ac7d5ef0]9 *
[98e4ebf5]10 *  The license and distribution terms for this file may be
11 *  found in the file LICENSE in this distribution or at
[03f2154e]12 *  http://www.OARcorp.com/rtems/license.html.
[ac7d5ef0]13 *
14 *  $Id$
15 */
16
17#ifndef __RTEMS_THREAD_MP_h
18#define __RTEMS_THREAD_MP_h
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/*
25 *  _Thread_MP_Handler_initialization
26 *
27 *  DESCRIPTION:
28 *
[1a8fde6c]29 *  This routine initializes the multiprocessing portion of the Thread Handler.
[ac7d5ef0]30 */
31
32void _Thread_MP_Handler_initialization (
33  unsigned32 maximum_proxies
34);
35
36/*
37 *  _Thread_MP_Allocate_proxy
38 *
39 *  DESCRIPTION:
40 *
41 *  This  allocates a proxy control block from
42 *  the inactive chain of free proxy control blocks.
43 *
44 *  NOTE: This function returns a thread control pointer
45 *        because proxies are substitutes for remote threads.
46 */
47
48Thread_Control *_Thread_MP_Allocate_proxy (
49  States_Control the_state
50);
51
52/*
53 *  _Thread_MP_Find_proxy
54 *
55 *  DESCRIPTION:
56 *
57 *  This function removes the proxy control block for the specified
58 *  id from the active chain of proxy control blocks.
59 */
60
61Thread_Control *_Thread_MP_Find_proxy (
62  Objects_Id the_id
63);
64
65/*
66 *  The following is used to determine when the multiprocessing receive
67 *  thread is executing so that a proxy can be allocated instead of
68 *  blocking the multiprocessing receive thread.
69 */
70
[c627b2a3]71SCORE_EXTERN Thread_Control *_Thread_MP_Receive;
[ac7d5ef0]72
73/*
74 * The following chains are used to manage proxies.
75 */
76
[c627b2a3]77SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
78SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies;
[ac7d5ef0]79
[1a8fde6c]80#ifndef __RTEMS_APPLICATION__
[5e9b32b]81#include <rtems/score/threadmp.inl>
[1a8fde6c]82#endif
[ac7d5ef0]83
84#ifdef __cplusplus
85}
86#endif
87
88#endif
89/* end of include file */
Note: See TracBrowser for help on using the repository browser.