|
Mac OS 9
|
Slot Manager Interfaces. More...
Go to the source code of this file.
Data Structures | |
| struct | SlotIntQElement |
| struct | SpBlock |
| struct | SInfoRecord |
| struct | SDMRecord |
| struct | FHeaderRec |
| struct | XFHeaderRec |
| struct | SEBlock |
Macros | |
| #define | NewSlotIntServiceUPP(userRoutine) |
| #define | DisposeSlotIntServiceUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
| #define | InvokeSlotIntServiceUPP(sqParameter, userUPP) |
| #define | NewSlotIntServiceProc(userRoutine) NewSlotIntServiceUPP(userRoutine) |
| #define | CallSlotIntServiceProc(userRoutine, sqParameter) InvokeSlotIntServiceUPP(sqParameter, userRoutine) |
Typedefs | |
| typedef struct SlotIntQElement | SlotIntQElement |
| typedef SlotIntQElement * | SQElemPtr |
| typedef struct SpBlock | SpBlock |
| typedef SpBlock * | SpBlockPtr |
| typedef struct SInfoRecord | SInfoRecord |
| typedef SInfoRecord * | SInfoRecPtr |
| typedef struct SDMRecord | SDMRecord |
| typedef struct FHeaderRec | FHeaderRec |
| typedef FHeaderRec * | FHeaderRecPtr |
| typedef struct XFHeaderRec | XFHeaderRec |
| typedef XFHeaderRec * | XFHeaderRecPtr |
| typedef struct SEBlock | SEBlock |
Enumerations | |
| enum | { fCardIsChanged , fCkForSame , fCkForNext , fWarmStart = 2 } |
| enum | { stateNil = 0 , stateSDMInit = 1 , statePRAMInit = 2 , statePInit = 3 , stateSInit = 4 } |
| enum | { fall = 0 , foneslot = 1 , fnext = 2 } |
| enum | { catMask = 0x08 , cTypeMask = 0x04 , drvrSWMask = 0x02 , drvrHWMask = 0x01 } |
| enum | { uppSlotIntServiceProcInfo = 0x0000B822 } |
Functions | |
| typedef | CALLBACK_API_REGISTER68K (short, SlotIntServiceProcPtr,(long sqParameter)) |
| typedef | REGISTER_UPP_TYPE (SlotIntServiceProcPtr) SlotIntServiceUPP |
| SlotIntServiceUPP | NewSlotIntServiceUPP (SlotIntServiceProcPtr userRoutine) |
| void | DisposeSlotIntServiceUPP (SlotIntServiceUPP userUPP) |
| short | InvokeSlotIntServiceUPP (long sqParameter, SlotIntServiceUPP userUPP) |
| OSErr | SReadByte (SpBlockPtr spBlkPtr) |
| Return an ID byte. More... | |
| OSErr | SReadWord (SpBlockPtr spBlkPtr) |
| Return a 16-bit ID value. More... | |
| OSErr | SReadLong (SpBlockPtr spBlkPtr) |
| Return a 32-bit ID value. More... | |
| OSErr | SGetCString (SpBlockPtr spBlkPtr) |
| OSErr | SGetBlock (SpBlockPtr spBlkPtr) |
| OSErr | SFindStruct (SpBlockPtr spBlkPtr) |
| OSErr | SReadStruct (SpBlockPtr spBlkPtr) |
| Copy a data structure into a new block. More... | |
| OSErr | SReadInfo (SpBlockPtr spBlkPtr) |
| Read a data structure into a new block. More... | |
| OSErr | SReadPRAMRec (SpBlockPtr spBlkPtr) |
| Copy the sPRAM data structure into a new record. More... | |
| OSErr | SPutPRAMRec (SpBlockPtr spBlkPtr) |
| Copy data from spsPointer's block into SPRAMRecord. More... | |
| OSErr | SReadFHeader (SpBlockPtr spBlkPtr) |
| Copy the slot's format block into an FHeaderRec. More... | |
| OSErr | SNextSRsrc (SpBlockPtr spBlkPtr) |
| Determine the set of all a slot card's or NuBus's sResources. More... | |
| OSErr | SNextTypeSRsrc (SpBlockPtr spBlkPtr) |
| Return information about sResources of a specified type. More... | |
| OSErr | SRsrcInfo (SpBlockPtr spBlkPtr) |
| Return the driver reference number. More... | |
| OSErr | SDisposePtr (SpBlockPtr spBlkPtr) |
| OSErr | SCkCardStat (SpBlockPtr spBlkPtr) |
| Check the SInfoRecord's InitStatusA field. More... | |
| OSErr | SReadDrvrName (SpBlockPtr spBlkPtr) |
| Read the name of the sResource for this slot and list ID. More... | |
| OSErr | SFindSRTRec (SpBlockPtr spBlkPtr) |
| OSErr | SFindDevBase (SpBlockPtr spBlkPtr) |
| Return a pointer to the base of a device. More... | |
| OSErr | SFindBigDevBase (SpBlockPtr spBlkPtr) |
| OSErr | InitSDeclMgr (SpBlockPtr spBlkPtr) |
| OSErr | SPrimaryInit (SpBlockPtr spBlkPtr) |
| OSErr | SCardChanged (SpBlockPtr spBlkPtr) |
| Indicate if a card has been changed. More... | |
| OSErr | SExec (SpBlockPtr spBlkPtr) |
| OSErr | SOffsetData (SpBlockPtr spBlkPtr) |
| Return the contents of the offset/data field. More... | |
| OSErr | SInitPRAMRecs (SpBlockPtr spBlkPtr) |
| OSErr | SReadPBSize (SpBlockPtr spBlkPtr) |
| Read the size of the indicated sBlock. More... | |
| OSErr | SCalcStep (SpBlockPtr spBlkPtr) |
| Find the field sizes in the indicated block. More... | |
| OSErr | SInitSRsrcTable (SpBlockPtr spBlkPtr) |
| OSErr | SSearchSRT (SpBlockPtr spBlkPtr) |
| Find the record corresponding to this sResource. More... | |
| OSErr | SUpdateSRT (SpBlockPtr spBlkPtr) |
| Update the Slot Resource Table. More... | |
| OSErr | SCalcSPointer (SpBlockPtr spBlkPtr) |
| Return pointer to a byte in declaration ROM. More... | |
| OSErr | SGetDriver (SpBlockPtr spBlkPtr) |
| OSErr | SPtrToSlot (SpBlockPtr spBlkPtr) |
| Return the slot number of a card. More... | |
| OSErr | SFindSInfoRecPtr (SpBlockPtr spBlkPtr) |
| SFindSInfoRecPtr Return pointer to the sInfoRecord. More... | |
| OSErr | SFindSRsrcPtr (SpBlockPtr spBlkPtr) |
| Return pointer to sRsrc list. More... | |
| OSErr | SDeleteSRTRec (SpBlockPtr spBlkPtr) |
| OSErr | OpenSlot (ParmBlkPtr paramBlock, Boolean async) |
| Open slot device. More... | |
| OSErr | OpenSlotSync (ParmBlkPtr paramBlock) |
| OSErr | OpenSlotAsync (ParmBlkPtr paramBlock) |
| OSErr | SIntInstall (SQElemPtr sIntQElemPtr, short theSlot) |
| Add a new element to the interrupt queue. More... | |
| OSErr | SIntRemove (SQElemPtr sIntQElemPtr, short theSlot) |
| Remove an element from the interrupt queue. More... | |
| OSErr | SVersion (SpBlockPtr spBlkPtr) |
| Return the version number of the Slot Manager. More... | |
| OSErr | SetSRsrcState (SpBlockPtr spBlkPtr) |
| OSErr | InsertSRTRec (SpBlockPtr spBlkPtr) |
| OSErr | SGetSRsrc (SpBlockPtr spBlkPtr) |
| OSErr | SGetTypeSRsrc (SpBlockPtr spBlkPtr) |
| Return information about a matching sResource. More... | |
| OSErr | SGetSRsrcPtr (SpBlockPtr spBlkPtr) |
Slot Manager Interfaces.
For bug reports, consult the following page on the World Wide Web:
http://developer.apple.com/bugreporter/
| #define InvokeSlotIntServiceUPP | ( | sqParameter, | |
| userUPP | |||
| ) |
| #define NewSlotIntServiceProc | ( | userRoutine | ) | NewSlotIntServiceUPP(userRoutine) |
CALL_NOT_IN_CARBON support for pre-Carbon UPP routines: New...Proc and Call...Proc
| #define NewSlotIntServiceUPP | ( | userRoutine | ) |
register 2_bytes:D0 Func(4_bytes:A1)
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| void DisposeSlotIntServiceUPP | ( | SlotIntServiceUPP | userUPP | ) |
| OSErr InitSDeclMgr | ( | SpBlockPtr | spBlkPtr | ) |
Advanced
InitSDeclMgr()
| OSErr InsertSRTRec | ( | SpBlockPtr | spBlkPtr | ) |
| short InvokeSlotIntServiceUPP | ( | long | sqParameter, |
| SlotIntServiceUPP | userUPP | ||
| ) |
| SlotIntServiceUPP NewSlotIntServiceUPP | ( | SlotIntServiceProcPtr | userRoutine | ) |
| OSErr OpenSlot | ( | ParmBlkPtr | paramBlock, |
| Boolean | async | ||
| ) |
Open slot device.
CALL_NOT_IN_CARBON
OpenSlot is the same as PBOpen except that you use it when opening bus slot devices. It sets the IMMED bit to signal an extended parameter block. pbis the address of a parameter block. The following fields are relevant: Out-In Name Type SizeOffsetDescription ->ioCompletion ProcPtr 412Completion routine address (if async =TRUE) <-ioResult OSErr 216Error Code (0=no error, 1=not done yet) ->ioNamePtr StringPtr 418Address of device driver name <-ioRefNum short 224Receives driver reference number ->ioPermssn SignedByte 127Rd/Wrt permission (1=read, 2=write, et.al.) Additionally, if the slot resource serves a single device, there is an extension that includes: ->ioMix ProcPtr 428Reserved for the driver open routine ->ioFlags short 232Cleared to indicate single slot device ->ioSlot SignedByte 134Slot number for device being opened ->ioID SignedByte 135Slot resource ID If the slot resource serves more than one device, there is an extension that includes: ->ioMix ProcPtr 428Reserved for the driver open routine ->ioFlags short 232Cleared to indicate single slot device ->ioSEBlkptr ProcPtr 434Address of external parameter block asyncis a Boolean value. Use FALSE for normal (synchronous) operation or TRUE to enqueue the request and resume control immediately. See Async I/O .
an operating system Error Code . It will be one of: noErr(0) No error badUnitErr (-21) refNum doesn't match unit table unitEmptyErr (-22) refNum specifies NIL handle in unit table openErr (-23) Requested Read/Write permission and the driver's Open t permissions don't match dInstErr (-26) Couldn't find driver in resource file
OpenSlot opens a bus-based slot device driver when used by the Device Manager . Other than that, it is the equivalent of PBOpen
| OSErr OpenSlotAsync | ( | ParmBlkPtr | paramBlock | ) |
| OSErr OpenSlotSync | ( | ParmBlkPtr | paramBlock | ) |
| OSErr SCalcSPointer | ( | SpBlockPtr | spBlkPtr | ) |
Return pointer to a byte in declaration ROM.
SCalcSPointer returns a pointer to a given byte in a card's declaration ROM, given the pointer to a current byte and an offset ( spOffsetData ) in bytes. Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spsPointer Ptr 44Structure pointer → spsOffsetData long 412Offset/data field → spByteLanes char 153ByteLanes from format block in card ROM
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
| OSErr SCalcStep | ( | SpBlockPtr | spBlkPtr | ) |
Find the field sizes in the indicated block.
SCalcStep calculates the field sizes in the block pointed to by spBlkPtr. Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40FUNCTION result →spsPointer Ptr 44Structure pointer → spByteLanes char 153ByteLanes from format block in card ROM →spFlags char 154Internal use only
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
SCalcStep is used for stepping through the card firmware one field at a time. If the fConsecBytes flag is set it calculates the step value for consecutive bytes; otherwise it calculates it for consecutive IDs.
| OSErr SCardChanged | ( | SpBlockPtr | spBlkPtr | ) |
Indicate if a card has been changed.
SCardChanged returns a value of true in spResult if the card in slot spSlot has been changed (that is, if its sPRAMRecord has been initialized); otherwise it returns false. Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40FUNCTION result →spSlot char 149Slot number
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
| OSErr SCkCardStat | ( | SpBlockPtr | spBlkPtr | ) |
Check the SInfoRecord's InitStatusA field.
SCkCardStat checks the InitStatusA field of the SInfoRecord of the slot designated by spSlot, which also reflects the value of the InitStatusV field. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spSlot char 149Slot number Other parameters affected are: spResult long 40FUNCTION result
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
If this field contains a nonzero value, SCkCardStat returns a zero value. See SInfoRecord for a description of the sInfo record. The SCkCardStat routine can return nonfatal error reports, which can be one of the following: smBadRefId (-330) Reference ID was not found in the given sResource list. smBadsList (-331) The IDs in the sResource list are not in ascending order. smReservedErr (-332) A reserved field was not zero. smCodeRevErr (-333) Wrong revision of the code to be executed by sExec. smCPUErr (-334) The CPU field of the code was wrong. smsPointerNil (-335) LPointer is nil From sOffsetData. If this error occurs; check sInfo rec for more information. smNilsBlockErr (-336) The physical block size (of an sBlock) was zero.
| OSErr SDeleteSRTRec | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SDisposePtr | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SetSRsrcState | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SExec | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SFindBigDevBase | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SFindDevBase | ( | SpBlockPtr | spBlkPtr | ) |
Return a pointer to the base of a device.
SFindDevBase returns a pointer in spResult to the base of a device whose slot number is in spSlot and whose sResource ID is in spID. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40FUNCTION result →spID char 150sResource list ID →spSlot char 149Slot number
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The base address of a device may be in either slot or superslot space but not in both. Slot or superslot slot spaces are discussed in the book Designing Cards and Drivers for Macintosh II and Macintosh SE .
| OSErr SFindSInfoRecPtr | ( | SpBlockPtr | spBlkPtr | ) |
SFindSInfoRecPtr Return pointer to the sInfoRecord.
SFindSInfoRecPtr returns a pointer to the sInfoRecord identified by spSlot. Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ← spResult long 40FUNCTION result →spSlot char 149Slot number
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
| OSErr SFindSRsrcPtr | ( | SpBlockPtr | spBlkPtr | ) |
Return pointer to sRsrc list.
SFindSRsrcPtr returns a pointer to the sRsrc list for the sRsrc identified by spSlot, spID, and spExtDev . Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spsPointer Ptr 44Structure pointer →spID char 150sResource list ID →spSlot char 149Slot number Other parameters affected include: spResult long 40FUNCTION result
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
| OSErr SFindSRTRec | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SFindStruct | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SGetBlock | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SGetCString | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SGetDriver | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SGetSRsrc | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SGetSRsrcPtr | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SGetTypeSRsrc | ( | SpBlockPtr | spBlkPtr | ) |
Return information about a matching sResource.
SGetTypeSRsrc returns information either about the next sResource data structure of the matching type it finds in the same slot or about the next sResource data structure of the matching type it finds in any higher-numbered slot. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spsPointer Ptr 44Structure pointer ↔spParamData long 424input: fall, foneslot flags output: sResource enabled or disabled ←spRefNum short 238Slot Resource Table RefNum ↔spCategory short 240sResource_Type: Category field ↔spCType short 242sResource_Type: cType field ↔spDrvrSW short 244sResource_Type: DrvrSW field ↔spDrvrHW short 246sResource_Type: DrvrHW field →spTBMask char 148type bit mask ↔spSlot char 149Slot number ↔spID char 150ID of the sResource ↔spExtDev char 151ID of external device ←spHWDev char 152ID of hardware device
an operating system Error Code . It will be one of: noErr (0) No error
When you specify an sResource data structure and specify which resource-type fields to match, the SGetTypeSRsrc function returns information either about the next sResource data structure of the matching type it finds in the same slot or about the next sResource data structure of the matching type it finds in any higher-numbered slot. It performs the same function as the SNextTypeSRsrc function except that for the SGetTypeSRsrc function, you set the fall and foneslot flags to specify which type of search the function is to perform. You specify an sResource data structure with the spSlot, spID, and spExtDev fields. You must also use the spTBMask field to specify which fields of the sRsrcType entry in the sResource data structure should not be included in the search, as follows: •Set bit 0 to ignore the DrvrHW field. •Set bit 1 to ignore the DrvrSW field. •Set bit 2 to ignore the cType field. •Set bit 3 to ignore the Category field. In addition, you must clear the fall flag of the spParamData field (bit 0) to
| OSErr SInitPRAMRecs | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SInitSRsrcTable | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SIntInstall | ( | SQElemPtr | sIntQElemPtr, |
| short | theSlot | ||
| ) |
Add a new element to the interrupt queue.
Device Manager Slot Support
SIntInstall adds a new element to the interrupt queue for a particular card slot on the bus sIntQElemPtr points to the element being added to the interrupt queue for a given slot. theSlotis the location on the bus where the new element is being installed
an operating system Error Code . It will be one of: noErr(0) No error slotNumErr (-360) invalid slot # error
| OSErr SIntRemove | ( | SQElemPtr | sIntQElemPtr, |
| short | theSlot | ||
| ) |
Remove an element from the interrupt queue.
SIntRemove removes an element from the interrupt queue for a particular card slot on the bus. sIntQElemPtr points to the element being removed from the interrupt queue for a given slot. theSlotis the location on the bus where the element is being removed
an operating system Error Code . It will be one of: noErr(0) No error slotNumErr (-360) invalid slot # error
| OSErr SNextSRsrc | ( | SpBlockPtr | spBlkPtr | ) |
Determine the set of all a slot card's or NuBus's sResources.
SNextSRsrc can be used to determine the set of all sResources in a given slot card or NuBus configuration. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spsPointer Ptr 44Structure pointer ←spIOReserved short 236Reserved field of Slot Resource Table ←spRefNum short 238Slot Resource Table reference number ←spCategory short 240sResource type: Category ←spCType short 242sResource type: Type ←spDrvrSW short 244sResource type: Driver software identifier ←spDrvrHW short 246sResource type: Driver hardware identifier ↔spSlot char 149Slot number ↔spID char 150sResource list ID ↔spExtDev char 151External device identifier ←spHwDev char 152Hardware device identifier
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardsRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
Starting from a given slot number, spSlot, sResource list identification number, spID, and external device identifier, spExtDev , the trap macro SNextSRsrc returns the slot number, sResource list identification number, sResource type (category, cType, software, and hardware), driver reference number ( spRefNum ), and Slot Resource Table ioReserved field (spIOReserved ) for the next sResource. If there are no more sResources, SNextSRsrc returns a nonfatal error status, which can be one of the following:
| OSErr SNextTypeSRsrc | ( | SpBlockPtr | spBlkPtr | ) |
Return information about sResources of a specified type.
SNextTypeSRsrc behaves the same as SNextSRsrc except that it returns information only about sResources of the specified type. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spsPointer Ptr 44Structure pointer ←spIOReserved short 236Reserved field of Slot Resource Table ←spRefNum short 238Slot Resource Table reference number ↔spCategory short 240sResource type: Category ↔spCType short 242sResource type: Type ↔spDrvrSW short 244sResource type: Driver software identifier ↔spDrvrHW short 246sResource type: Driver hardware identifier →spTBMask char 148Type bit mask (bits 0..3 mask words 0..3) ↔spSlot char 149Slot number ↔spID char 150sResource list ID ↔spExtDev char 151External device identifier ↔spHwDev char 152Hardware device identifier
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
Given an sResource type (category, cType, software, and hardware) and spTBMask , and starting from a given slot number, spSlot, and sResource list identification number, spID, the trap macro SNextTypeSRsrc returns the slot number, spSlot, sResource list identification number, spID, and Slot Resource Table ioReserved field ( spIOReserved ) for the next sResource of that type, as masked. If there are no more sResources of that type, SNextTypeSRsrc returns a nonfatal error report, which can be one of the following:
| OSErr SOffsetData | ( | SpBlockPtr | spBlkPtr | ) |
Return the contents of the offset/data field.
SOffsetData returns (in spOffsetData ) the contents of the offset/data field from the sResource list identified by spID and pointed to by spsPointer . Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spsPointer Ptr 44Structure pointer ← spsOffsetData long 412Offset/data field →spID char 150Structure ID ← spByteLanes char 153ByteLanes from format block in card ROM Other affected parameters are: spResult long 40FUNCTION result spFlags char 154Internal use only
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The parameter spsPointer returns a pointer to the field's identification number in the sResource list.
| OSErr SPrimaryInit | ( | SpBlockPtr | spBlkPtr | ) |
| OSErr SPtrToSlot | ( | SpBlockPtr | spBlkPtr | ) |
Return the slot number of a card.
SPtrToSlot returns in spSlot the slot number of the card whose declaration ROM is pointed to by spsPointer . spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spsPointer Ptr 44Structure pointer ←spSlot char 149Slot number
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The value of spsPointer must have the form Fsxx xxxx, where s is a slot number.
| OSErr SPutPRAMRec | ( | SpBlockPtr | spBlkPtr | ) |
Copy data from spsPointer's block into SPRAMRecord.
SPutPRAMRec copies the logical data from the block referenced by spsPointer into the SPRAMRecord for the slot identified by spSlot. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spsPointer Ptr 44Structure pointer →spSlot char 149Slot number
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
SPutPRAMRec updates the Macintosh PRAM for that slot. The sPRAM record is defined under SPRAMRecord . In that record, the field boardID is an Apple-defined field and is protected during execution of SPutPRAMRec.
| OSErr SReadByte | ( | SpBlockPtr | spBlkPtr | ) |
Return an ID byte.
Principle
SReadByte returns an 8-bit value identified by spID. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40FUNCTION result →spsPointer Ptr 44Structure pointer →spID char 150sResource list ID Other parameters affected are: spsOffsetData long 412Offset/data field spByteLanes char 153ByteLanes from format block in card ROM
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The trap macro SReadByte finds a data structure in slot card firmware. It returns in spResult an 8-bit value identified by spID from the sResource list pointed to by spsPointer . This routines' low-order byte can return non-fatal error reports, which will be one of the following: smBadRefId (-330) Reference ID was not found in the given sResource list. smBadsList (-331) The IDs in the sResource list are not in ascending order. smReservedErr (-332) A reserved field was not zero. smCodeRevErr (-333) Wrong revision of the code to be executed by sExec. smCPUErr (-334) The CPU field of the code was wrong. smsPointerNil (-335) LPointer is nil From sOffsetData. If this error occurs;
| OSErr SReadDrvrName | ( | SpBlockPtr | spBlkPtr | ) |
Read the name of the sResource for this slot and list ID.
SReadDrvrName reads the name of the sResource corresponding to the slot number and list identification number. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spResult long 40FUNCTION result →spSlot char 149Slot number →spID char 150sResource list ID Other parameters affected are: spsPointer Ptr 44Structure pointer spSize long 48Size of structure
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The trap macro SReadDrvrName reads the name of the sResource corresponding to the slot number, spSlot, and sResource list identification number, spID, prefixes a period to the value of the cString and converts its type to Str255. It then reads the result into a Pascal string variable declared by the calling program and pointed to by spResult . The final driver name is compatible with the Open routine.
| OSErr SReadFHeader | ( | SpBlockPtr | spBlkPtr | ) |
Copy the slot's format block into an FHeaderRec.
SReadFHeader copies the format block for the slot designated by spSlot to an FHeaderRec allocated by the calling program and pointed to by spResult . spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spResult long 40FUNCTION result →spSlot char 149Slot number Other parameters affected are: spsPointer Ptr 44Structure pointer spSize long 48Size of structure spsOffsetData long 412Offset/data field spByteLanes char 153ByteLanes from format block in card ROM
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
| OSErr SReadInfo | ( | SpBlockPtr | spBlkPtr | ) |
Read a data structure into a new block.
Special
SReadInfo read the spSlot's sInfoRecord into a new record. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spResult long 40FUNCTION result →spSlot char 149Slot number Other parameters affected are: spSize long4 8QSize of structure
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The trap macro SReadInfo reads the sInfoRecord identified by spSlot into a new record allocated by the calling program and pointed to by spResult .
| OSErr SReadLong | ( | SpBlockPtr | spBlkPtr | ) |
Return a 32-bit ID value.
SReadLong returns a 32-bit value identified by spID. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40FUNCTION result →spsPointer Ptr 44Structure pointer →spID char 150sResource list ID Other parameters affected are: spSize long 48Size of structure spsOffsetData long 412Offset/data field spByteLanes char 153ByteLanes from format block in card ROM
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The trap macro SReadLong finds a data structure in slot card firmware. It returns in spResult a 32-bit value identified by spID from the sResource list pointed to by spsPointer . This routine can return nonfatal error reports, which will be one of the following: smBadRefId (-330) Reference ID was not found in the given sResource list. smBadsList (-331) The IDs in the sResource list are not in ascending order. smReservedErr (-332) A reserved field was not zero. smCodeRevErr (-333) Wrong revision of the code to be executed by sExec. smCPUErr (-334) The CPU field of the code was wrong.
| OSErr SReadPBSize | ( | SpBlockPtr | spBlkPtr | ) |
Read the size of the indicated sBlock.
SReadPBSize reads the physical block size of the sBlock pointed to by spsPointer and identified by spID. Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spsPointer Ptr 44Structure pointer ←spSize long 48Size of structure →spID char 150Structure ID ← spByteLanes char 153ByteLanes from format block in card ROM →spFlags char 154Internal use only Other affected parameters are: spResult long 40FUNCTION result
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
SReadPBSize also checks to see that the upper byte is 0 if the fckReserved flag is set. The parameter spsPointer points to the resulting logical block when SReadPBSize is done.
| OSErr SReadPRAMRec | ( | SpBlockPtr | spBlkPtr | ) |
Copy the sPRAM data structure into a new record.
SReadPRAMRec copies the sPRAM record data for the slot identified by spSlot to a new record allocated by the calling program and pointed to by spResult . spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spResult long 40FUNCTION result →spSlot char 149Slot number Other parameters affected are: spSize long4 8QSize of structure
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
One sPRAM record for each slot resides in the Macintosh II parameter RAM. The sPRAM record is initialized during the startup by SInitPRAMRecs .
| OSErr SReadStruct | ( | SpBlockPtr | spBlkPtr | ) |
Copy a data structure into a new block.
SReadStruct copies a data structure into a new block. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spResult long 40FUNCTION result →spsPointer Ptr 44Structure pointer →spSize long 48Size of structure Other parameters affected are: spByteLanes char 153ByteLanes from format block in card ROM
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The trap macro SReadStruct copies a structure of size spSize from the sResource list pointed to by spsPointer into a new block allocated by the calling program and pointed to by spResult .
| OSErr SReadWord | ( | SpBlockPtr | spBlkPtr | ) |
Return a 16-bit ID value.
SReadWord returns a 16-bit value identified by spID. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40FUNCTION result →spsPointer Ptr 44Structure pointer →spID char 150sResource list ID Other parameters affected are: spsOffsetData long 412Offset/data field spByteLanes char 153ByteLanes from format block in card ROM
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
The trap macro SReadWord finds a data structure in slot card firmware. It returns in spResult a 16-bit value identified by spID from the sResource list pointed to by spsPointer . This routine can return non-fatal error reports, which will be one of the following: smBadRefId (-330) Reference ID was not found in the given sResource list. smBadsList (-331) The IDs in the sResource list are not in ascending order. smReservedErr (-332) A reserved field was not zero. smCodeRevErr (-333) Wrong revision of the code to be executed by sExec. smCPUErr (-334) The CPU field of the code was wrong. smsPointerNil (-335) LPointer is nil From sOffsetData. If this error occurs;
| OSErr SRsrcInfo | ( | SpBlockPtr | spBlkPtr | ) |
Return the driver reference number.
SRsrcInfo is most often used to return the driver reference number. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spsPointer Ptr 44Structure pointer ←spIOReserved short 236Reserved field of Slot Resource Table ←spRefNum short 238Slot Resource Table reference number ←spCategory short 240sResource type: Category ←spCType short 242sResource type: Type ←spDrvrSW short 244sResource type: Driver software identifier ←spDrvrHW short 246sResource type: Driver hardware identifier →spSlot char 149Slot number →spID char 150sResource list ID →spExtDev char 141External device identifier ←spHwDev char 152Hardware device identifier
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's. smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL. smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardsRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
SRsrcInfo returns an sResource list pointer ( spsPointer ), plus the sResource type (category, cType, software, and hardware), driver reference number ( spRefNum ), and Slot Resource Table ioReserved field (spIOReserved ) for the sResource specified by the slot number spSlot, sResource list identification number spID, and external device identifier spExtDev .
| OSErr SSearchSRT | ( | SpBlockPtr | spBlkPtr | ) |
Find the record corresponding to this sResource.
SSearchSRT searches the Slot Resource Table for the record corresponding to the sResource in slot spSlot with list spID and external device identifier spExtDev , and returns a pointer to it in spsPointer . Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spsPointer Ptr 44Structure pointer →spID char 150sResource list ID →spExtDev char 151ID of the external device →spSlot char 149Slot number →spFlags char 154Internal use only
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
If fckForNext bit of spFlags has a value of 0, SSearchSRT searches for that record; if it has a value of 1, it searches for the next record.
| OSErr SUpdateSRT | ( | SpBlockPtr | spBlkPtr | ) |
Update the Slot Resource Table.
SUpdateSRT updates the Slot Resource Table records spRefNum and spIOReserved with information about the sResource in slot spSlot with list spID and external device identifier spExtDev . Used only by the Operating System. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription →spIOReserved short 236Reserved field of Slot Resource Table →spRefNum short 238Slot Resource Table reference number →spID char 150sResource list ID →spExtDev char 151ID of the external device →spSlot char 149Slot number Other parameters affected include: spResult long 40FUNCTION result spsPointer Ptr 44Structure pointer spSize long 48Size of structure spFlags char 154Internal use only
an operating system Error Code . It will be one of: noErr(0) No error smEmptySlot (-300) No card in slot. smCRCFail (-301) CRC check failed. smFormatErr (-302) FHeader format is not Apple's smRevisionErr (-303) The revision of the card's declaration ROM is wrong. smNoDir (-304) Directory offset is NIL smNosInfoArray (-306) The SDM could not allocate memory for the sInfo array. smResrvErr (-307) A reserved field of the declaration ROM was used. smUnExBusErr (-308) An unexpected bus error occurred. smBLFieldBad (-309) A valid ByteLanes field was not found. smDisposePErr (-312) An error occurred during execution of DisposPointer. smNoBoardSRsrc (-313) There is no board sResource. smGetPRErr (-314) Error during execution of sGetPRAMRec. smNoBoardId (-315) There is no board ID. smInitStatVErr (-316) The InitStatus_V field was negative after Primary or Secondary Init. smInitTblVErr (-317) Error while trying to initialize the sResource Table. smNoJmpTbl (-318) Slot Manager jump table could not be created smBadBoardId (-319) Board ID was wrong; reinit the PRAM record
This routine is called by IOCore whenever the driver for a slot device is opened or closed.
| OSErr SVersion | ( | SpBlockPtr | spBlkPtr | ) |
Return the version number of the Slot Manager.
SVersion returns the version number of the Slot Manager in the splResuklt field. spBlkPtr is the address of a 56-byte Slot Parameter Block structure. The relevant fields are as follows: Out-In Name Type SizeOffsetDescription ←spResult long 40Slot Manager version number ←spsPointer Ptr 44Structure pointer
an operating system Error Code . It will be one of: noErr(0) No error
The SVersion function returns the version number of the Slot Manager in the spResult field. The system 7.0 or later Slot Manager returns version number 1 for a RAM-based Slot Manager and version number 2 for a ROM-based Slot Manager . Older versions of the Slot Manager do not recognize the SVersion function and return the nonfatal error: smSelOOBErr (-338) Selector out of bounds; function not implemented The SVersion function returns a pointer to additional information, if any, in the spsPointer field.