•  Back 
  •  fsel_boxinput 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.4.1.1  Bindings for fsel_boxinput                                TOS

 C:

             /* Message handler for updating background windows */
             typedef void cdecl (* FSEL_CALLBACK)(int16_t *msg);

             int16_t fsel_boxinput ( int16_t *global, int8_t 
             *fs_einpath, int8_t *fs_einsel, int16_t *fs_eexbutton, 
             int8_t *elabel, FSEL_CALLBACK callback );

 Binding:

             int16_t fsel_boxinput ( int16_t *global, int8_t *fs_einpath,
                                     int8_t *fs_einsel, int16_t *fs_eexbutton,
                                     int8_t *elabel, FSEL_CALLBACK callback )
             {
               void *aespb[6], *addrin[6], *addrout[6];
               int contrl[5], intin[16], intout[7];
 
               aespb[0] = contrl;
               aespb[1] = global;
               aespb[2] = intin;
               aespb[3] = intout;
               aespb[4] = addrin;
               aespb[5] = addrout;
 
               contrl[0] = 91;
               contrl[1] = 0;
               contrl[2] = 2;
               contrl[3] = 4;
               contrl[4] = 0;
 
                addr_in[0] = fs_einpath;
                addr_in[1] = fs_einsel;
                addr_in[2] = elabel;
                addr_in[3] = callback;
 
               _crystal((AESPB *)aespb);
 
                *fs_eexbutton = int_out[1];
                return ( int_out[0] );
             }

 GEM-Arrays:

              Address     Element     Contents 
              control     control[0]  91    # Function opcode 
              control+2   control[1]  0     # Entry in int_in 
              control+4   control[2]  2     # Entry in int_out 
              control+6   control[3]  4     # Entry in addr_in 
              control+8   control[4]  0     # Entry in addr_out 
              addr_in     addr_in[0]  fs_einpath 
              addr_in+4   addr_in[1]  fs_einsel 
              addr_in+8   addr_in[2]  elabel 
              addr_in+12  addr_in[3]  callback 
              int_out     int_out[0]  Return value 
              int_out+2   int_out[1]  fs_eexbutton 

Note: BoxKite requires information from the 'global' array of the main 
application. The supplied GEM bindings of development systems normally 
pass this automatically.