Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

cdisco - Abmelden einer Contingency-Routine

&pagelevel(4)&pagelevel

Definition

#include <cont.h>

void cdisco(struct enacop *enacopar);

cdisco meldet eine mit cenaco definierte Contingency-Routine (TU bzw. P1) ab.

Ausführliche Informationen zu Contingency-Routinen finden Sie im Kapitel 5 und im Handbuch "Makroaufrufe an den Ablaufteil“ [6].

Parameter

struct enacop *enacopar

Zeiger auf eine Struktur, die in <cont.h> wie folgt definiert ist:

struct enacop
{
  char resrv1 [7];                 /* reserved for int. use */
  char coname [54];                /* name of cont. routine */
  char resrv2 [15];                /* reserved for int. use */
  char level;                      /* priority of cont.rout. */
  int  (*econt)(struct contp);     /* start adr of cont.rout. */
  int  comess;                     /* contingency message */
  int  coidret;                    /* contingency identifier */
  errcod secind;                   /* secondary indicator */
  char resrv3 [2];                 /* reserved for int. use */
  errcod rcode1;                   /* return code */
};
#define errcod     char
#define _norm      0               /* normterm */
#define _abnorm    4               /* abnormend */
#define _enabled   4               /* codefenabled */
#define _preven    12              /* coprevenabled */
#define _parerr    16              /* coparerror */
#define _maxexc    24             /* comaxexceed */

cdisco wertet nur den Eintrag coidret (Kurzkennung des Contingency-Prozesses) in der Struktur aus.

Einträge, die von cdisco versorgt werden:

secind

„Secondary Indicator“, wie er nach Ausführung des DISCO-Makros im höchstwertigen Byte des Register 15 abgelegt wird (Werte X’10’ oder oder X’16’).

rcode1

„Return Code“, wie er nach Ausführung des DISCO-Makros im niedrigstwertigen Byte des Register 15 abgelegt wird (Werte 0 oder 4).

Hinweis

Der Assembler-Makro DISCO sperrt die Contingency-Routine lediglich für zukünftige Ereingnisanforderungen. Tritt jedoch nach DISCO noch ein bereits vorher angefordertes Ereignis ein, wird die Contingency-Routine auch nach DISCO aufgerufen.
Aufrufe der Contingency-Routine econt werden jedoch auch für bereits angeforderte Ereignisse unterdrückt.

Siehe auch  cenaco