1 /* BEGIN INCLUDE FILE ... cpm_entries.incl.pl1 */
 2 
 3 /****^  HISTORY COMMENTS:
 4   1) change(86-08-12,Kissel), approve(86-08-12,MCR7473),
 5      audit(86-10-08,Fawcett), install(86-11-03,MR12.0-1206):
 6      Written to support control point management in March 1985 by G. Palter.
 7                                                    END HISTORY COMMENTS */
 8 
 9 /* format: style3,linecom */
10 
11 /* Control Point Manager (cpm_) entrypoint definitions */
12 
13 dcl       get_control_point_id_                             /* returns the ID of the currently running control point */
14                               entry () returns (bit (36) aligned);
15 
16 dcl       cpm_$create                                       /* create a new control point */
17                               entry (pointer, bit (36) aligned, fixed binary (35));
18 
19 dcl       (
20           cpm_$destroy,                                     /* destroy the specified control point */
21           cpm_$start,                                       /* start the specified control point if its stopped */
22           cpm_$wakeup,                                      /* make the specified control point ready if its blocked */
23           cpm_$stop                                         /* stop the specified control point if its ready or blocked */
24           )                   entry (bit (36) aligned, fixed binary (35));
25 
26 dcl       cpm_$block          entry ();                     /* block the current control point */
27 
28 dcl       cpm_$scheduler      entry ();                     /* find a runnable control point and let it run */
29 
30 dcl       (
31           cpm_$get_user_cl_intermediary,                    /* get the user supplied procedure to run during cu_$cl */
32           cpm_$set_user_cl_intermediary                     /* set the user supplied procedure to run during cu_$cl */
33           )                   entry (bit (36) aligned, entry (bit (1) aligned), fixed binary (35));
34 
35 dcl       (
36           cpm_$generate_call,                               /* generate an immediate call */
37           cpm_$generate_call_preferred,                     /* generate an immediate call and make it run preferred */
38           cpm_$generate_call_when_ready                     /* generate a call when the control point is next ready */
39           )                   entry (bit (36) aligned, entry (pointer), pointer, fixed binary (35));
40 
41 dcl       cpm_$get_preferred_control_point                  /* return the ID of the preferred control point */
42                               entry () returns (bit (36) aligned);
43 dcl       cpm_$set_preferred_control_point                  /* make the specified control point preferred */
44                               entry (bit (36) aligned, fixed binary (35));
45 dcl       cpm_$push_preferred_control_point                 /* switch preferred control points */
46                               entry (bit (36) aligned, bit (1) aligned, fixed binary (35));
47 dcl       cpm_$pop_preferred_control_point                  /* restore the previous preferred control point */
48                               entry (bit (1) aligned);
49 
50 dcl       cpm_$get_control_point_meters                     /* get the usage meters for a specific control point */
51                               entry (bit (36) aligned, pointer, fixed binary (35));
52 dcl       cpm_$get_scheduler_meters                         /* get the usage meters for the control point scheduler */
53                               entry (pointer, fixed binary (35));
54 
55 dcl       cpm_$nulle          entry () options (variable);  /* a "null" entry value which should never be called */
56 
57 /* END INCLUDE FILE ... cpm_entries.incl.pl1 */