General
Application area: | Eventing; see "Eventing" |
Macro type: | Type S, MF format 1: standard/L/E form; |
Macro description
The DISEI macro is provided to terminate the use of a specified event item by the task of the calling program. The event item is deleted if it is not used by any other task.
Macro format and description of operands
DISEI |
{{EINAME=name / EINAMAD={addr / (r)} [,EINAMLN=length]} ,SCOPE={LOCAL / GROUP / USER_GROUP / GLOBAL} / EIID={addr / (r)}} [,PARMOD=24 / 31] [,MF=L / (E,..)] |
EINAME=name
Specifies the name of the event item that is no longer used by the calling task. The event item is uniquely identified only if the SCOPE operand is also specified.
EINAMAD=
Specifies the address of the name of the event item. For a unique event item definition, the SCOPE operand must also be specified.
addr
Symbolic address of the field containing the name of the event item.
(r)
Register containing the address.
EINAMLN=
Specifies the length of the event item name in bytes. The length must be at least 1 byte and not more than 54 bytes.
If the operand is missing, the length attribute of the EINAMAD operand is assumed if EINAMAD=addr is specified; if EINAMAD=(r), the maximum length (54) is assumed.
length
Length of the event item name.
SCOPE=
Specifies the scope of the event item (i.e. the participants authorized to use it).
LOCAL
Use of the event item is limited to the calling task.
GROUP
All the tasks with the same user ID as the calling task.
USER_GROUP
All the tasks, whose user IDs belong to the same user group as the user ID of the creating participant, can be participants.
The operand value assumes the existence of user groups and may therefore only be specified when the SRPM function unit of the SECOS software product is available in the system. This is why the GETUGR macro (see the “SECOS” manual [14 (Related publications)]) has to check whether SRPM is available prior to a macro call with SCOPE=USER_GROUP. The program reaction is dependent on the result (return code).
GLOBAL
All the tasks in the system are participants.
EIID=
Specifies the event item ID. The ID is supplied to the user by the ENAEI macro. If this ID is used instead of the name of the event item, processing is speeded up. The ID is unique.
addr
Symbolic address of the field containing the ID.
(r)
Register containing the address of the field.
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see "S-type macros". The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
PARMOD=
Controls macro expansion. Either the 24-bit or the 31-bit interface is generated.
If PARMOD is not specified here, macro expansion is performed according to the specification for the GPARMOD macro or according to the default setting for the assembler (= 24-bit interface).
24
The 24-bit interface is generated. Data lists and instructions use 24-bit addresses (address space <= 16 Mb).
31
The 31-bit interface is generated. Data lists and instructions use 31-bit addresses (address space <= 2 Gb).
Functional description
If any SOLSIG or POSSIG requests by the calling program are still waiting in the queue of the event item when the DISEI macro is issued (see “Eventing”, "Eventing"), these requests will be deleted; the assigned forward events will also be deleted from the EVENTLST (implicit DELFEI). If these were SOLSIG requests (synchronous/asynchronous), the calling program will be notified via the return code in register R15 or via the event information code. The same applies to POSSIG requests in which a contingency process was specified.
Return information and error flags
Register R1 contains the address of the operand list.
R15:
+---------------+ | | | | | |b|b| | | | |a|a| +---------------+
A structured return code (aa=primary return code, bb=secondary return code) relating to the execution of the macro DISEI is transferred in register R15.
X'bb' | X'aa' | Meaning |
X'04' | X'00' | Function executed: the event item was deleted. |
X'08' | X'00' | Function executed: use of event item by the task of the calling program was |
X'0C' | X'04' | No action: the event item generated by the system is not assigned to the calling |
X'10' | X'04' | No action: invalid operands were specified. |
X'14' | X'04' | No action: invalid name or ID. No event item with the specified ID exists. |
X'18' | X'04' | No action: the event item to be deleted is still being used by FASTPAM. |
For examples, see the sections “Eventing” and “Contingency processes”.