109 lines
3.1 KiB
C
109 lines
3.1 KiB
C
|
|
/************************************************************
|
|
|
|
Created: Thursday, September 12, 1991 at 11:53 AM
|
|
CommResources.h
|
|
C Interface to the Macintosh Libraries
|
|
|
|
|
|
Copyright Apple Computer, Inc. 1988-1991
|
|
All rights reserved
|
|
|
|
************************************************************/
|
|
|
|
|
|
#ifndef __COMMRESOURCES__
|
|
#define __COMMRESOURCES__
|
|
|
|
#ifndef __OSUTILS__
|
|
#include <OSUtils.h>
|
|
#endif
|
|
|
|
|
|
enum {
|
|
|
|
|
|
/* version of the Comm Resource Manager */
|
|
curCRMVersion = 2,
|
|
|
|
/* tool classes (also the tool file types) */
|
|
|
|
#define classCM 'cbnd'
|
|
#define classFT 'fbnd'
|
|
#define classTM 'tbnd'
|
|
|
|
/* constants general to the use of the Communications Resource Manager */
|
|
|
|
crmType = 9, /* queue type */
|
|
crmRecVersion = 1, /* version of queue structure */
|
|
|
|
/* error codes */
|
|
crmGenericError = -1,
|
|
crmNoErr = 0
|
|
};
|
|
|
|
/* data structures general to the use of the Communications Resource Manager */
|
|
typedef OSErr CRMErr;
|
|
|
|
struct CRMRec {
|
|
QElemPtr qLink; /*reserved*/
|
|
short qType; /*queue type -- ORD(crmType) = 9*/
|
|
short crmVersion; /*version of queue element data structure*/
|
|
long crmPrivate; /*reserved*/
|
|
short crmReserved; /*reserved*/
|
|
long crmDeviceType; /*type of device, assigned by DTS*/
|
|
long crmDeviceID; /*device ID; assigned when CRMInstall is called*/
|
|
long crmAttributes; /*pointer to attribute block*/
|
|
long crmStatus; /*status variable - device specific*/
|
|
long crmRefCon; /*for device private use*/
|
|
};
|
|
|
|
typedef struct CRMRec CRMRec;
|
|
typedef CRMRec *CRMRecPtr;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
pascal CRMErr InitCRM(void);
|
|
pascal QHdrPtr CRMGetHeader(void);
|
|
pascal void CRMInstall(QElemPtr crmReqPtr);
|
|
pascal OSErr CRMRemove(QElemPtr crmReqPtr);
|
|
pascal QElemPtr CRMSearch(QElemPtr crmReqPtr);
|
|
pascal short CRMGetCRMVersion(void);
|
|
|
|
pascal Handle CRMGetResource(ResType theType,short theID);
|
|
pascal Handle CRMGet1Resource(ResType theType,short theID);
|
|
pascal Handle CRMGetIndResource(ResType theType,short index);
|
|
pascal Handle CRMGet1IndResource(ResType theType,short index);
|
|
pascal Handle CRMGetNamedResource(ResType theType,ConstStr255Param name);
|
|
pascal Handle CRMGet1NamedResource(ResType theType,ConstStr255Param name);
|
|
pascal void CRMReleaseResource(Handle theHandle);
|
|
pascal Handle CRMGetToolResource(short procID,ResType theType,short theID);
|
|
pascal Handle CRMGetToolNamedResource(short procID,ResType theType,ConstStr255Param name);
|
|
pascal void CRMReleaseToolResource(short procID,Handle theHandle);
|
|
pascal long CRMGetIndex(Handle theHandle);
|
|
|
|
pascal short CRMLocalToRealID(ResType bundleType,short toolID,ResType theType,
|
|
short localID);
|
|
pascal short CRMRealToLocalID(ResType bundleType,short toolID,ResType theType,
|
|
short realID);
|
|
|
|
pascal OSErr CRMGetIndToolName(OSType bundleType,short index,Str255 toolName);
|
|
|
|
pascal OSErr CRMFindCommunications(short *vRefNum,long *dirID);
|
|
|
|
pascal Boolean CRMIsDriverOpen(ConstStr255Param driverName);
|
|
|
|
pascal CRMErr CRMParseCAPSResource(Handle theHandle,ResType selector,unsigned long *value);
|
|
|
|
pascal OSErr CRMReserveRF(short refNum);
|
|
/* decrements useCount by one */
|
|
pascal OSErr CRMReleaseRF(short refNum);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|