The Enable AST Notification of an Event routine specifies the address of an AST routine (and optionally an argument to that routine) to be delivered when an event occurs. Format PPL$ENABLE_EVENT_AST event-id ,astadr [,astprm]
1 – Arguments
event-id OpenVMS usage identifier type longword (unsigned) access read only mechanism by reference Identifier of the event. The event-id argument is the address of an unsigned longword containing the identifier. Event-id is returned by PPL$CREATE_EVENT. astadr OpenVMS usage ast_procedure type procedure value access call without stack unwinding mechanism by reference AST routine. The astadr argument is a procedure value of the user's AST routine. This routine is called on the user's behalf when the event state becomes occurred. astprm OpenVMS usage user_arg type unspecified access read only mechanism by value AST value passed as the argument to the specified AST routine. The astprm argument is the address of a vector of unsigned longwords containing this optional value. If this argument is not specified, PPL$_EVENT_OCCURRED is the astprm for a user-created event. The astprm argument has special restrictions when used in conjunction with the PPL$ event routines. o For user-defined events, the AST-argument must point to a vector of two unsigned longwords. The first longword is a "context" reserved for the user; it is not read or modified by PPL$. The second longword receives the value specified by the event-param argument in the call to PPL$TRIGGER_EVENT that results in the delivery of this AST. o For PPL$-defined events (those not created by the user), the astprm argument must point to a vector of four unsigned longwords. The vector accommodates the following: - The user's "context" longword - The longword to receive the event's distinguishing condition value - The parameters to the PPL$-defined event (the "trigger" parameter) Because each of the predefined events takes two arguments, the vector that astprm points to must be four longwords in length.