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.22.57 X_BUF_V2 TOS typedef struct x_buf_v2 { int16_t buf_len /* Length of the structure, including this word. Future */ /* versions of this structure (X_BUF_V3 etc.) may be bigger. */ int16_t arch /* 16 for 16-bit AES, 32 for hypothetical 32-bit AES. */ CLRCAT *cc /* Address of an array of 16 CLRCAT structures. */ /* This is so that they can be read by a program; in */ /* ViewMAX, the colours could be set but not reread. */ OBJECT *w_active /* Address of an object tree (19 elements) used to */ /* draw window elements. Included so a program can */ /* change symbols on window buttons. */ int8_t *info /* Address of a 0-terminated ASCII string (at most */ /* 40 characters, no newlines) describing the AES */ int32_t abilities /* A bitmapped field describing what optional functions */ /* this AES provides: */ /* ABLE_GETINFO 1 bit 0 : xapp_getinfo supported */ /* ABLE_PROP 2 bit 1 : prop_get, prop_put and prop_del supported */ /* ABLE_WTREE 4 bit 2 : wind_get and wind_set can change glyphs */ /* ABLE_X3D 8 bit 3 : GEM/5 3D using DRAW3D */ /* ABLE_XSHL 16 bit 4 : xshl_getshell & xshl_putshell */ /* ABLE_PROP2 32 bit 5 : prop_gui_get, prop_gui_set */ /* ABLE_EMSDESK 64 bit 6 : xgrf_dtimage supports EMS */ /* ABLE_XBVSET 128 bit 7 : supports 32 disc drives */ } X_BUF_V2; An initialised X_BUF_V2 is one in which all members are 0 except buf_len. This initialised buffer is then passed to appl_init. On return, if arch is 0 then the structure was not filled in by the AES; otherwise it was. The buf_len field may be reduced, if the AES was expecting an earlier version of the structure (ie, X_BUF_V1); this should not be a problem because the structures are forward and backward compatible. Querverweis: appl_init