SReadStruct
SReadStruct Copy a data structure into a new block
#include <Slots.h> Slot Manager
OSErr SReadStruct( spBlkPtr);
SpBlockPtr spBlkPtr ; address of 56-byte Slot Parameter Block
structure
returns Error Code; 0=no error
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 Size Offset Description
Æ spResult long 4 0 FUNCTION result
Æ spsPointer Ptr 4 4 Structure pointer
Æ spSize long 4 8 Size of structure
Other parameters affected are:
spByteLanes char 1 53 ByteLanes from format block in card ROM
Returns: 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

Notes: 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.