Sets the timer to expire at a specified time. On Alpha and Integrity server systems, this service accepts 64- bit addresses. Format SYS$SETIMR [efn] ,daytim ,[astadr] ,[reqidt] ,[flags] C Prototype int sys$setimr (unsigned int efn, struct _generic_64 *daytim, void (*astadr)(__unknown_params), unsigned __int64 reqidt, unsigned int flags);
1 – Arguments
efn OpenVMS usage:ef_number type: longword (unsigned) access: read only mechanism: by value Event flag to be set when the timer expires. The efn argument is a longword value containing the number of the event flag; however, $SETIMR uses only the low-order byte. If you do not specify efn, event flag 0 is used. When $SETIMR first executes, it clears the specified event flag or event flag 0. daytim OpenVMS usage:date_time type: quadword access: read only mechanism: by 64-bit reference (Alpha and Integrity servers) Time at which the timer expires. The daytim argument is the 64- bit address (on Alpha and Integrity server systems) of a quadword time value. A positive time value specifies an absolute time at which the timer expires; a negative time value specifies an offset (delta time) from the current time. astadr OpenVMS usage:ast_procedure type: procedure value access: call without stack unwinding mechanism: by 64-bit reference (Alpha and Integrity servers) AST service routine that is to execute when the timer expires. The astadr argument is the 64-bit address (on Alpha and Integrity server systems) of the procedure value of this routine. If you do not specify the value of astadr or specify it as 0 (the default), no AST routine executes. The AST routine, if specified, executes at the access mode of the caller. reqidt OpenVMS usage:user_arg type: longword (unsigned) access: read only mechanism: by value Identification of the timer request. The reqidt argument is a longword value containing a number that uniquely identifies the timer request. If you do not specify reqidt, the value 0 is used. To cancel a timer request, the identification of the timer request (as specified by reqidt in $SETIMR) is passed to the Cancel Timer ($CANTIM) service (as the reqidt argument). If you want to cancel specific timer requests but not all timer requests, be sure to specify a nonzero value for reqidt in the $SETIMR call; $CANTIM interprets an identification value of 0 as a request to cancel all timer requests. You can specify unique values for reqidt for each timer request or give the same value to related timer requests. This permits selective canceling of a single timer request, a group of related timer requests, or all timer requests. If you specify the astadr argument in the $SETIMR call, the value specified by the reqidt argument is passed as a parameter to the AST routine. If the AST routine requires more than one parameter, specify an address for the value of reqidt; the AST routine can then interpret that address as the beginning of a list of parameters. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by value Longword of bit flags for the set timer operation. Currently, only bit 0 is used for the flags argument. When the low bit (bit 0) is set, it indicates that this timer request should be in units of CPU time, rather than elapsed time. When bit 0 is clear (the default), the timer request is in units of elapsed time. The flags argument is optional.