•  Back 
  •  edit_evnt 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.6.5.1  Bindings für edit_evnt                                    TOS

 C:          int16_t edit_evnt ( OBJECT *tree, int16_t obj, int16_t 
             whdl, EVNT *events, int32_t *errcode );

 Umsetzung:

             int16_t edit_evnt ( OBJECT *tree, int16_t obj, int16_t whdl,
                              EVNT *events, int32_t *errcode )
             {
                int_in[0]  = obj;
                int_in[1]  = whdl;
 
                addr_in[0] = tree;
                addr_in[1] = events;
 
                int_out[1] = 0;          /* für alte SLB */
                int_out[2] = 0;          /* für alte SLB */
 
                crys_if( 215 )
 
                *errcode = int_out[1..2];
 
 
                return ( int_out[0] );
             }

 GEM-Arrays:

              Adresse    Feldelement    Belegung 
              control    control[0]     215   # Opcode der Funktion 
              control+2  control[1]     2     # Einträge in int_in 
              control+4  control[2]     3     # Einträge in int_out 
              control+6  control[3]     2     # Einträge in addr_in 
              control+8  control[4]     0     # Einträge in addr_out 
              int_in     int_in[0]      obj 
              int_in+2   int_in[1]      whdl 
              addr_in    addr_in[0]     tree 
              addr_in+4  addr_in[1]     events 
              int_out    int_out[0]     Retrurn-Wert 
              int_out+2  int_out[1..2]  errcode 

Der Fehlercode errcode ist erst ab Version 7 vorhanden, das Binding 
sollte dafür sorgen, daß alte SLB-Versionen immer Nullen liefern. 
Umgekehrt erkennen neue SLB-Versionen per contrl[2], ob ein Fehlercode 
angefordert wurde.