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.10.2.1 Bindings für fslx_do TOS
C: void *fslx_do ( int8_t *title, int8_t *path, int16_t
pathlen, int8_t *fname, int16_t fnamelen, int8_t
*patterns, XFSL_FILTER *filter, int8_t *paths, int16_t
*sort_mode, int16_t flags, int16_t *button, int16_t
*nfiles, int8_t **pattern );
Umsetzung:
void *fslx_do ( int8_t *title, int8_t *path, int16_t pathlen,
int8_t *fname, int16_t fnamelen, int8_t *patterns,
XFSL_FILTER *filter, int8_t *paths,
int16_t *sort_mode, int16_t flags, int16_t *button,
int16_t *nfiles, int8_t **pattern )
{
addr_in[0] = title;
addr_in[1] = path;
addr_in[2] = fname;
addr_in[3] = patterns;
addr_in[4] = filter;
addr_in[5] = paths;
int_in[0] = pathlen;
int_in[1] = fnamelen;
int_in[2] = *sort_mode;
int_in[3] = flags;
crys_if (194);
*button = int_out[1];
*nfiles = int_out[2];
*sort_mode = int_out[3];
*pattern = addr_out[1];
return ( (void *) addr_out[0] );
}
GEM-Arrays:
Adresse Feldelement Belegung
control control[0] 194 # Opcode der Funktion
control+2 control[1] 4 # Einträge in int_in
control+4 control[2] 4 # Einträge in int_out
control+6 control[3] 6 # Einträge in addr_in
control+8 control[4] 2 # Einträge in addr_out
addr_in addr_in[0] title
addr_in+4 addr_in[1] path
addr_in+8 addr_in[2] fname
addr_in+12 addr_in[3] patterns
addr_in+16 addr_in[4] filter
addr_in+20 addr_in[5] paths
int_in int_in[0] pathlen
int_in+2 int_in[1] fnamelen
int_in+4 int_in[2] sort_mode
int_in+6 int_in[3] flags
addr_out addr_out[0] Return-Wert
addr_out+4 addr_out[1] pattern
int_out int_out[0] 1
int_out+2 int_out[1] button
int_out+4 int_out[2] nfiles
int_out+6 int_out[3] sort_mode