•  Back 
  •  Libraries 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : Pure C Library Documentation
Author      : John Kormylo
Version     : LIB.HYP 1.0
Subject     : Documentation/Pure C Library
Nodes       : 1309
Index Size  : 32068
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : en
@default    : 
@help       : Help
@options    : +g -i -s +x +z -t4
@width      : 75
View Ref-File[ GEMDOS System Header                                       <tos.h> ]

typedef struct _syshdr
 {
  unsigned int   os_entry;   /* BRA to reset handler             */
  unsigned int   os_version; /* TOS version number               */
  void           *os_start;  /* reset handler address            */
  struct _syshdr *os_base;   /* base of OS                       */
  void           *os_membot; /* end BIOS/GEMDOS/VDI ram usage    */
  void           *os_rsv1;
  long           *os_magic;  /* memory usage parameter block     */
  long           os_gendat;  /* Date of system build ($MMDDYYYY) */
  int            os_palmode; /* country specific configuration   */
  int            os_gendatg; /* DOSTIME date of system build     */

/* starting with TOS 1.02 */

  void           *_root;     /* base of OS Pool                  */
  long           *kbshift;   /* keyboard shift state variable    */
  BASPAG         **_run;     /* GEMDOS PID of current process    */
  void           *p_rsv2;
 } SYSHDR;

While os_magic is typed as a long pointer, it points to a structure
of the form:

struct the_magic
 {
  long magic;     /* must contain 0x87654321       */
  long os_top;    /* end of system (OS+GEM) BSS    */
  long gem_start; /* execution address for desktop */
 };

See also _sysbase, palmode, Kbshift() and TOS Version.