5.2.1 * Manager Trap - Trap #1
sms.info MT.INF 1 / 0 Angaben zum System IN: OUT: D1 aktuelle Job-ID D2 D2 ASCII-Version des System-ROM A0 Basis der Systemvariablen NOERR
sms.crjob MT.CJOB 1 / 1 Job anlegen, nicht aktivieren IN: OUT: D1 Besitzerjob-ID D1 Job-ID D2 Länge des Codebereichs D3 Länge des Datenbereichs A0 Basis des Job-Speichers A1 Null oder abs Startadresse, bis QDOS 1.03 stets Nul ERR.OM -3Der Stack-Ptr im Job zeigt auf zwei Langworte mit Inhalt Null, weitere Initialisierung findet nicht statt. Nur Aufnahme in die Schedulerliste und Speicherzuweisung.
ERR.NJ -2 zuviele Jobs oder D1 ist kein Job
Besitzer kann jeder Job werden. Null erzeugt einen unabhängigen Job.
sms.injb MT.JINF 1 / 2 Angaben zum Jobstatus holen IN: OUT: D1 Job-ID D1 nächster Job im Zweig D2 letzter Job im Zweig / 0 D2 Besitzer-Job D3 MSB negativ suspendiert
LSB PrioritätszahlA0 Startadresse des Jobs A1 verdorben ERR.NJ -2D1 muß nicht unbedingt mit der eigenen ID besetzt werden. So kann wenn das Ergebnis eines Aufrufs dort stehenbleibt, successive ein ganzer Zweig untersucht werden.
D2.L enthält Null oder die ID des letzen Jobs im Zweig.
Zum Schluß kehrt D1 mit 0 (Basic) zurück.
- nicht dokumentiert 1 / 3
sms.rmjb MT.RJOB 1 / 4 Entfernt einen inaktiven Job. Nicht sicher "atomic" sms.frjb MT.FRJOB 1 / 5 Entfernen eines Jobs zwangsweise. Nicht sicher "atomic" IN: OUT: D1 Job ID D1 verdorben D2 verdorben D3 Fehlercode D3 verdorben A0 - A3 verdorben ERR.NJ -2Nur FRJOB: Ein gesamter Jobzweig wird aufgegeben. Noch aktive Jobs werden inaktiviert und dann auch entfernt. Mit dem Job gehen zugleich alle dahin, deren Besitzer er ist. Job Null (Basic) ist geschützt, kann nicht entfernt werden. Wenn ein Job auf irgendeinen der zu Entfernenden wartet, so wird dessen Suspendierung aufgehoben und der vorgelegte Fehlercode an ihn in D0 weitergegeben.
ERR.NC -1 Job noch aktiv (Nur RJOB)
sms.frtp MT.FREE 1 / 6 Ermittelt größten freien Anschlußbereich in der tpa IN: OUT: D1 gefundene Länge D2, D3 verdorben A0 - A3 verdorben NOERR
sms.exv MT.TRAPV 1 / 7 Jobeigene Traptabelle einrichten (exception & #5 - #15) {3.2.3} IN: OUT: D1 Job-ID D1 A0 Ptr auf Tabelle A0 Jobbasis A1 verdorben NOERRDie Vectoren werden an untergeordnete Jobs weitergegeben. Neue Jobs erhalten die Tabelle desjenigen, der ihre Einrichtung veranlaßt hat, auch wenn er nicht Besitzer ist.
sms.ssjb MT.SUSJB 1 / 8 Suspendieren eines Jobs. Nicht "atomic" sms.usjb MT.RELJB 1 / 9 Aufheben der Suspendierung. Nicht "atomic" IN: OUT: D1 Job-ID D1 Job-ID D3.W Dauer A0 Ptr auf Jobkontrollblock A1 Ptr auf Flagbyte oder Null A1 ERR.NJ -2Nur MT.SUSJB: Ein mögliches Flagbyte wird bei Freigabe auf Null gesetzt. Sonst ist für den Ptr Null anzugeben. Der Scheduler wird neu geordnet.
Nur MT.RELJB: D3, A1 belanglos.
sms.acjb MT.ACTIV 1 / 10 Aktiviert einen Job. Nicht "atomic" IN: OUT: D0 Fehler des aktivierten Jobs D1 Job-ID D1 Job-ID D2.B Prioritätszahl 0 - 127 D3.W Wartezeit -1 oder 0 A0 Basis des Jobkontrollblocks A3 verdorben bei D3 =/= 0 ERR.NJ -2Mit D3 = 0 wird ein freilaufender Job erzeugt. Der aktuelle Job wird unmittelbar nach dem Aufruf fortgesetzt. Da bereits die Installation im multitasking geschachtelt wird, empfielt es sich bei Systemen mit hoher Ausführungsgeschwindigkeit, den aufrufenden Job kurzzeitig (ca 1/2 sec) zu suspendieren.
ERR.NC -1 Job ist schon aktiv
Bei D3 = -1 wird der aufrufende Job bis Beendigung des Aktivierten suspendiert.
sms.spjb MT.PRIOR 1 / 11 Prioritätszahl eines Jobs ändern. Nicht "atomic" IN: OUT: D1 Job-ID D1 Job-ID D2.B Prioritätszahl 0 - 127 A0 Basis des Jobkontrollblocks ERR.NJ -2Nach {15} wird A0 in SMS2 und SMSQ/E durch den Aufruf verdorben.
sms.alhp MT.ALLOC 1 / 12 Speicherbereich im Heap zuweisen. Adressierung rel A6
Einzige "atomic" ZuweisungIN: OUT: D1 Geforderte Länge D1 Gewährte Länge D2 verdorben D3 verdorben A0 Ptr zum Ptr in den A0 Anfangsadresse des Blockes übergeordneten Speicherbereich A1 - A3 verdorben A6 Referenzadresse ERR.OM -3
sms.rehp MT.LNKFR 1 / 13 Teilbereich dem Heap eingliedern. Adressierung rel A6
Einzige "atomic" FreigabeIN: OUT: D1 Länge der Rückgabe D1 - D3 verdorben A0 Basis des neuen Bereichs A0 verdorben A1 Ptr auf den Ptr zum Rückgabebereich A1 - A3 verdorben A6 Referenzadresse NOERR
sms.arpa MT.ALRES 1 / 14 Speicherzuweisung im residenten Bereich IN: OUT: D1 Geforderte Länge A0 Basisadresse des Blockes ERR.OM -3Der Aufruf wirkt nur, wenn keine Jobs geladen sind.
ERR.NC -2 transiente Programme vorhanden
Bei SQ wird (fälschlich!) auch RAMTOP auf die Untergrenze des hierdurch reservierten Speicherbereichs gesetzt.
{nicht smsq} MT.RERES 1 / 15 Freigabe des residenten Bereichs. Nur in MINERVA IN: OUT: Keine Übergabedaten D1 - D3 verdorben A0 - A3 verdorben ERR.NC -2 transiente Programme vorhanden{MGG} ohne Ergebnis, auch, wenn kein Fehlercode zurückkommt.
Diese Trap ist angeblich bei allen regulären Betriebssystemen wirkungslos,
bei MINERVA ist der Aufruf in Ordnung.
MT.RERES ist lt. {15} für SMSQ(/E) nicht spezifiziert
sms.dmod MT.DMODE 1 / 16 Setzen oder Lesen der Bildschirm-Betriebsart IN: OUT: D1.B -1 nur Lesen D1.B Darstellung 0 4-Farben-Auflösung 8 8-Farben-Auflösung D2.B -1 nur Lesen D2 0 Monitor 1 FS-Gerät A3 verdorben A4 JS, SQ: verdorben NOERRDie gesamte Bildausgabe wird eingestellt, die Fenster werden neu gezeichnet.
"Jobs, die währenddessen auf den Bildschirm zugreifen, sind ernstlich gefährdet.Bei SQ Wirkung nur auf den aktuellen Job {15}.
MINERVA hat die wesentlich erweiterten Angaben {3}:
D1 Bit Gesetzt Ungesetzt 0 "anderes Bild" sichtbar.. ..unsichtbar machen 1 dto, aktuelles Bild2 "anderes Bild" MODE 4 "anderes Bild" MODE 8 3 dto., aktuelles Bild4 Anzeige in Bild 0 Anzeige in Bild 1 5 Vorgabe ist Bild 0 Vorgabe ist Bild 1 6 D1 gilt als Byte D1 gilt als Wort (16-Bit) 7 Komplement zu Bit 68...15 belanglos nächste Tabelle gilt zusätzlich 8...13 Bits 0..5 gelten absolut ..schalten um 14 MODE wirkt im "anderen" BIld 15 MODE wirkt im Vorgabebild
Für die Bits 0 .. 5, hier mit "x" bezeichnet, gilt:Sind die Bits 6 und x+8 gelöscht, bewirkt Bit x die absolute Auswahl.
Für x gilt in allen anderen Fällen, daß die Einstellungen den Bitpositionen entsprechend bei gesetztem x umgeschaltet werden.
Sind Bit 6 und 14 oder 15 gelöscht, wird das betr. Bild neu gezeichnet.
Die ursprünglichen Einstellungen -1, 0 und 8 entsprechen den Registerwerten
$0040 = %0000000001000000 = 64
$0080 = %1111111110000000 = -128 (?)
$7780 = %0111011110001000 = 30592
Das Vorgabebild gilt auch bei den Werten 0 oder 8 in D1.b.D1 nach den erweiterten Aufrufen:
Bit 0 1 Bild Name 0 sichtbar ausgeblendet "anderes" 1 dto. dto. Vorgabe 2 MODE 4 MODE 8 "anderes" 3 dto. dto. Vorgabe MC..M256 4 Bild 0 Bild 1 "anderes" 5 dto. dto. Vorgabe 6 -/- -/- -/- 7 einfach zweifach verfügbar MC..SCRN
sms.hdop MT.IPCOM 1 / 17 Sendet einen Befehl zum IPC. Ausführlich in {3.7.5} IN: OUT: D1 D1.B Antwort D5 verdorben (nicht MI) D7 verdorben (nicht MI) A3 Ptr auf Befehl mit Parametertabelle NOERRA3 geradzahlig!
D5 und D7 bleiben bei MINERVA erhalten, die Adresse in A3 kann auch ungerade sein.
MT.IPCOM eignet sich nur für Operationen, die nicht mehr als acht Bits zurückgeben.
sms.comm MT.BAUD 1 / 18 Baudrate einstellen IN: OUT: D1.W Baudrate lt. Handbuch D1.L verdorben NOERR
sms.rrtc MT.RCLCK 1 / 19 Uhr lesen sms.srtc MT.SCLCK 1 / 20 Uhr stellen sms.artc MT.ACLCK 1 / 21 Uhr weiterstellen IN: OUT: D1 ggf. Zeit in Sekunden D1 Zeit in Sekunden A0 verdorben NOERR
ERR.OM -3 ( nur MT.ALBAS)Freigabe wird erst nach NEW oder CLEAR gesichert wirksam.
NOERR (nur MT.REBAS)
Funktion in SQ zweifelhaft (rsp. nicht in compatibler Form gegeben).Wenngleich vornehmlich zur Unterstützung der verlagerbaren SBasic-Jobs gedacht, und dazu auf deren Datenstruktur spezialisiert, kann diese Paarung in wirklichen QDOS-Rechnern jedoch auch bei anderen Programmen problemlos und mit großem Nutzen eingesetzt werden.
sms.achp MT.ALCHP 1 / 24 Speicherzuweisung für einen Job im Common Heap IN: OUT: D1 geforderte Länge D1 gegebene Länge D2 Besitzerjob-ID D2, D3 verdorben A0 Basisadresse des Blocks A1 - A3 verdorben ERR.OM -3Der Speicherbereich ab A0 ist in der gesamten Länge gelöscht und frei nutzbar.
ERR.NJ -2
sms.rchp MT.RECHP 1 / 25 Rückgabe eines Blocks an den Common Heap IN: OUT: D1 - D3 verdorben A0 Basisadresse des A0 - A3 verdorben zurückzugebenden Blocks NOERR
Gleichartige Aufrufe zum Einfügen der Link-Adresse in eine der verketteten Listen des QDOS und zum Entfernen dieser Adresse; s. {3.3}, {3.5}, {4.2}, {4.4.}
sms.lexi MT.LXINT 1 / 26 Behandlung eines Externen Interrupt aufnehmen sms.rexi MT.RXINT 1 / 27 Dto. wegnehmen sms.lpol MT.LPOLL 1 / 28 Behandlung eines Polled (50 Hz) Interrupt aufnehmen sms.rpol MT.RPOLL 1 / 29 Dto. wegnehmen. sms.lshd MT.LSCHD 1 / 30 Scheduler-Aufruf aufnehmen. sms.rshd MT.RSCHD 1 / 31 Dto. wegnehmen. sms.liod MT.LIOD 1 / 32 Einfachen Device Handler aufnehmen sms.riod MT.RIOD 1 / 33 Dto. wegnehmen sms.lfsd MT.LDD 1 / 34 Directory Device Handler aufnehmen sms.rfsd MT.RDD 1 / 35 Dto. wegnehmen IN: OUT: A0 Link-Adresse A1 (geradzahlig!) A1 verdorben NOERRA0 zeigt auf Link-Feld, das vom Sytem besetzt wird.
4(A0) muß vorher die Aufrufadresse erhalten.
A1 ist belanglos, in machen QDOS-Versionen wird jedoch bei ungeraden Werten darin ein "address-error" ausgelöst.
sms.trns MT.TRA 1 / 36 TRA-Tabellen einfügen (MT.CNTRY) {3.8} IN: OUT: D1 Null oder Ptr auf
ZeichenumsetzungstabelleD1 verdorben D2 Null oder Ptr auf
Tabelle der SystemmeldungenD2 verdorben D3 verdorben A0 - A3 verdorben NOERR
Nur in den SMSQ-Varianten:
Kein Name 1 / 37 Von Sinclair reserviert, QDOS-Verwendung ist nicht bekannt
sms.xtop SMS.XTOP 1 / 37 frei definierbare Manager-Trap, nur User-Mode IN: OUT: im Innern des Aufrufs: D7 verdorben A5 Ptr auf Ablage D7/A5/A6 A6 Adresse der Systemvariablen
Aufruf NUR im User-Modus, muß mit RTS abgeschlossen werden.
Ausführung im Supervisor-Modus, Rückkehr stets in den User-Modus.
Für QDOS-Systeme überflüssig:
Trap #0 verändert keines der Register und die Systemvariablen können mit MT.INF problemlos auch im Supervisor-Modus ermittelt werden. Rückkehr aus dem Aufruf erfolgt dann in geordneter Form und die o.g. Restriktionen kommen nicht in Betracht.
Die folgenden Aufrufe der Trap #1 sind nur in SMS2 rsp. SMSQ/E verfügbar {15}, in QDOS und SMSQ nur mit der Thing-Emulation {4.6} bei Zugriff über TH.ENTRY.
Die Angaben zum Erhalt der Register sind je nach (Alter der) Quelle unterschiedlich. Bei Anwendung der Thing-Emulation sind eigene Prüfungen ratsam.
Alle können als Fehlercode zurückgeben:
ERR.NF -7 Thing nicht gefunden.
sms.lthg MT.LTHG 1 / 38 Thing aufnehmen TG {4.6} IN: OUT: A0 Link-Adresse A1 verdorben Nach {15} bleibt auch A1 erhalten.
ERR.EX -8 Thing existiert bereits
sms.rthg MT.RTHG 1 / 39 Thing wegnehmen, sofern es nicht gerade benutzt wird IN: OUT: A0 Link-Adresse A1 verdorben
ERR.IU -9
sms.uthg MT.UTHG 1 / 40 Thing benutzen TG {4.6} IN: OUT: D1 Job-ID D1 Job-ID D2 zusätzl. Daten D2 Datenrückgabe D3.W Wartezeit D3 Version A0 Ptr auf den Thing-Namen A1 Adresse des Thing A2 Parameter A2 Datenrückgabe
A1 wird lt. {15} verdorben.ERR.xx alle Werte aus der USE-Routine
sms.fthg MT.FTHG 1 / 41 Thing freigeben TG {4.6} IN: OUT: D1 Benutzerjob-ID D2 zusätzl. Daten D2 Datenrückgabe D3 dto. A0 Ptr zum Namen A1 zusätzl. Daten A2 dto.
ERR.xx alle Werte aus der FREE-Routine
sms.zthg MT.ZTHG 1 / 42 Thing wegnehmen. Nur User-Mode IN: OUT: A0 Ptr zum Namen
Mit dem Thing werden alle Jobs aufgegeben, die es bei Aufruf benutzen.
Aufruf ohne Wiederkehr, wenn der rufende Job mit entfernt wurde.
Der Linkblock wird automatisch dem Heap wieder eingegliedert.
sms.nthg MT.NTHG 1 / 43 Nächstes Thing in der Reihenfolge auswählen IN: OUT: A0 Ptr zum Namen oder Null A1 nächster Linkblock oder Null
Mit Angabe Null zu Beginn kann eine gesamte Thing-Liste abgesucht werden.
Am Ende kommt in A1 Null zurück.
sms.sthg MT.STHG 1 / 44 sms.nthu SMS.NTHU 1 / 44 lt {15} Nächsten Benutzer des angegebenen Thing aufspüren IN: OUT: D2 Besitzer des usage block A0 Name des Thing A1 Ptr zum usage block oder Null A1 Nächster usage block / Null
ERR.NJ -2 usage block nicht gefundenDer usage block kann seine Größe verändern. Auch mag zwischen den Aufrufen einer der verzeichneten Jobs ganz verschwinden. Darum sollten die Daten nicht anderweitig benutzt werden.
Die folgenden Traps stehen nur in den SMSQ-Varianten zur Verfügung:
Die Aufrufe sind soweit erkärt, wie zum Erhalt der QDOS-Kompatibilität erforderlich. Weitergehende Informationen sind den SQ-Dokumenten zu entnehmen. Quelle hier nur {15}, außer (1/47) ist nichts davon überprüft worden.
Syteme, wo sie nicht definiert sind, geben ERR.BP zurück, sodaß die Traps zusammen mit geeigneten Ersatz-Aktionen stets gefahrlos eingesetzt werden können. In manchen Fällen bedarf es nicht einmal solcher Zusätze, wie z.B. bei SMS.CACH, denn wo diese Trap fehlt, kommt ihre Wirkung ohnehin nicht in Betracht.
sms.iopr SMS.IOPR 1 / 46 i/o-Priorität einstellen IN: OUT: D2.W Prioritätszahl D2
NOERR
Nutzlos: Weder Sinn noch Bezug oder Wirkung dieser Trap werden erklärt.
sms.cach SMS.CACH 1 / 47 Processor-Cache schalten IN: OUT: D1 -1: nur lesen D1 alter Zustand 1: ein- 0: ausschalten
NOERRDie Angabe zum nur Lesen des Zustandes mit D1 = -1 basiert auf mündlicher überlieferung. Diese Möglichkeit soll in den jüngeren Varianten vorhanden sein, sie ist in {15} aber (noch?) nicht dokumentiert.
sms.lldm SMS.LLDM 1 / 48 "sprachenabhängiges Modul" einfügen IN: OUT: D1 D1 A1 Ptr zum Modul A1
Alle Module der der Liste (A1) werden in die Liste der sprachenabhängigen Module aufgenommen. Was solch ein "Modul" ist, wird in {15} beschrieben.
sms.lenq SMS.LENQ 1 / 49 Sprachencode ermitteln IN: OUT: D1 wenn =/= 0, ret code D1 Telephon-Landescode D2 wenn =/= 0, ret Zeichen D2 KFZ-Nationalitätenzeichen
NOERRRückgabe jeweils ergänzend zum Eingabewert, rsp. beider Angaben.
Bei ungültiger Eingabecodierung kommt die aktuelle Standardvorgabe zurück.
D2 wird in den niederwertigen Bytes ggf. mit <BL> aufgefüllt.
sms.lset SMS.LSET 1 / 50 Sprachencode einstellen Angaben wie SMS.LENQ
sms.pset SMS.PSET 1 / 51 Druckerausgabe-Umsetzung einstellen/aktivieren IN: OUT: D1 Übersetzungs-Code D1 verdorben 0: wie TRA 0 1: wie TRA 1 adresse: TRA adresse zusätzlich 2: IBM-Typ TRA 3: GEM-Typ TRA code.W | $ffff.W: Sprachenmodul code.W | 0001.W: aktivieren
sms.mptr SMS.MPTR 1 / 52 Adresse einer Systemmeldung ermitteln IN: OUT: A1 Meldungscode (negativ) A1 Ptr auf den Text
NOERR
sms.fprm SMS.FPRM 1 / 53 Sprachenmodul suchen IN: OUT: D1 0 oder Sprachencode D2 0 oder KFZ-Kennung D3 Gruppe | Modul-Typ
NOERRSoll das Vorzugs-Modul entsprechend den Angaben in D1-D3 finden.
Dabei bleibt unklar, wie ein Resultat übergeben wird, oder ob es überhaupt eines gibt. Möglicherweise soll die Trap dazu dienen, das betr. Modul zum "Vorzugsmodul" zu machen, dem von da an die betr. Daten entnommen werden.
sms.schp SMS.SCHP 1 / 56 reservierten Speicherblock verkleinern IN: OUT: D1 neue Größe D1 gegebene Größe A0 Basisadresse A0 unveränderte Basisadresse
ERR.NJ wenn der Besitzerjob nicht (mehr) existiertEin sinnfälliges Gegenstück zum verlustfreien Vergrößern eines Bereichs fehlt.
Die beide Fälle abdeckende Paarung MT.ALBAS/MT.REBAS ist im SQ, wenn überhaupt, nur teilweise und fehlerhaft rsp. derart restriktiv gegeben, daß sie kaum mehr nutzbar ist.
sms.s evt SMS.SEVT 1 / 58 "event" an einen Job senden sms.wevt SMS.WEVT 1 / 59 auf einen "event" warten IN: OUT: D1 Ziel-.Job ID D1 gegebene Größe D2 "events" D2 auslösender "event" D3 Wartezeit
SMS.SEVT:D2 bleibt erhalten, D3 nicht ausgewertet.
ERR.NJ wenn der Besitzerjob nicht (mehr) existiertSMS.WEVT:
NOERR
5.2.2 ** I/O-Zuweisung Trap #2
ioa.open IO.OPEN 2 / 1 Einen Kanal eröffnen IN: OUT: D1 Job-ID D1 wirkliche Job-ID D3 Open-Typ (s.u.) D3 verdorben D2 e.32, MGG: verdorben A0 Ptr zum Kanalnamen A0 Kanal-ID A1 verdorben
Jeder Fehlercode bedeutet, daß der Kanal nicht geöffnet wurde.ERR.NO -6 Öffnen mißlungen, zuviele Kanäle
ERR.NJ -2
ERR.OM -3
ERR.NF -7 zum Namen nichts gefunden
ERR.EX -8 File existiert schon
ERR.IU -9 File oder Device in Betrieb
ERR.BN -12 Filename unbrauchbar (Device gefunden)OPEN-Typ:
0 OPEN altes File oder Device I/O
1 OPEN_IN altes File zum geteilten Zugriff, nur Lesen
2 OPEN_NEW neues File I/O, TK MI
3 OPEN_OVER neues File anlegen, altes überschreiben, LV
4 OPEN_DIR File zum Directory machen, LV SM
KANAL-ID zum Öffnen der Sendeseite einer PIPELt. {15} steht der OPEN_OVER-Modus für MDV nicht zur Verfügung. Betreffs SQ wird das schon allein deshalb zutreffen, da dort die MDVs vollständig ignoriert werden.
Im wirklichen QL aber, z.B. bei MGG oder MINERVA mit GC, sind alle genannten OPEN-Modi durchaus auch auf MDV anwendbar.
ioa.clos IO.CLOSE 2 / 2 Schließt einen Kanal IN: OUT: A0 Kanal-ID A0 verdorben A1 verdorben
NOERRRCLOSE gilt immer als erfolgreich abgeschlossen.
ioa.frmt IO.FORMT 2 / 3 Formatiert einen sectorisierten Datenträger IN: OUT: D1.W Anzahl brauchbarer Sectoren D2.W Gesamtzahl Sectoren A0 Ptr zum Namen A0 verdorben A1 verdorben
ERR.OM -3
ERR.FF -14 Fehler beim Formatieren
ERR.NF -7
ERR.IU -9IO.FORMAT arbeitet auch, wenn zugleich ein Kanal für den TK2-Direktzugriff auf den betr. Datenträger offen ist.
ioa.delf IO.DELET 2 / 4 Ein File löschen IN: OUT: D1 Job-IDdes Kanal-Besitzers D1, D3 SQ: verdorben A0 Ptr zum Filenamen A0-A3 verdorben
ERR.NO -6 zu viele Kanäle offen
ERR.OM -3
ERR.NF -7
ERR.BN -12
Nur SQ:
ioa.sown IOA.SOWN 2 / 5 neuen Kanalbesitzer festlegen IN: OUT: D1 Job-IDdes neuen Besitzers D1 verdorben A0 Kanal-ID
ERR.NJ Jobangabe ungültig
ERR.NO Kanal-ID ungültig
Die Trap kann leicht nachgebildet werden:
Man trägt dazu lediglich die Job-ID des neuen Besitzers an Position 8 des Heap-Headers der cdt ein.