mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
126 lines
3.1 KiB
C
126 lines
3.1 KiB
C
/*
|
|
File: ExpansionBus.h
|
|
|
|
Contains: xxx put contents here xxx
|
|
|
|
Written by: xxx put writers here xxx
|
|
|
|
Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<1> 11/11/93 fau first checked in
|
|
|
|
*/
|
|
|
|
/*
|
|
* File: ExpansionBus.h
|
|
*
|
|
* Contains: Expansion Mgr Device Tree Manipulation Routines
|
|
*
|
|
* Written by: Al Kossow
|
|
*
|
|
* Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
|
|
*
|
|
* Change History (most recent first):
|
|
*
|
|
* <1> 10/20/93 aek Created
|
|
*/
|
|
#pragma once
|
|
#ifndef __EXPANSIONBUS__
|
|
#define __EXPANSIONBUS__
|
|
|
|
#include "Types.h"
|
|
#include "Devices.h"
|
|
|
|
#define kTypeMask 0x3
|
|
#define kDeviceNode 0x1
|
|
#define kPropertyNode 0x2
|
|
|
|
#define kAttribMask 0x70
|
|
#define kAttribLocked 0x10
|
|
#define kAttribNVRAM 0x20
|
|
#define kAttribSysSav 0x40
|
|
|
|
#define kAttribROMProp 0x80
|
|
#define kAttribDefProp 0x100
|
|
|
|
/*
|
|
* The device tree parameter block
|
|
*/
|
|
|
|
typedef unsigned long NodeID;
|
|
|
|
typedef struct NodeInfo {
|
|
unsigned long attrib; // attributes of this node
|
|
NodeID parentNode; // nil if node is root node
|
|
NodeID peerNode; // nil if no peers
|
|
NodeID childNode; // nil if no children
|
|
NodeID propertyNode; // device property nodes
|
|
NodeID propertySize; // size of property
|
|
char name[32]; // name of this node
|
|
}NodeInfo;
|
|
|
|
typedef NodeInfo *NodeInfoPtr;
|
|
|
|
#ifndef _ExpansionBusDispatch
|
|
#define _ExpansionBusDispatch 0xAAF3
|
|
#endif
|
|
|
|
/*
|
|
* Expansion Manager C Interface
|
|
*
|
|
* pascal NodeID DevTreeRoot();
|
|
* pascal OSErr DevTreeNodeInfo(NodeID node, NodeInfoPtr p);
|
|
* pascal NodeID DevTreeAddNode(NodeID parentNode, ulong attrib, char *name);
|
|
* pascal OSErr DevTreeDelNode(NodeID theNode);
|
|
* pascal OSErr DevTreeSetProperty(NodeID theNode, unsigned char *buf, long size);
|
|
* pascal OSErr DevTreeGetProperty(NodeID theNode, unsigned char *buf, long size);
|
|
*
|
|
* pascal ExpIntInstall(expIntQElemPtr, nodeID)
|
|
* pascal ExpIntRemove(expIntQElemPtr, nodeID)
|
|
*
|
|
* pascal ExpVInstall(expVblTaskPtr, nodeID)
|
|
* pascal ExpVRemove(expVblTaskPtr, nodeID)
|
|
*
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
pascal OSErr ExpIntInstall(QElemPtr sIntQElemPtr, NodeID nodeID)
|
|
= { 0x303c, 0x0400, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr ExpIntRemove(QElemPtr sIntQElemPtr, NodeID nodeID)
|
|
= { 0x303c, 0x0401, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr ExpVInstall(QElemPtr sIntQElemPtr, NodeID nodeID)
|
|
= { 0x303c, 0x0402, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr ExpVRemove(QElemPtr sIntQElemPtr, NodeID nodeID)
|
|
= { 0x303c, 0x0403, _ExpansionBusDispatch};
|
|
|
|
pascal NodeID DevTreeRoot(void)
|
|
= { 0x303c, 0x0404, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr DevTreeNodeInfo(NodeID theNode, NodeInfoPtr p)
|
|
= { 0x303c, 0x0405, _ExpansionBusDispatch};
|
|
|
|
pascal NodeID DevTreeAddNode(NodeID parentNode, unsigned long attrib, char *name)
|
|
= { 0x303c, 0x0606, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr DevTreeDelNode(NodeID theNode)
|
|
= { 0x303c, 0x0207, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr DevTreeSetProperty(NodeID theNode, unsigned char *buf, long size)
|
|
= { 0x303c, 0x0608, _ExpansionBusDispatch};
|
|
|
|
pascal OSErr DevTreeGetProperty(NodeID theNode, unsigned char *buf, long size)
|
|
= { 0x303c, 0x0609, _ExpansionBusDispatch};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif |