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 */