Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Operating System Utilities /
Chapter 9 - Start Manager


Summary of the Start Manager

Pascal Summary

Data Types

TYPE
   DefStartType = (slotDev, scsiDev);

   DefStartRec = 
   RECORD
      CASE DefStartType OF
      slotDev:
         sdExtDevID: SignedByte;    {external device ID}
         sdPartition:SignedByte;    {reserved}
         sdSlotNum:  SignedByte;    {slot number}
         sdSRsrcID:  SignedByte;    {SResourceID}
      scsiDev:
         sdReserved1:SignedByte;    {reserved}
         sdReserved2:SignedByte;    {reserved}
         sdRefNum:   Integer        {driver reference number}
   END;

   DefStartPtr = ^DefStartRec;      {pointer to a start definition record}

   DefVideoRec =
   RECORD
      sdSlot:     SignedByte;       {slot number}
      sdsResource:SignedByte;       {SResourceID}
   END;

   DefVideoPtr = ^DefVideoRec;   {pointer to a video definition record}

   DefOSRec    = 
   RECORD
      sdReserved: SignedByte;    {reserved--should be 0}
      sdOSType:   SignedByte;    {operating-system type}
   END;

   DefOSPtr    = ^DefOSRec;   {pointer to a default Operating System Record}

Routines

Identifying and Setting the Default Startup Device

PROCEDURE GetDefaultStartup	(paramBlock: DefStartPtr);
PROCEDURE SetDefaultStartup	(paramBlock: DefStartPtr);

Identifying and Setting the Default Video Device

PROCEDURE GetVideoDefault (paramBlock: DefVideoPtr);
PROCEDURE SetVideoDefault	(paramBlock: DefVideoPtr);

Identifying and Setting the Default Operating System

PROCEDURE GetOSDefault		(paramBlock: DefOSPtr);
PROCEDURE SetOSDefault		(paramBlock: DefOSPtr);

Getting and Setting the Timeout Interval

PROCEDURE GetTimeout		(VAR count: Integer);
PROCEDURE SetTimeout		(count: Integer);

C Summary

Data Types

struct SlotDev {
   char sdExtDevId;     /*external device ID*/
   char sdPartition;    /*reserved*/
   char sdSlotNum;      /*slot number*/
   char sdSRsrcID;      /*SResourceID*/
};

typedef struct SlotDev SlotDev;

struct SCSIDev {
   char sdReserved1;    /*reserved*/
   char sdReserved2;    /*reserved*/
   short sdRefNum;      /*driver reference number*/
};

typedef struct SCSIDev SCSIDev;

union DefStartRec {
   SlotDev slotDev;
   SCSIDev scsiDev;
};

typedef union DefStartRec DefStartRec;
typedef DefStartRec *DefStartPtr;

struct DefVideoRec {
   char sdSlot;      /*slot number*/
   char sdsResource; /*SResourceID*/
};

typedef struct DefVideoRec DefVideoRec;
typedef DefVideoRec *DefVideoPtr;

struct DefOSRec {
   char sdReserved;  /*reserved --should be 0*/
   char sdOSType;    /*operating-system type*/
};

typedef struct DefOSRec DefOSRec;
typedef DefOSRec *DefOSPtr;

Routines

Identifying and Setting the Default Startup Device

pascal void GetDefaultStartup	(DefStartPtr paramBlock);
pascal void SetDefaultStartup	(DefStartPtr paramBlock);

Identifying and Setting the Default Video Device

pascal void GetVideoDefault	(DefVideoPtr paramBlock);
pascal void SetVideoDefault	(DefVideoPtr paramBlock);

Identifying and Setting the Default Operating System

pascal void GetOSDefault	(DefOSPtr paramBlock);
pascal void SetOSDefault	(DefOSPtr paramBlock);

Getting and Setting the Timeout Interval

pascal void GetTimeout		(short *count);
pascal void SetTimeout		(short count);

Assembly-Language Summary

Data Structures

Default Startup Device Data Structure
0sdExtDevIDbyteexternal device ID
1sdPartitionbytereserved
2sdSlotNumbyteslot number
3sdSRsrcIDbyteslot resource ID
    
0sdReserved1bytereserved
1sdReserved2bytereserved
2sdRefNumworddriver reference number

Default Video Device Data Structure
0sdSlotbyteslot number
1sdSResourcebyteslot resource ID

Default Operating System Data Structure
0sdReservedbytereserved
1sdOSTypebyteoperating-system type

Trap Macros

Trap Macros Requiring Register Setup
Trap macro nameRegisters on entryRegisters on exit
_GetDefaultStartupA0: address of default video device parameter blockA0: address of default startup device parameter block
_SetDefaultStartupA0: address of default video device parameter blockA0: address of default startup device parameter block
_GetVideoDefaultA0: address of default video device parameter blockA0: address of default video device parameter block
_SetVideoDefaultA0: address of default video device parameter blockA0: address of default video device parameter block
_GetDefaultOSA0: address of default operating system parameter blockA0: address of default operating system parameter block
_SetDefaultOSA0: address of default operating system parameter blockA0: address of default operating system parameter block
_GetTimeout D0: count (word)
_SetTimeoutD0: count (word) 

Trap Macros Requiring Routine Selectors

_InternalWait
SelectorRoutine
$0000GetTimeout
$0001SetTimeout

Global Variables
TimeDBRAThe number of times the DBRA instruction is executed per millisecond.
TimeSCCDBThe number of times the SCC is accessed per millisecond.
TimeSCSIDBThe number of times the SCSI is accessed per millisecond.


Previous Book Contents Book Index Next

© Apple Computer, Inc.
6 JUL 1996