| Framework | CoreServices/CoreServices.h |
| Declared in | OpenTransport.h OpenTransportProtocol.h OpenTransportProviders.h queue.h types.h |
Open Transport is the Mac OS 8 and 9 API for accessing TCP/IP networks, such as the Internet, at the transport level. For Mac OS X, Apple provides Open Transport as a compatibility library to ease migration of legacy applications. As such, Mac OS X does not support the entire Open Transport API.
In new Mac OS X applications you should not use Open Transport but should instead use BSD Sockets or, when possible, higher-level Core Services and Core Foundation APIs such as CFNetwork, CFURL, CFSocket, and CFStream. You can also use Cocoa networking classes such as NSURL, NSURLHandle, and NSNetService.
In Mac OS X, Open Transport provides limited support for endpoints and port access, and no support for the XTI or UNIX STREAMS interfaces. If you want your application to run in Mac OS 8 and 9 and in Mac OS X, use Open Transport for your Mac OS 8 and 9 version and Apple’s newer APIs for your Mac OS X version.
For more information about Open Transport, see:
http://developer.apple.com/macos/opentransport/
Mac OS X supports only these Open Transport providers:
TCP, UDP, and Raw IP Endpoints
TCP/IP Services Providers and TCP/IP Mapper Providers (for the Domain Name Resolver protocol)
DDP endpoints, AppleTalk Services Providers, and AppleTalk Mappers (for the Name Binding Protocol)
OT/PPP endpoints
Mac OS X does not support ADSP, ATP, ASP, PAP, or serial endpoints.
You may have to revise your code if it uses Open Transport in one of the following ways:
Your application uses a function that directly gains access to a network port. Ports are read-only in Mac OS X. Code that communicates directly with network interfaces must use the IOKit API.
Your application uses the transaction-based endpoint feature of Open Transport. This feature is not supported in Mac OS X. Removal of this capability should affect only users of AppleTalk protocols such as ASP.
Your application uses Open Transport’s XTI interfaces or UNIX STREAMS interfaces. Mac OS X will not support these interfaces. You can obtain similar functionality using supported high-level functions.
In Mac OS X, one cannot assume that Open Transport deferred tasks and notifiers procedures run at deferred task level. They may be preempted by the main event loop or another Mac OS X thread. You should always use atomic operations to access data shared between deferred tasks and notifiers and main system tasks.
Mac OS X does not support functions for:
accessing Open Transport hash lists
accessing the Open Transport port name or icon
directly manipulating CFM or ASLM libraries
Client context parameters have been added to a number of OT functions. (An OT client is an application or a shared library.) Each client of Open Transport now has its own client context so that OT can track resources it allocates on behalf of the client. OT resources are objects like endpoints, timer tasks, and blocks of memory. To find out more about Open Transport resources management, see “Understanding Open Transport Asset Tracking” at:
http://developer.apple.com/technotes/tn/tn1173.html
Mac OS X introduces a new type, OTClientContextPtr, that represents the OT client context. This new type is passed as an extra parameter to functions that allocate OT resources. Before Mac OS X, the OT client context was determined by the Open Transport static libraries that you linked to your application. Now the OT client context is determined explicitly. The same Carbon binary can run on Mac OS 8/9 and Mac OS X, and you do not have to link your application to the static libraries.
You can use InitOpenTransportinContext to replace InitOpenTransport. It functions identically except that it also takes a client context pointer and a flags parameter to indicate whether you are initializing OT for an application or a shared library. When your application or shared library is done using Open Transport you should call CloseOpenTransportInContext to dispose of the Open Transport resources allocated for the client.
The following functions now take a client context:
As a convenience, applications may pass a null pointer to these routines and Open Transport will use the context that was passed to InitOpenTransport. However, shared libraries must always pass a valid OTClientContextPtr.
If you want to keep your application source code compatible with pre-Mac OS X systems, you may define the C preprocessor constant OTCARBONAPPLICATION to 1 to use the old routine names without the “InContext” suffix.
Mac OS X applications must pass UPPs instead of procedure pointers for Open Transport callback routines. You can use these new functions to create UPPs:
OTNotifyUPP replaces OTNotifyProcPtr
OTProcessUPP replaces OTNotifyProcPtr
OTListSearchUPP replaces OTListSearchProcPtr
You can use these functions to allocate and free UPPs:
These functions have been modified to take an OTNotifyUPP UPP instead of a procedure pointer:
These functions have been modified to take an OTProcessUPP UPP instead of a procedure pointer:
These functions have been modified to take an OTListSearchUPP UPP instead of a procedure pointer:
CloseOpenTransportInContext Deprecated in Mac OS X v10.4
InitOpenTransportInContext Deprecated in Mac OS X v10.4
OTCloneConfiguration Deprecated in Mac OS X v10.4
OTCreateConfiguration Deprecated in Mac OS X v10.4
OTDestroyConfiguration Deprecated in Mac OS X v10.4
OTCloseProvider Deprecated in Mac OS X v10.4
OTAckSends Deprecated in Mac OS X v10.4
OTCancelSynchronousCalls Deprecated in Mac OS X v10.4
OTDontAckSends Deprecated in Mac OS X v10.4
OTIsAckingSends Deprecated in Mac OS X v10.4
OTIsSynchronous Deprecated in Mac OS X v10.4
OTSetAsynchronous Deprecated in Mac OS X v10.4
OTSetBlocking Deprecated in Mac OS X v10.4
OTSetNonBlocking Deprecated in Mac OS X v10.4
OTSetSynchronous Deprecated in Mac OS X v10.4
OTEnterNotifier Deprecated in Mac OS X v10.4
OTInstallNotifier Deprecated in Mac OS X v10.4
OTLeaveNotifier Deprecated in Mac OS X v10.4
OTRemoveNotifier Deprecated in Mac OS X v10.4
OTUseSyncIdleEvents Deprecated in Mac OS X v10.4
OTIoctl Deprecated in Mac OS X v10.4
OTAsyncOpenEndpointInContext Deprecated in Mac OS X v10.4
OTOpenEndpointInContext Deprecated in Mac OS X v10.4
OTGetEndpointInfo Deprecated in Mac OS X v10.4
OTGetEndpointState Deprecated in Mac OS X v10.4
OTGetProtAddress Deprecated in Mac OS X v10.4
OTLook Deprecated in Mac OS X v10.4
OTResolveAddress Deprecated in Mac OS X v10.4
OTFree Deprecated in Mac OS X v10.4
OTCountDataBytes Deprecated in Mac OS X v10.4
OTRcvUData Deprecated in Mac OS X v10.4
OTRcvUDErr Deprecated in Mac OS X v10.4
OTSndUData Deprecated in Mac OS X v10.4
OTAccept Deprecated in Mac OS X v10.4
OTConnect Deprecated in Mac OS X v10.4
OTListen Deprecated in Mac OS X v10.4
OTRcvConnect Deprecated in Mac OS X v10.4
OTRcvDisconnect Deprecated in Mac OS X v10.4
OTRcvOrderlyDisconnect Deprecated in Mac OS X v10.4
OTSndDisconnect Deprecated in Mac OS X v10.4
OTSndOrderlyDisconnect Deprecated in Mac OS X v10.4
OTCanMakeSyncCall Deprecated in Mac OS X v10.4
OTCancelTimerTask Deprecated in Mac OS X v10.4
OTCreateTimerTaskInContext Deprecated in Mac OS X v10.4
OTDestroyTimerTask Deprecated in Mac OS X v10.4
OTScheduleTimerTask Deprecated in Mac OS X v10.4
OTCreateDeferredTaskInContext Deprecated in Mac OS X v10.4
OTDestroyDeferredTask Deprecated in Mac OS X v10.4
OTScheduleDeferredTask Deprecated in Mac OS X v10.4
OTAsyncOpenMapperInContext Deprecated in Mac OS X v10.4
OTOpenMapperInContext Deprecated in Mac OS X v10.4
OTDeleteName Deprecated in Mac OS X v10.4
OTDeleteNameByID Deprecated in Mac OS X v10.4
OTRegisterName Deprecated in Mac OS X v10.4
OTLookupName Deprecated in Mac OS X v10.4
OTOptionManagement Deprecated in Mac OS X v10.4
OTFindOption Deprecated in Mac OS X v10.4
OTNextOption Deprecated in Mac OS X v10.4
OTFindPort Deprecated in Mac OS X v10.4
OTFindPortByRef Deprecated in Mac OS X v10.4
OTGetBusTypeFromPortRef Deprecated in Mac OS X v10.4
OTGetDeviceTypeFromPortRef Deprecated in Mac OS X v10.4
OTGetIndexedPort Deprecated in Mac OS X v10.4
OTGetSlotFromPortRef Deprecated in Mac OS X v10.4
OTCreatePortRef Deprecated in Mac OS X v10.4
OTRegisterAsClientInContext Deprecated in Mac OS X v10.4
OTUnregisterAsClientInContext Deprecated in Mac OS X v10.4
OTAllocMemInContext Deprecated in Mac OS X v10.4
OTFreeMem Deprecated in Mac OS X v10.4
OTMemcmp Deprecated in Mac OS X v10.4
OTMemcpy Deprecated in Mac OS X v10.4
OTMemmove Deprecated in Mac OS X v10.4
OTMemset Deprecated in Mac OS X v10.4
OTMemzero Deprecated in Mac OS X v10.4
OTStrCat Deprecated in Mac OS X v10.4
OTStrCopy Deprecated in Mac OS X v10.4
OTStrEqual Deprecated in Mac OS X v10.4
OTStrLength Deprecated in Mac OS X v10.4
OTElapsedMicroseconds Deprecated in Mac OS X v10.4
OTElapsedMilliseconds Deprecated in Mac OS X v10.4
OTGetClockTimeInSecs Deprecated in Mac OS X v10.4
OTGetTimeStamp Deprecated in Mac OS X v10.4
OTSubtractTimeStamps Deprecated in Mac OS X v10.4
OTTimeStampInMicroseconds Deprecated in Mac OS X v10.4
OTTimeStampInMilliseconds Deprecated in Mac OS X v10.4
OTLIFODequeue Deprecated in Mac OS X v10.4
OTLIFOEnqueue Deprecated in Mac OS X v10.4
OTLIFOStealList Deprecated in Mac OS X v10.4
OTReverseList Deprecated in Mac OS X v10.4
OTAddFirst Deprecated in Mac OS X v10.4
OTAddLast Deprecated in Mac OS X v10.4
OTFindAndRemoveLink Deprecated in Mac OS X v10.4
OTFindLink Deprecated in Mac OS X v10.4
OTGetFirst Deprecated in Mac OS X v10.4
OTGetIndexedLink Deprecated in Mac OS X v10.4
OTGetLast Deprecated in Mac OS X v10.4
OTIsInList Deprecated in Mac OS X v10.4
OTRemoveFirst Deprecated in Mac OS X v10.4
OTRemoveLast Deprecated in Mac OS X v10.4
OTRemoveLink Deprecated in Mac OS X v10.4
OTAtomicAdd16 Deprecated in Mac OS X v10.4
OTAtomicAdd32 Deprecated in Mac OS X v10.4
OTAtomicAdd8 Deprecated in Mac OS X v10.4
OTAtomicClearBit Deprecated in Mac OS X v10.4
OTAtomicSetBit Deprecated in Mac OS X v10.4
OTAtomicTestBit Deprecated in Mac OS X v10.4
OTCompareAndSwap16 Deprecated in Mac OS X v10.4
OTCompareAndSwap32 Deprecated in Mac OS X v10.4
OTCompareAndSwap8 Deprecated in Mac OS X v10.4
OTCompareAndSwapPtr Deprecated in Mac OS X v10.4
OTBufferDataSize Deprecated in Mac OS X v10.4
OTReadBuffer Deprecated in Mac OS X v10.4
OTReleaseBuffer Deprecated in Mac OS X v10.4
OTInetAddressToName Deprecated in Mac OS X v10.4
OTInetStringToAddress Deprecated in Mac OS X v10.4
OTAsyncOpenInternetServicesInContext Deprecated in Mac OS X v10.4
OTOpenInternetServicesInContext Deprecated in Mac OS X v10.4
OTInetMailExchange Deprecated in Mac OS X v10.4
OTInetSysInfo Deprecated in Mac OS X v10.4
OTInetQuery Deprecated in Mac OS X v10.4
OTInetGetInterfaceInfo Deprecated in Mac OS X v10.4
OTInetHostToString Deprecated in Mac OS X v10.4
OTInetStringToHost Deprecated in Mac OS X v10.4
OTInitDNSAddress Deprecated in Mac OS X v10.4
OTInitInetAddress Deprecated in Mac OS X v10.4
OTInetGetSecondaryAddresses Deprecated in Mac OS X v10.4
OTCompareDDPAddresses Deprecated in Mac OS X v10.4
OTExtractNBPName Deprecated in Mac OS X v10.4
OTExtractNBPType Deprecated in Mac OS X v10.4
OTExtractNBPZone Deprecated in Mac OS X v10.4
OTGetNBPEntityLengthAsAddress Deprecated in Mac OS X v10.4
OTInitDDPAddress Deprecated in Mac OS X v10.4
OTInitDDPNBPAddress Deprecated in Mac OS X v10.4
OTInitNBPAddress Deprecated in Mac OS X v10.4
OTInitNBPEntity Deprecated in Mac OS X v10.4
OTSetAddressFromNBPEntity Deprecated in Mac OS X v10.4
OTSetAddressFromNBPString Deprecated in Mac OS X v10.4
OTSetNBPEntityFromAddress Deprecated in Mac OS X v10.4
OTSetNBPName Deprecated in Mac OS X v10.4
OTSetNBPType Deprecated in Mac OS X v10.4
OTSetNBPZone Deprecated in Mac OS X v10.4
OTAsyncOpenAppleTalkServicesInContext Deprecated in Mac OS X v10.4
OTOpenAppleTalkServicesInContext Deprecated in Mac OS X v10.4
OTATalkGetLocalZones Deprecated in Mac OS X v10.4
OTATalkGetMyZone Deprecated in Mac OS X v10.4
OTATalkGetZoneList Deprecated in Mac OS X v10.4
OTATalkGetInfo Deprecated in Mac OS X v10.4
DisposeOTListSearchUPP Deprecated in Mac OS X v10.4
DisposeOTNotifyUPP Deprecated in Mac OS X v10.4
DisposeOTProcessUPP Deprecated in Mac OS X v10.4
InvokeOTListSearchUPP Deprecated in Mac OS X v10.4
InvokeOTNotifyUPP Deprecated in Mac OS X v10.4
InvokeOTProcessUPP Deprecated in Mac OS X v10.4
NewOTListSearchUPP Deprecated in Mac OS X v10.4
NewOTNotifyUPP Deprecated in Mac OS X v10.4
NewOTProcessUPP Deprecated in Mac OS X v10.4
OTAllocInContext Deprecated in Mac OS X v10.4
OTClearBit Deprecated in Mac OS X v10.4
OTIsBlocking Deprecated in Mac OS X v10.4
OTSetBit Deprecated in Mac OS X v10.4
OTSetBusTypeInPortRef Deprecated in Mac OS X v10.4
OTSetDeviceTypeInPortRef Deprecated in Mac OS X v10.4
OTSetFirstClearBit Deprecated in Mac OS X v10.4
OTTestBit Deprecated in Mac OS X v10.4
admin_t
bufcall_t
bufcallp_t
closeOld_t
closep_t
esbbcallProc
FreeFuncType
old_closep_t
old_openp_t
openOld_t
openp_t
OTAllocMemProcPtr
OTCanConfigureProcPtr
OTCFConfigureProcPtr
OTCFCreateStreamProcPtr
OTCFHandleSystemEventProcPtr
OTCreateConfiguratorProcPtr
OTGateProcPtr
OTGetPortIconProcPtr
OTGetPortNameProcPtr
OTHashProcPtr
OTHashSearchProcPtr
OTSetupConfiguratorProcPtr
OTSMCompleteProcPtr
OTStateProcPtr
putp_t
srvp_t
typedef OTInt32 (*admin_t) ();
If you name your function MyAdmin_tCallback, you would declare it like this:
OTInt32 MyAdmin_tCallback ();
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef void (*bufcallp_t) ( SInt32 size );
If you name your function MyBufcallp_tCallback, you would declare it like this:
void MyBufcallp_tCallback ( SInt32 size );
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef void (*bufcall_t) ( SInt32 size );
If you name your function MyBufcall_tCallback, you would declare it like this:
void MyBufcall_tCallback ( SInt32 size );
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*closeOld_t) ( queue *q );
If you name your function MyCloseOld_tCallback, you would declare it like this:
OTInt32 MyCloseOld_tCallback ( queue *q );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*closep_t) ( queue *q, OTInt32 foo, cred_t *cred );
If you name your function MyClosep_tCallback, you would declare it like this:
OTInt32 MyClosep_tCallback ( queue *q, OTInt32 foo, cred_t *cred );
See the description of the OTInt32 data type.
Carbon does not support Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef void (*esbbcallProc) ( SInt32 arg );
If you name your function MyEsbbcallCallback, you would declare it like this:
void MyEsbbcallCallback ( SInt32 arg );
This function is not needed in Carbon because the STREAMS subsystem is not available on Mac OS X.
typedef void (*FreeFuncType) ( char *arg );
If you name your function MyFreeFuncTypeCallback, you would declare it like this:
void MyFreeFuncTypeCallback ( char *arg );
This function is not needed in Carbon because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*old_closep_t) ( queue *q );
If you name your function MyOld_closep_tCallback, you would declare it like this:
OTInt32 MyOld_closep_tCallback ( queue *q );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*old_openp_t) ( queue *q, dev_t dev, OTInt32 foo, OTInt32 bar );
If you name your function MyOld_openp_tCallback, you would declare it like this:
OTInt32 MyOld_openp_tCallback ( queue *q, dev_t dev, OTInt32 foo, OTInt32 bar );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*openOld_t) ( queue *q, dev_t dev, OTInt32 foo, OTInt32 bar );
If you name your function MyOpenOld_tCallback, you would declare it like this:
OTInt32 MyOpenOld_tCallback ( queue *q, dev_t dev, OTInt32 foo, OTInt32 bar );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*openp_t) ( queue *q, dev_t *dev, OTInt32 foo, OTInt32 bar, cred_t *cred );
If you name your function MyOpenp_tCallback, you would declare it like this:
OTInt32 MyOpenp_tCallback ( queue *q, dev_t *dev, OTInt32 foo, OTInt32 bar, cred_t *cred );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef void (*OTAllocMemProcPtr) ( OTByteCount size );
If you name your function MyOTAllocMemProc, you would declare it like this:
void MyOTAllocMemProc ( OTByteCount size );
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef Boolean (*OTCanConfigureProcPtr) ( OTConfigurationRef cfig, UInt32 pass );
If you name your function MyOTCanConfigureProc, you would declare it like this:
Boolean MyOTCanConfigureProc ( OTConfigurationRef cfig, UInt32 pass );
Carbon does not support access to Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef OSStatus (*OTCFConfigureProcPtr) ( TOTConfiguratorRef cfigor, OTConfigurationRef cfig );
If you name your function MyOTCFConfigureProc, you would declare it like this:
OSStatus MyOTCFConfigureProc ( TOTConfiguratorRef cfigor, OTConfigurationRef cfig );
A result code. See “Open Transport Result Codes.”
Carbon does not support access to Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef OSStatus (*OTCFCreateStreamProcPtr) ( TOTConfiguratorRef cfigor, OTConfigurationRef cfig, OTOpenFlags oFlags, OTNotifyUPP proc, void *contextPtr );
If you name your function MyOTCFCreateStreamProc, you would declare it like this:
OSStatus MyOTCFCreateStreamProc ( TOTConfiguratorRef cfigor, OTConfigurationRef cfig, OTOpenFlags oFlags, OTNotifyUPP proc, void *contextPtr );
A result code. See “Open Transport Result Codes.”
Carbon does not support access to Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef void (*OTCFHandleSystemEventProcPtr) ( TOTConfiguratorRef cfigor, OTEventCode code, OTResult result, void *cookie );
If you name your function MyOTCFHandleSystemEventProc, you would declare it like this:
void MyOTCFHandleSystemEventProc ( TOTConfiguratorRef cfigor, OTEventCode code, OTResult result, void *cookie );
Carbon does not support access to Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef OSStatus (*OTCreateConfiguratorProcPtr) ( TOTConfiguratorRef *cfigor );
If you name your function MyOTCreateConfiguratorProc, you would declare it like this:
OSStatus MyOTCreateConfiguratorProc ( TOTConfiguratorRef *cfigor );
A result code. See “Open Transport Result Codes.”
Carbon does not support access to Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef Boolean (*OTGateProcPtr) ( OTLink *thisLink );
If you name your function MyOTGateProc, you would declare it like this:
Boolean MyOTGateProc ( OTLink *thisLink );
Carbon does not support Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
OpenTransportProtocol.htypedef Boolean (*OTGetPortIconProcPtr) ( OTPortRecord *port, OTResourceLocator *iconLocation );
If you name your function MyOTGetPortIconProc, you would declare it like this:
Boolean MyOTGetPortIconProc ( OTPortRecord *port, OTResourceLocator *iconLocation );
Carbon does not support access to the Open Transport port name or icon because this information is not available on Mac OS X.
typedef void (*OTGetPortNameProcPtr) ( OTPortRecord *port, OTBooleanParam includeSlot, OTBooleanParam includePort, Str255 userVisibleName );
If you name your function MyOTGetPortNameProc, you would declare it like this:
void MyOTGetPortNameProc ( OTPortRecord *port, OTBooleanParam includeSlot, OTBooleanParam includePort, Str255 userVisibleName );
Carbon does not support access to the Open Transport port name or icon because this information is not available on Mac OS X.
typedef UInt32 (*OTHashProcPtr) ( OTLink *linkToHash );
If you name your function MyOTHashProc, you would declare it like this:
UInt32 MyOTHashProc ( OTLink *linkToHash );
Carbon does not support Open Transport hash lists because Apple has not identified a developer need for them.
OpenTransportProtocol.htypedef Boolean (*OTHashSearchProcPtr) ( const void *ref, OTLink *linkToCheck );
If you name your function MyOTHashSearchProc, you would declare it like this:
Boolean MyOTHashSearchProc ( const void *ref, OTLink *linkToCheck );
Carbon does not support Open Transport hash lists because Apple has not identified a developer need for them.
OpenTransportProtocol.htypedef Boolean (*OTListSearchProcPtr) ( const void *ref, OTLink *linkToCheck );
If you name your function MyOTListSearchProc, you would declare it like this:
Boolean MyOTListSearchProc ( const void *ref, OTLink *linkToCheck );
This is a function type for a user callback. Use the type OTListSearchUPP instead.
OpenTransport.htypedef void (*OTNotifyProcPtr) ( void *contextPtr, OTEventCode code, OTResult result, void *cookie );
If you name your function MyOTNotifyProc, you would declare it like this:
void MyOTNotifyProc ( void *contextPtr, OTEventCode code, OTResult result, void *cookie );
This is a function type for a callback. Use the type OTNotifyUPP instead.
OpenTransport.htypedef void (*OTProcessProcPtr) ( void *arg );
If you name your function MyOTProcessProc, you would declare it like this:
void MyOTProcessProc ( void *arg );
Use the OTProcessUPP type instead.
OpenTransport.htypedef OSStatus (*OTSetupConfiguratorProcPtr) ( OTCanConfigureProcPtr *canConfigure, OTCreateConfiguratorProcPtr *createConfigurator, UInt8 *configuratorType );
If you name your function MyOTSetupConfiguratorProc, you would declare it like this:
OSStatus MyOTSetupConfiguratorProc ( OTCanConfigureProcPtr *canConfigure, OTCreateConfiguratorProcPtr *createConfigurator, UInt8 *configuratorType );
A result code. See “Open Transport Result Codes.”
Carbon does not support Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef void (*OTSMCompleteProcPtr) ( void *contextPtr );
If you name your function MyOTSMCompleteProc, you would declare it like this:
void MyOTSMCompleteProc ( void *contextPtr );
Carbon does not support Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef void (*OTStateProcPtr) ( OTStateMachine *sm );
If you name your function MyOTStateProc, you would declare it like this:
void MyOTStateProc ( OTStateMachine *sm );
Carbon does not support Open Transport configuration APIs because the Mac OS X networking stack is not based on STREAMS.
typedef OTInt32 (*putp_t) ( queue *q, msgb *mp );
If you name your function MyPutp_tCallback, you would declare it like this:
OTInt32 MyPutp_tCallback ( queue *q, msgb *mp );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
typedef OTInt32 (*srvp_t) ( queue *q );
If you name your function MySrvp_tCallback, you would declare it like this:
OTInt32 MySrvp_tCallback ( queue *q );
See the description of the OTInt32 data type.
Carbon does not support any STREAMS functionality because the STREAMS subsystem is not available on Mac OS X.
Obtain informations about the current AppleTalk environment.
struct AppleTalkInfo {
DDPAddress fOurAddress;
DDPAddress fRouterAddress;
UInt16 fCableRange[2];
UInt16 fFlags;
};
typedef struct AppleTalkInfo AppleTalkInfo;
fOurAddressThe network number and node ID of your node.
fRouterAddressThe network number and node ID of the closest router on your network.
fCableRangeA two-element array indicating the first and last network numbers for the current extended network to which the machine is connected. For nonextended networks, this returns the name of the zone.
fFlagsA set of flag bits that describe the network. See kATalkInfoIsExtended.
Use the AppleTalk information structure to obtain information about the current AppleTalk environment for the node on which your application is running.
OpenTransportProviders.h
typedef struct OpaqueATSvcRef * ATSvcRef;
OpenTransportProviders.h
struct bandinfo {
unsigned char bi_pri;
char pad1;
SInt32 bi_flag;
};
typedef struct bandinfo bandinfo;
bi_pripad1bi_flagOpenTransportProtocol.h
typedef Boolean boolean_p;
OpenTransport.h
typedef char * caddr_t;
types.h
struct CCMiscInfo {
UInt32 connectionStatus;
UInt32 connectionTimeElapsed;
UInt32 connectionTimeRemaining;
UInt32 bytesTransmitted;
UInt32 bytesReceived;
UInt32 reserved;
};
typedef struct CCMiscInfo CCMiscInfo;
connectionStatusconnectionTimeElapsedconnectionTimeRemainingbytesTransmittedbytesReceivedreservedOpenTransportProviders.h
struct CFMLibraryInfo {
OTLink link;
char * libName;
StringPtr intlName;
FSSpec * fileSpec;
StringPtr pstring2;
StringPtr pstring3;
};
typedef struct CFMLibraryInfo CFMLibraryInfo;
linklibNameintlNamefileSpecpstring2pstring3OpenTransportProtocol.h
typedef SInt8 char_p;
OpenTransport.h
struct copyreq {
SInt32 cq_cmd;
cred * cq_cr;
UInt32 cq_id;
caddr_t cq_addr;
UInt32 cq_size;
SInt32 cq_flag;
mblk_t * cq_private;
long cq_filler[4];
};
typedef struct copyreq copyreq;
cq_cmdcq_crcq_idcq_addrcq_sizecq_flagcq_privatecq_fillerOpenTransportProtocol.h
struct copyresp {
SInt32 cp_cmd;
cred * cp_cr;
UInt32 cp_id;
caddr_t cp_rval;
UInt32 cp_pad1;
SInt32 cp_pad2;
mblk_t * cp_private;
long cp_filler[4];
};
typedef struct copyresp copyresp;
cp_cmdcp_crcp_idcp_rvalcp_pad1cp_pad2cp_privatecp_fillerOpenTransportProtocol.h
struct cred {
UInt16 cr_ref;
UInt16 cr_ngroups;
uid_t cr_uid;
gid_t cr_gid;
uid_t cr_ruid;
gid_t cr_rgid;
uid_t cr_suid;
gid_t cr_sgid;
gid_t cr_groups[1];
};
typedef struct cred cred;
typedef cred cred_t;
cr_refcr_ngroupscr_uidcr_gidcr_ruidcr_rgidcr_suidcr_sgidcr_groupsOpenTransportProtocol.h
typedef cred cred_t;
OpenTransportProtocol.h
struct datab {
datab_db_f db_f;
unsigned char * db_base;
unsigned char * db_lim;
unsigned char db_ref;
unsigned char db_type;
unsigned char db_iswhat;
unsigned char db_filler2;
UInt32 db_size;
unsigned char * db_msgaddr;
long db_filler;
};
typedef struct datab datab;
typedef datab dblk_t;
db_fdb_basedb_limdb_refdb_typedb_iswhatdb_filler2db_sizedb_msgaddrdb_fillerOpenTransportProtocol.h
union datab_db_f {
datab * freep;
free_rtn * frtnp;
};
typedef union datab_db_f datab_db_f;
freepfrtnpOpenTransportProtocol.h
typedef datab dblk_t;
OpenTransportProtocol.h
struct DDPAddress {
OTAddressType fAddressType;
UInt16 fNetwork;
UInt8 fNodeID;
UInt8 fSocket;
UInt8 fDDPType;
UInt8 fPad;
};
typedef struct DDPAddress DDPAddress;
fAddressTypefNetworkfNodeIDfSocketfDDPTypefPadOpenTransportProviders.h
struct DDPNBPAddress {
OTAddressType fAddressType;
UInt16 fNetwork;
UInt8 fNodeID;
UInt8 fSocket;
UInt8 fDDPType;
UInt8 fPad;
UInt8 fNBPNameBuffer[105];
};
typedef struct DDPNBPAddress DDPNBPAddress;
fAddressTypefNetworkfNodeIDfSocketfDDPTypefPadfNBPNameBufferOpenTransportProviders.h
typedef UInt32 dev_t;
types.h
struct dl_attach_req_t {
UInt32 dl_primitive;
UInt32 dl_ppa;
};
typedef struct dl_attach_req_t dl_attach_req_t;
dl_primitivedl_ppaOpenTransportProtocol.h
struct dl_bind_ack_t {
UInt32 dl_primitive;
UInt32 dl_sap;
UInt32 dl_addr_length;
UInt32 dl_addr_offset;
UInt32 dl_max_conind;
UInt32 dl_xidtest_flg;
};
typedef struct dl_bind_ack_t dl_bind_ack_t;
dl_primitivedl_sapdl_addr_lengthdl_addr_offsetdl_max_coninddl_xidtest_flgOpenTransportProtocol.h
struct dl_bind_req_t {
UInt32 dl_primitive;
UInt32 dl_sap;
UInt32 dl_max_conind;
UInt16 dl_service_mode;
UInt16 dl_conn_mgmt;
UInt32 dl_xidtest_flg;
};
typedef struct dl_bind_req_t dl_bind_req_t;
dl_primitivedl_sapdl_max_coninddl_service_modedl_conn_mgmtdl_xidtest_flgOpenTransportProtocol.h
struct dl_connect_con_t {
UInt32 dl_primitive;
UInt32 dl_resp_addr_length;
UInt32 dl_resp_addr_offset;
UInt32 dl_qos_length;
UInt32 dl_qos_offset;
UInt32 dl_growth;
};
typedef struct dl_connect_con_t dl_connect_con_t;
dl_primitivedl_resp_addr_lengthdl_resp_addr_offsetdl_qos_lengthdl_qos_offsetdl_growthOpenTransportProtocol.h
struct dl_connect_ind_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_called_addr_length;
UInt32 dl_called_addr_offset;
UInt32 dl_calling_addr_length;
UInt32 dl_calling_addr_offset;
UInt32 dl_qos_length;
UInt32 dl_qos_offset;
UInt32 dl_growth;
};
typedef struct dl_connect_ind_t dl_connect_ind_t;
dl_primitivedl_correlationdl_called_addr_lengthdl_called_addr_offsetdl_calling_addr_lengthdl_calling_addr_offsetdl_qos_lengthdl_qos_offsetdl_growthOpenTransportProtocol.h
struct dl_connect_req_t {
UInt32 dl_primitive;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_qos_length;
UInt32 dl_qos_offset;
UInt32 dl_growth;
};
typedef struct dl_connect_req_t dl_connect_req_t;
dl_primitivedl_dest_addr_lengthdl_dest_addr_offsetdl_qos_lengthdl_qos_offsetdl_growthOpenTransportProtocol.h
struct dl_connect_res_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_resp_token;
UInt32 dl_qos_length;
UInt32 dl_qos_offset;
UInt32 dl_growth;
};
typedef struct dl_connect_res_t dl_connect_res_t;
dl_primitivedl_correlationdl_resp_tokendl_qos_lengthdl_qos_offsetdl_growthOpenTransportProtocol.h
struct dl_data_ack_ind_t {
UInt32 dl_primitive;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
UInt32 dl_priority;
UInt32 dl_service_class;
};
typedef struct dl_data_ack_ind_t dl_data_ack_ind_t;
dl_primitivedl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetdl_prioritydl_service_classOpenTransportProtocol.h
struct dl_data_ack_req_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
UInt32 dl_priority;
UInt32 dl_service_class;
};
typedef struct dl_data_ack_req_t dl_data_ack_req_t;
dl_primitivedl_correlationdl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetdl_prioritydl_service_classOpenTransportProtocol.h
struct dl_data_ack_status_ind_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_status;
};
typedef struct dl_data_ack_status_ind_t dl_data_ack_status_ind_t;
dl_primitivedl_correlationdl_statusOpenTransportProtocol.h
struct dl_detach_req_t {
UInt32 dl_primitive;
};
typedef struct dl_detach_req_t dl_detach_req_t;
dl_primitiveOpenTransportProtocol.h
struct dl_disabmulti_req_t {
UInt32 dl_primitive;
UInt32 dl_addr_length;
UInt32 dl_addr_offset;
};
typedef struct dl_disabmulti_req_t dl_disabmulti_req_t;
dl_primitivedl_addr_lengthdl_addr_offsetOpenTransportProtocol.h
struct dl_disconnect_ind_t {
UInt32 dl_primitive;
UInt32 dl_originator;
UInt32 dl_reason;
UInt32 dl_correlation;
};
typedef struct dl_disconnect_ind_t dl_disconnect_ind_t;
dl_primitivedl_originatordl_reasondl_correlationOpenTransportProtocol.h
struct dl_disconnect_req_t {
UInt32 dl_primitive;
UInt32 dl_reason;
UInt32 dl_correlation;
};
typedef struct dl_disconnect_req_t dl_disconnect_req_t;
dl_primitivedl_reasondl_correlationOpenTransportProtocol.h
struct dl_enabmulti_req_t {
UInt32 dl_primitive;
UInt32 dl_addr_length;
UInt32 dl_addr_offset;
};
typedef struct dl_enabmulti_req_t dl_enabmulti_req_t;
dl_primitivedl_addr_lengthdl_addr_offsetOpenTransportProtocol.h
struct dl_error_ack_t {
UInt32 dl_primitive;
UInt32 dl_error_primitive;
UInt32 dl_errno;
UInt32 dl_unix_errno;
};
typedef struct dl_error_ack_t dl_error_ack_t;
dl_primitivedl_error_primitivedl_errnodl_unix_errnoOpenTransportProtocol.h
struct dl_get_statistics_ack_t {
UInt32 dl_primitive;
UInt32 dl_stat_length;
UInt32 dl_stat_offset;
};
typedef struct dl_get_statistics_ack_t dl_get_statistics_ack_t;
dl_primitivedl_stat_lengthdl_stat_offsetOpenTransportProtocol.h
struct dl_get_statistics_req_t {
UInt32 dl_primitive;
};
typedef struct dl_get_statistics_req_t dl_get_statistics_req_t;
dl_primitiveOpenTransportProtocol.h
struct dl_info_ack_t {
UInt32 dl_primitive;
UInt32 dl_max_sdu;
UInt32 dl_min_sdu;
UInt32 dl_addr_length;
UInt32 dl_mac_type;
UInt32 dl_reserved;
UInt32 dl_current_state;
SInt32 dl_sap_length;
UInt32 dl_service_mode;
UInt32 dl_qos_length;
UInt32 dl_qos_offset;
UInt32 dl_qos_range_length;
UInt32 dl_qos_range_offset;
UInt32 dl_provider_style;
UInt32 dl_addr_offset;
UInt32 dl_version;
UInt32 dl_brdcst_addr_length;
UInt32 dl_brdcst_addr_offset;
UInt32 dl_growth;
};
typedef struct dl_info_ack_t dl_info_ack_t;
dl_primitivedl_max_sdudl_min_sdudl_addr_lengthdl_mac_typedl_reserveddl_current_statedl_sap_lengthdl_service_modedl_qos_lengthdl_qos_offsetdl_qos_range_lengthdl_qos_range_offsetdl_provider_styledl_addr_offsetdl_versiondl_brdcst_addr_lengthdl_brdcst_addr_offsetdl_growthOpenTransportProtocol.h
struct dl_info_req_t {
UInt32 dl_primitive;
};
typedef struct dl_info_req_t dl_info_req_t;
dl_primitiveOpenTransportProtocol.h
struct dl_ok_ack_t {
UInt32 dl_primitive;
UInt32 dl_correct_primitive;
};
typedef struct dl_ok_ack_t dl_ok_ack_t;
dl_primitivedl_correct_primitiveOpenTransportProtocol.h
struct dl_phys_addr_ack_t {
UInt32 dl_primitive;
UInt32 dl_addr_length;
UInt32 dl_addr_offset;
};
typedef struct dl_phys_addr_ack_t dl_phys_addr_ack_t;
dl_primitivedl_addr_lengthdl_addr_offsetOpenTransportProtocol.h
struct dl_phys_addr_req_t {
UInt32 dl_primitive;
UInt32 dl_addr_type;
};
typedef struct dl_phys_addr_req_t dl_phys_addr_req_t;
dl_primitivedl_addr_typeOpenTransportProtocol.h
union DL_primitives {
UInt32 dl_primitive;
dl_info_req_t info_req;
dl_info_ack_t info_ack;
dl_attach_req_t attach_req;
dl_detach_req_t detach_req;
dl_bind_req_t bind_req;
dl_bind_ack_t bind_ack;
dl_unbind_req_t unbind_req;
dl_subs_bind_req_t subs_bind_req;
dl_subs_bind_ack_t subs_bind_ack;
dl_subs_unbind_req_t subs_unbind_req;
dl_ok_ack_t ok_ack;
dl_error_ack_t error_ack;
dl_connect_req_t connect_req;
dl_connect_ind_t connect_ind;
dl_connect_res_t connect_res;
dl_connect_con_t connect_con;
dl_token_req_t token_req;
dl_token_ack_t token_ack;
dl_disconnect_req_t disconnect_req;
dl_disconnect_ind_t disconnect_ind;
dl_reset_req_t reset_req;
dl_reset_ind_t reset_ind;
dl_reset_res_t reset_res;
dl_reset_con_t reset_con;
dl_unitdata_req_t unitdata_req;
dl_unitdata_ind_t unitdata_ind;
dl_uderror_ind_t uderror_ind;
dl_udqos_req_t udqos_req;
dl_enabmulti_req_t enabmulti_req;
dl_disabmulti_req_t disabmulti_req;
dl_promiscon_req_t promiscon_req;
dl_promiscoff_req_t promiscoff_req;
dl_phys_addr_req_t physaddr_req;
dl_phys_addr_ack_t physaddr_ack;
dl_set_phys_addr_req_t set_physaddr_req;
dl_get_statistics_req_t get_statistics_req;
dl_get_statistics_ack_t get_statistics_ack;
dl_test_req_t test_req;
dl_test_ind_t test_ind;
dl_test_res_t test_res;
dl_test_con_t test_con;
dl_xid_req_t xid_req;
dl_xid_ind_t xid_ind;
dl_xid_res_t xid_res;
dl_xid_con_t xid_con;
dl_data_ack_req_t data_ack_req;
dl_data_ack_ind_t data_ack_ind;
dl_data_ack_status_ind_t data_ack_status_ind;
dl_reply_req_t reply_req;
dl_reply_ind_t reply_ind;
dl_reply_status_ind_t reply_status_ind;
dl_reply_update_req_t reply_update_req;
dl_reply_update_status_ind_t reply_update_status_ind;
};
typedef union DL_primitives DL_primitives;
dl_primitiveinfo_reqinfo_ackattach_reqdetach_reqbind_reqbind_ackunbind_reqsubs_bind_reqsubs_bind_acksubs_unbind_reqok_ackerror_ackconnect_reqconnect_indconnect_resconnect_contoken_reqtoken_ackdisconnect_reqdisconnect_indreset_reqreset_indreset_resreset_conunitdata_requnitdata_induderror_indudqos_reqenabmulti_reqdisabmulti_reqpromiscon_reqpromiscoff_reqphysaddr_reqphysaddr_ackset_physaddr_reqget_statistics_reqget_statistics_acktest_reqtest_indtest_restest_conxid_reqxid_indxid_resxid_conOpenTransportProtocol.h
struct dl_priority_t {
SInt32 dl_min;
SInt32 dl_max;
};
typedef struct dl_priority_t dl_priority_t;
dl_mindl_maxOpenTransportProtocol.h
struct dl_promiscoff_req_t {
UInt32 dl_primitive;
UInt32 dl_level;
};
typedef struct dl_promiscoff_req_t dl_promiscoff_req_t;
dl_primitivedl_levelOpenTransportProtocol.h
struct dl_promiscon_req_t {
UInt32 dl_primitive;
UInt32 dl_level;
};
typedef struct dl_promiscon_req_t dl_promiscon_req_t;
dl_primitivedl_levelOpenTransportProtocol.h
struct dl_protect_t {
SInt32 dl_min;
SInt32 dl_max;
};
typedef struct dl_protect_t dl_protect_t;
dl_mindl_maxOpenTransportProtocol.h
struct dl_qos_cl_range1_t {
UInt32 dl_qos_type;
dl_transdelay_t dl_trans_delay;
dl_priority_t dl_priority;
dl_protect_t dl_protection;
SInt32 dl_residual_error;
};
typedef struct dl_qos_cl_range1_t dl_qos_cl_range1_t;
dl_qos_typedl_trans_delaydl_prioritydl_protectiondl_residual_errorOpenTransportProtocol.h
struct dl_qos_cl_sel1_t {
UInt32 dl_qos_type;
SInt32 dl_trans_delay;
SInt32 dl_priority;
SInt32 dl_protection;
SInt32 dl_residual_error;
};
typedef struct dl_qos_cl_sel1_t dl_qos_cl_sel1_t;
dl_qos_typedl_trans_delaydl_prioritydl_protectiondl_residual_errorOpenTransportProtocol.h
struct dl_qos_co_range1_t {
UInt32 dl_qos_type;
dl_through_t dl_rcv_throughput;
dl_transdelay_t dl_rcv_trans_delay;
dl_through_t dl_xmt_throughput;
dl_transdelay_t dl_xmt_trans_delay;
dl_priority_t dl_priority;
dl_protect_t dl_protection;
SInt32 dl_residual_error;
dl_resilience_t dl_resilience;
};
typedef struct dl_qos_co_range1_t dl_qos_co_range1_t;
dl_qos_typedl_rcv_throughputdl_rcv_trans_delaydl_xmt_throughputdl_xmt_trans_delaydl_prioritydl_protectiondl_residual_errordl_resilienceOpenTransportProtocol.h
struct dl_qos_co_sel1_t {
UInt32 dl_qos_type;
SInt32 dl_rcv_throughput;
SInt32 dl_rcv_trans_delay;
SInt32 dl_xmt_throughput;
SInt32 dl_xmt_trans_delay;
SInt32 dl_priority;
SInt32 dl_protection;
SInt32 dl_residual_error;
dl_resilience_t dl_resilience;
};
typedef struct dl_qos_co_sel1_t dl_qos_co_sel1_t;
dl_qos_typedl_rcv_throughputdl_rcv_trans_delaydl_xmt_throughputdl_xmt_trans_delaydl_prioritydl_protectiondl_residual_errordl_resilienceOpenTransportProtocol.h
struct dl_reply_ind_t {
UInt32 dl_primitive;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
UInt32 dl_priority;
UInt32 dl_service_class;
};
typedef struct dl_reply_ind_t dl_reply_ind_t;
dl_primitivedl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetdl_prioritydl_service_classOpenTransportProtocol.h
struct dl_reply_req_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
UInt32 dl_priority;
UInt32 dl_service_class;
};
typedef struct dl_reply_req_t dl_reply_req_t;
dl_primitivedl_correlationdl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetdl_prioritydl_service_classOpenTransportProtocol.h
struct dl_reply_status_ind_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_status;
};
typedef struct dl_reply_status_ind_t dl_reply_status_ind_t;
dl_primitivedl_correlationdl_statusOpenTransportProtocol.h
struct dl_reply_update_req_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
};
typedef struct dl_reply_update_req_t dl_reply_update_req_t;
dl_primitivedl_correlationdl_src_addr_lengthdl_src_addr_offsetOpenTransportProtocol.h
struct dl_reply_update_status_ind_t {
UInt32 dl_primitive;
UInt32 dl_correlation;
UInt32 dl_status;
};
typedef struct dl_reply_update_status_ind_t dl_reply_update_status_ind_t;
dl_primitivedl_correlationdl_statusOpenTransportProtocol.h
struct dl_reset_con_t {
UInt32 dl_primitive;
};
typedef struct dl_reset_con_t dl_reset_con_t;
dl_primitiveOpenTransportProtocol.h
struct dl_reset_ind_t {
UInt32 dl_primitive;
UInt32 dl_originator;
UInt32 dl_reason;
};
typedef struct dl_reset_ind_t dl_reset_ind_t;
dl_primitivedl_originatordl_reasonOpenTransportProtocol.h
struct dl_reset_req_t {
UInt32 dl_primitive;
};
typedef struct dl_reset_req_t dl_reset_req_t;
dl_primitiveOpenTransportProtocol.h
struct dl_reset_res_t {
UInt32 dl_primitive;
};
typedef struct dl_reset_res_t dl_reset_res_t;
dl_primitiveOpenTransportProtocol.h
struct dl_resilience_t {
SInt32 dl_disc_prob;
SInt32 dl_reset_prob;
};
typedef struct dl_resilience_t dl_resilience_t;
dl_disc_probdl_reset_probOpenTransportProtocol.h
struct dl_set_phys_addr_req_t {
UInt32 dl_primitive;
UInt32 dl_addr_length;
UInt32 dl_addr_offset;
};
typedef struct dl_set_phys_addr_req_t dl_set_phys_addr_req_t;
dl_primitivedl_addr_lengthdl_addr_offsetOpenTransportProtocol.h
struct dl_subs_bind_ack_t {
UInt32 dl_primitive;
UInt32 dl_subs_sap_offset;
UInt32 dl_subs_sap_length;
};
typedef struct dl_subs_bind_ack_t dl_subs_bind_ack_t;
dl_primitivedl_subs_sap_offsetdl_subs_sap_lengthOpenTransportProtocol.h
struct dl_subs_bind_req_t {
UInt32 dl_primitive;
UInt32 dl_subs_sap_offset;
UInt32 dl_subs_sap_length;
UInt32 dl_subs_bind_class;
};
typedef struct dl_subs_bind_req_t dl_subs_bind_req_t;
dl_primitivedl_subs_sap_offsetdl_subs_sap_lengthdl_subs_bind_classOpenTransportProtocol.h
struct dl_subs_unbind_req_t {
UInt32 dl_primitive;
UInt32 dl_subs_sap_offset;
UInt32 dl_subs_sap_length;
};
typedef struct dl_subs_unbind_req_t dl_subs_unbind_req_t;
dl_primitivedl_subs_sap_offsetdl_subs_sap_lengthOpenTransportProtocol.h
struct dl_test_con_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
};
typedef struct dl_test_con_t dl_test_con_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetOpenTransportProtocol.h
struct dl_test_ind_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
};
typedef struct dl_test_ind_t dl_test_ind_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetOpenTransportProtocol.h
struct dl_test_req_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
};
typedef struct dl_test_req_t dl_test_req_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetOpenTransportProtocol.h
struct dl_test_res_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
};
typedef struct dl_test_res_t dl_test_res_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetOpenTransportProtocol.h
struct dl_through_t {
SInt32 dl_target_value;
SInt32 dl_accept_value;
};
typedef struct dl_through_t dl_through_t;
dl_target_valuedl_accept_valueOpenTransportProtocol.h
struct dl_token_ack_t {
UInt32 dl_primitive;
UInt32 dl_token;
};
typedef struct dl_token_ack_t dl_token_ack_t;
dl_primitivedl_tokenOpenTransportProtocol.h
struct dl_token_req_t {
UInt32 dl_primitive;
};
typedef struct dl_token_req_t dl_token_req_t;
dl_primitiveOpenTransportProtocol.h
struct dl_transdelay_t {
SInt32 dl_target_value;
SInt32 dl_accept_value;
};
typedef struct dl_transdelay_t dl_transdelay_t;
dl_target_valuedl_accept_valueOpenTransportProtocol.h
struct dl_uderror_ind_t {
UInt32 dl_primitive;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_unix_errno;
UInt32 dl_errno;
};
typedef struct dl_uderror_ind_t dl_uderror_ind_t;
dl_primitivedl_dest_addr_lengthdl_dest_addr_offsetdl_unix_errnodl_errnoOpenTransportProtocol.h
struct dl_udqos_req_t {
UInt32 dl_primitive;
UInt32 dl_qos_length;
UInt32 dl_qos_offset;
};
typedef struct dl_udqos_req_t dl_udqos_req_t;
dl_primitivedl_qos_lengthdl_qos_offsetOpenTransportProtocol.h
struct dl_unbind_req_t {
UInt32 dl_primitive;
};
typedef struct dl_unbind_req_t dl_unbind_req_t;
dl_primitiveOpenTransportProtocol.h
struct dl_unitdata_ind_t {
UInt32 dl_primitive;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
UInt32 dl_group_address;
};
typedef struct dl_unitdata_ind_t dl_unitdata_ind_t;
dl_primitivedl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetdl_group_addressOpenTransportProtocol.h
struct dl_unitdata_req_t {
UInt32 dl_primitive;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
dl_priority_t dl_priority;
};
typedef struct dl_unitdata_req_t dl_unitdata_req_t;
dl_primitivedl_dest_addr_lengthdl_dest_addr_offsetdl_priorityOpenTransportProtocol.h
struct dl_xid_con_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
};
typedef struct dl_xid_con_t dl_xid_con_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetOpenTransportProtocol.h
struct dl_xid_ind_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
UInt32 dl_src_addr_length;
UInt32 dl_src_addr_offset;
};
typedef struct dl_xid_ind_t dl_xid_ind_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetdl_src_addr_lengthdl_src_addr_offsetOpenTransportProtocol.h
struct dl_xid_req_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
};
typedef struct dl_xid_req_t dl_xid_req_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetOpenTransportProtocol.h
struct dl_xid_res_t {
UInt32 dl_primitive;
UInt32 dl_flag;
UInt32 dl_dest_addr_length;
UInt32 dl_dest_addr_offset;
};
typedef struct dl_xid_res_t dl_xid_res_t;
dl_primitivedl_flagdl_dest_addr_lengthdl_dest_addr_offsetOpenTransportProtocol.h
Holds host names, partially or fully-qualified domain names, or dotted-decimal format Internet addresses for use with a variety of Open Transport functions.
struct DNSAddress {
OTAddressType fAddressType;
InetDomainName fName;
};
typedef struct DNSAddress DNSAddress;
fAddressTypeThe address type. For a DNSAddress structure, this should be AF_DNS.
fNameThe name to be resolved by the DNR.
You can use the DNS (domain name system) address structure with the OTConnect function (TCP), with the OTSndUData function (UDP), or with the OTResolveAddress function (either TCP or UDP). If you do so, TCP/IP will resolve the name for you automatically. You can use the OTInitDNSAddress function to fill in a DNS address structure. The DNS address structure is defined by the DNSAddress data type.
The address you specify can be just the host name (“otteam”), a partially qualified domain name (“otteam.ssw”), a fully qualified domain name (“otteam.ssw.apple.com.”), or an internet address in dotted-decimal format (“17.202.99.99”), and can optionally include a port number (“otteam.ssw.apple.com:25” or “17.202.99.99:25”).
Because the port number is not actually part of the domain name, it is possible to have a domain name–port number combination that exceeds 255 bytes. If you wish to specify such a string, you must provide a structure based on the DNS address structure that has sufficient space to contain the full string. In any case, the domain name itself cannot exceed 255 bytes.
OpenTransportProviders.h
Returns answers to DNS queries.
struct DNSQueryInfo {
UInt16 qType;
UInt16 qClass;
UInt32 ttl;
InetDomainName name;
UInt16 responseType;
UInt16 resourceLen;
char resourceData[4];
};
typedef struct DNSQueryInfo DNSQueryInfo;
qTypeThe numerical value of the DNS resource record type, such as MX and PTR, for which you wish to query.
qClassThe numerical value of the DNS record class, such as Inet and Hesio, for which you wish to query.
ttlAn integer indicating the DNS resource record’s time to live (in seconds).
nameThe fully qualified domain name or address for which you made the query.
responseTypeThe type of response.
resourceLenThe actual length of the resource data returned.
resourceDataThe resource data that is returned. This is at least 4 bytes long, and is usually longer.
The DNS query information structure is used by the TCP/IP service provider to return answers to DNS queries made using the OTInetQuery function. The DNS query information structure is defined by the DNSQueryInfo data type. For additional information about the constant values for the DNSQueryInfo fields, see the DNS Requests for Comments (RFCs), available over the World Wide Web.
See the Internet Standard for a definitive list of values for the qType, qClass, and respnoseType fields, and for a definition of the format of the resource data.
OpenTransportProviders.h
typedef struct OpaqueEndpointRef * EndpointRef;
OpenTransport.h
struct EnetPacketHeader {
UInt8 fDestAddr[6];
UInt8 fSourceAddr[6];
UInt16 fProto;
};
typedef struct EnetPacketHeader EnetPacketHeader;
fDestAddrfSourceAddrfProtoOpenTransportProviders.h
struct free_rtn {
FreeFuncType free_func;
char * free_arg;
};
typedef struct free_rtn free_rtn;
typedef free_rtn frtn_t;
free_funcfree_argOpenTransportProtocol.h
typedef free_rtn frtn_t;
OpenTransportProtocol.h
typedef UInt32 gid_t;
types.h
Used for providing a TCP or UDP address to the OTConnect, OTSndURequest, or OTBind functions.
struct InetAddress {
OTAddressType fAddressType;
InetPort fPort;
InetHost fHost;
UInt8 fUnused[8];
};
typedef struct InetAddress InetAddress;
fAddressTypeThe address type. The field should be AF_INET, which identifies the structure as an InetAddress.
fPortThe port number.
fHostThe 32-bit IP address of the host.
fUnusedReserved.
OpenTransportProviders.h
struct InetDHCPOption {
UInt8 fOptionTag;
UInt8 fOptionLen;
UInt8 fOptionValue;
};
typedef struct InetDHCPOption InetDHCPOption;
fOptionTagfOptionLenfOptionValueOpenTransportProviders.h
typedef InetDomainName[256];
OpenTransportProviders.h
typedef UInt32 InetHost;
OpenTransportProviders.h
Holds a set of IP addresses associated with an Internet host for use by the OTInetStringToAddress function.
struct InetHostInfo {
InetDomainName name;
InetHost addrs[10];
};
typedef struct InetHostInfo InetHostInfo;
nameThe canonical name of the host. The canonical name is a fully qualified domain nam, never an alias.
addrsUp to ten IP addresses associated with this host name. Only multihomed hosts have more than one IP address.
OpenTransportProviders.h
Holds information about an Internet interface for use by the OTInetGetInterfaceInfo function.
struct InetInterfaceInfo {
InetHost fAddress;
InetHost fNetmask;
InetHost fBroadcastAddr;
InetHost fDefaultGatewayAddr;
InetHost fDNSAddr;
UInt16 fVersion;
UInt16 fHWAddrLen;
UInt8 * fHWAddr;
UInt32 fIfMTU;
UInt8 * fReservedPtrs[2];
InetDomainName fDomainName;
UInt32 fIPSecondaryCount;
UInt8 fReserved[252];
};
typedef struct InetInterfaceInfo InetInterfaceInfo;
fAddressThe IP address of the interface.
fNetmaskThe subnet mask of the local IP network.
fBroadcastAddrThe broadcast address for the interface.
fDefaultGatewayAddrThe IP address of the default router. The default is a router that can forward any packet destined outside the locally connected subnet.
fDNSAddrThe address of a domain name server. This value can be returned by a server or typed in by the user during configuration of the TCP/IP interface.
fVersionThe version of the OTInetGetInterfaceInfo function; currently equal to kInetInterfaceInfoVersion.
fHWAddrLenThe length (in bytes) of the hardware address. This points into the fReserved field of this structure. It can be nil if the interface has no hardware address or if it won’t fit.
fHWAddrA pointer to the hardware address.
fIfMTUThe maximum transmission unit size in bytes permitted for this interface’s hardware.
fReservedPtrsReserved.
fDomainNameThe default domain name of the host as configured in the TCP/IP control panel. This name doesn’t include the host name.
fIPSecondaryCountThe number of IP secondary address available.
fReservedReserved.
OpenTransportProviders.h
Holds host names and mail preference values for use with the OTInetMailExchange function.
struct InetMailExchange {
UInt16 preference;
InetDomainName exchange;
};
typedef struct InetMailExchange InetMailExchange;
preferenceThe mail exchange preference value. The mail exchanger with the lowest preference number is the first one to which mail should be sent.
exchangeThe fully qualified domain name of a host that can accept mail for your target host.
OpenTransportProviders.h
typedef UInt16 InetPort;
OpenTransportProviders.h
typedef struct OpaqueInetSvcRef * InetSvcRef;
OpenTransportProviders.h
Holds information about an Internet host for use by the OTInetSysInfo function.
struct InetSysInfo {
char cpuType[32];
char osType[32];
};
typedef struct InetSysInfo InetSysInfo;
cpuTypeThe CPU type of the specified host. This is an ASCII string maintained by the domain name server.
osTypeThe operating system running on the specified host. This is an ASCII string maintained by the domain name server.
OpenTransportProviders.h
typedef int_t;
OpenTransport.h
struct iocblk {
SInt32 ioc_cmd;
cred * ioc_cr;
UInt32 ioc_id;
UInt32 ioc_count;
SInt32 ioc_error;
SInt32 ioc_rval;
long ioc_filler[4];
};
typedef struct iocblk iocblk;
ioc_cmdioc_crioc_idioc_countioc_errorioc_rvalioc_fillerOpenTransportProtocol.h
struct LCPEcho {
UInt32 retryCount;
UInt32 retryPeriod;
};
typedef struct LCPEcho LCPEcho;
retryCountretryPeriodOpenTransportProviders.h
struct linkblk {
queue_t * l_qtop;
queue_t * l_qbot;
SInt32 l_index;
long l_pad[5];
};
typedef struct linkblk linkblk;
l_qtopl_qbotl_indexl_padOpenTransportProtocol.h
struct log_ctl {
short mid;
short sid;
char level;
char pad1;
short flags;
long ltime;
long ttime;
SInt32 seq_no;
};
typedef struct log_ctl log_ctl;
midsidlevelpad1flagsltimettimeseq_noOpenTransportProtocol.h
typedef UInt16 major_t;
typedef struct OpaqueMapperRef * MapperRef;
OpenTransport.h
typedef msgb mblk_t;
OpenTransportProtocol.h
typedef UInt16 minor_t;
struct module_info {
unsigned short mi_idnum;
char * mi_idname;
long mi_minpsz;
long mi_maxpsz;
unsigned long mi_hiwat;
unsigned long mi_lowat;
};
typedef struct module_info module_info;
typedef module_info * module_infoPtr;
mi_idnummi_idnamemi_minpszmi_maxpszmi_hiwatmi_lowatOpenTransportProtocol.h
struct module_stat {
long ms_pcnt;
long ms_scnt;
long ms_ocnt;
long ms_ccnt;
long ms_acnt;
char * ms_xptr;
short ms_xsize;
};
typedef struct module_stat module_stat;
ms_pcntms_scntms_ocntms_ccntms_acntms_xptrms_xsizeOpenTransportProtocol.h
typedef UInt8 MPS_INTR_STATE;
struct msgb {
struct msgb * b_next;
struct msgb * b_prev;
struct msgb * b_cont;
unsigned char * b_rptr;
unsigned char * b_wptr;
datab * b_datap;
unsigned char b_band;
unsigned char b_pad1;
unsigned short b_flag;
};
typedef struct msgb msgb;
typedef msgb mblk_t;
b_nextb_prevb_contb_rptrb_wptrb_datapb_bandb_pad1b_flagOpenTransportProtocol.h
struct NBPAddress {
OTAddressType fAddressType;
UInt8 fNBPNameBuffer[105];
};
typedef struct NBPAddress NBPAddress;
fAddressTypefNBPNameBufferOpenTransportProviders.h
struct NBPEntity {
UInt8 fEntity[99];
};
typedef struct NBPEntity NBPEntity;
fEntityOpenTransportProviders.h
struct netbuf {
maxlen;
len;
char *buf;
};
Defines the common structure for all Open Transport addresses.
struct OTAddress {
OTAddressType fAddressType;
UInt8 fAddress[1];
};
typedef struct OTAddress OTAddress;
fAddressTypefAddressThe OTAddress type itself is abstract. You would not declare a structure of this type because it does not contain any address information. However, address formats defined by Open Transport protocols all use the fAddressType field to describe the format of the fields to follow, which do contain address information.
OpenTransport.h
typedef UInt16 OTAddressType;
OpenTransport.h
struct OTAutopushInfo {
UInt32 sap_cmd;
char sap_device_name[32];
SInt32 sap_minor;
SInt32 sap_lastminor;
SInt32 sap_npush;
char sap_list[8][32];
};
typedef struct OTAutopushInfo OTAutopushInfo;
sap_cmdsap_device_namesap_minorsap_lastminorsap_npushsap_listOpenTransportProtocol.h
typedef UInt32 OTBand;
OpenTransport.h
typedef Boolean OTBooleanParam;
OpenTransport.h
Receives data without copying it.
struct OTBuffer {
void * fLink;
void * fLink2;
OTBuffer * fNext;
UInt8 * fData;
ByteCount fLen;
void * fSave;
UInt8 fBand;
UInt8 fType;
UInt8 fPad1;
UInt8 fFlags;
};
typedef struct OTBuffer OTBuffer;
fLinkReserved.
fLink2Reserved.
fNextA pointer to the next OTBuffer structure in the linked chain. By tracing the chain of fNext pointers, you can access all of the data associated with the message.
fDataA pointer to the data portion of this OTBuffer structure.
fLenThe length of data pointed to by the fData field.
fSaveReserved.
fBandThe band used for the data transmission. It must be a value between 0 and 255.
fTypeThe type of the data (normally M_DATA, M_PROTO, or M_PCPROTO).
fPad1Reserved.
fFlagsThe flags associated with the data (MSGMARK, MSGDELIM).
You use the no-copy receive buffer structure when you wish to receive data without copying it with the OTRcvUData function, the OTRcvURequest function, the OTRcvUReply function, the OTRcv function, the OTRcvRequest function, and the OTRcvReply function.
If you are familiar with STREAMS mblk_t data structures, you can see that the no-copy receive buffer structure is just a slight modification of the mblk_t structure.
You can only use this buffer for data; you cannot use it for the address or options that may be associated with the incoming data. For example, in the case of an incoming TUnitData structure, you can only no-copy receive the udata portion, not the addr or opt fields.
Under no circumstance write to this data structure. It is read-only. If you write to it, you can crash the system.
OpenTransport.h
A convenience structure for keeping track of where your application left off in an OTBuffer structure.
struct OTBufferInfo {
OTBuffer * fBuffer;
ByteCount fOffset;
UInt8 fPad;
};
typedef struct OTBufferInfo OTBufferInfo;
fBufferA pointer to the no-copy receive buffer.
fOffsetAn offset indicating how far into the buffer you have read.
fPadReserved.
The buffer information structure is provided for your convenience in keeping track of where you last left off in an OTBuffer structure. Because the no-copy receive buffer structure (OTBuffer) is read-only, you may need to copy the data in sections as you progress through the no-copy receive buffer. The utility function OTReadBuffer is used with this structure to easily copy the data out of an OTBuffer structure.
OpenTransport.h
typedef ByteCount OTByteCount;
OpenTransport.h
typedef struct OpaqueOTClient * OTClient;
OpenTransport.h
typedef struct OpaqueOTClientContextPtr * OTClientContextPtr;
OpenTransport.h
Identifies the clients that denied a request to yield a port.
struct OTClientList {
ItemCount fNumClients;
UInt8 fBuffer[4];
};
typedef struct OTClientList OTClientList;
fNumClientsThe number of clients in the fBuffer array, normally 1.
fBufferAn array of packed Pascal strings enumerating the name of each client that rejected the request—that is, the names under which the clients registered themselves as an Open Transport clients.
OpenTransportProtocol.h
typedef UInt8 * OTClientName;
OpenTransport.h
typedef SInt32 OTCommand;
OpenTransport.h
typedef struct OTConfiguration * OTConfigurationRef;
OpenTransport.h
Specifies the location and size of noncontiguous data.
struct OTData {
void * fNext;
void * fData;
ByteCount fLen;
};
typedef struct OTData OTData;
fNextA pointer to the OTData structure that describes the next data fragment. Specify a NULL pointer for the last data fragment.
fDataA pointer to the data fragment.
fLenSpecifies the size of the fragment in bytes.
The OTData structure is an Apple extension used to specify the location and size of noncontiguous data. You use a pointer to this structure in place of a pointer to continguous data normally referenced in TNetbuf.buf field. You can send discontiguous data using the OTSndUData function, the OTSndURequest function, the OTSndUReply function, the OTSnd function, the OTSndRequest function, and the OTSndReply function.
Each OTData structure specifies the location of a data fragment, the size of the fragment, and the location of the OTData structure that specifies the location and size of the next data fragment. The data information structure is defined by the OTData type. For more information, see “Sending Noncontiguous Data.”
OpenTransport.h
typedef SInt32 OTDataSize;
OpenTransport.h
typedef long OTDeferredTaskRef;
OpenTransport.h
typedef UInt32 OTEventCode;
OpenTransport.h
typedef SInt32 OTError;
struct OTGate {
OTLIFO fLIFO;
OTList fList;
OTGateProcPtr fProc;
SInt32 fNumQueued;
SInt32 fInside;
};
typedef struct OTGate OTGate;
fLIFOfListfProcfNumQueuedfInsideOpenTransportProtocol.h
struct OTHashList {
OTHashProcPtr fHashProc;
ByteCount fHashTableSize;
OTLink ** fHashBuckets;
};
typedef struct OTHashList OTHashList;
fHashProcfHashTableSizefHashBucketsOpenTransportProtocol.h
typedef SInt32 OTInt32;
OpenTransport.h
struct OTISDNAddress {
OTAddressType fAddressType;
UInt16 fPhoneLength;
char fPhoneNumber[37];
};
typedef struct OTISDNAddress OTISDNAddress;
fAddressTypefPhoneLengthfPhoneNumberOpenTransportProviders.h
typedef ItemCount OTItemCount;
OpenTransport.h
Supports last-in, first-out lists in Open Transport.
struct OTLIFO {
OTLink * fHead;
};
typedef struct OTLIFO OTLIFO;
fHeadA pointer to the first entry in the linked list. Set this to nil to initialize the structure before using it.
Open Transport LIFO (last-in, first-out) lists use the LIFO list structure. You must initialize this structure by setting the structure’s fHead field to NULL before using the LIFO list. Most Open Transport LIFO list operations are atomic.
OpenTransport.h
Allows any data structure to be used in an Open Transport list.
struct OTLink {
OTLink * fNext;
};
typedef struct OTLink OTLink;
fNextA pointer to the next entry in the linked list.
All of Open Transport’s list utilities use the linked list structure, which may be embedded in any data structure that you want to use in an Open Transport list. A linked list structure is defined by the OTLink data type.
OpenTransport.h
Supports first-in, last-out lists in Open Transport
struct OTList {
OTLink * fHead;
};
typedef struct OTList OTList;
fHeadA pointer to the first entry in the linked list. Set this to NULL to initialize the structure before using it.
Open Transport FIFO (first-in, first-out) lists use the FIFO list structure. You must initialize this structure by setting the structure’s fHead field to NULL before using the LIFO list. The FIFO list structure is defined by the OTList data type.
None of the functions that handle a FIFO list structure are atomic.
OpenTransport.h
typedef OTListSearchProcPtr OTListSearchUPP;
For more information, see the description of the OTListSearchUPP () callback function.
OpenTransport.h
Defines a value used to ensure that Open Transport does not recursively reenter locked areas of code.
typedef UInt8 OTLock;
The lock data type defines a value that is used by the OTClearLock function and the OTAcquireLock function to ensure that Open Transport does not recursively reenter locked areas of code. The lock data type is defined by the OTLock data type
OpenTransport.h
typedef SInt32 OTNameID;
OpenTransport.h
typedef OTNotifyProcPtr OTNotifyUPP;
For more information, see the description of the OTNotifyUPP () callback function.
OpenTransport.h
struct OTPCIInfo {
RegEntryID fTheID;
void *fConfigurationInfo;
ByteCount fConfigurationLength;
};
Denies or accepts requests to yield a port.
struct OTPortCloseStruct {
OTPortRef fPortRef;
ProviderRef fTheProvider;
OSStatus fDenyReason;
};
typedef struct OTPortCloseStruct OTPortCloseStruct;
fPortRefThe port requested to be closed.
fTheProviderThe provider that is currently using the port.
fDenyReasonA value that you can leave untouched to accept the yield request. To deny the request, change this value to a negative error code corresponding to the reason for your denial (normally you use the kOTUserRequestedErr error).
When you are using a port that another client wishes to use, the other client can use the OTYieldPortRequest function (not available in Mac OS X) to ask you to yield the port. If you are registered as a client of Open Transport, you receive a kOTYieldPortRequest event, whose cookie parameter is a pointer to a port close structure. You can use this structure to deny or accept the yield request.
Currently, this callback is only used for serial ports, but it is applicable to any hardware device that cannot share a port with multiple clients. You should check the kOTCanYieldPort bit in the port structure’s fInfoFlags field to see whether the port supports yielding.
If the provider is passively listening (that is, bound with a queue length (qlen) greater than 0) and you are willing to yield, you need do nothing. If, however, you are actively connected and you are willing to yield the port, you must issue a synchronous OTSndDisconnect callin order to let the port go.
OpenTransportProtocol.h
Describes a port’s characteristics.
struct OTPortRecord {
OTPortRef fRef;
UInt32 fPortFlags;
UInt32 fInfoFlags;
UInt32 fCapabilities;
ItemCount fNumChildPorts;
OTPortRef * fChildPorts;
char fPortName[36];
char fModuleName[32];
char fSlotID[8];
char fResourceInfo[32];
char fReserved[164];
};
typedef struct OTPortRecord OTPortRecord;
fRefThe port reference; a 32-bit value encoding the port’s device type, bus type, slot number, and multiport identifier
fPortFlagsFlags describing the port’s status. If no bits are set, the port is currently inactive—that is, it is not in use at this time.
fInfoFlagsfCapabilitiesfNumChildPortsfChildPortsAn array of the port references for the child ports associated with this port. When you get a Port Record, this pointer typically points into the SReserved field at the end of the record.
fPortNameA unique name for this port. The port name is a zero-terminated string that can have a maximum length as indicated by the constant kMaxProviderNameSize.
fModuleNameThe name of the actual STREAMS module that implements the driver for this port. Open Transport uses this name internally; applications rarely need to use this name.
fSlotIDAn 8-byte identifier for a port’s slot that contains a 7-byte character string plus a zero for termination. This identifier is typically available only for PCI cards.
fResourceInfoA zero-terminated string that describes a shared library that can handle configuration information for the device. This field contains an identifier that allows Open Transport to access auxiliary information about the driver (Open Transport creates shared library IDs from this string to be able to find these extra shared libraries). This string should either be unique to the driver or should be set to a NULL string.
fReservedReserved.
Open Transport uses a port structure to describe a port’s characteristics, such as its port name, its child ports, whether it is active or disabled, whether it is private or shareable, and the kind of framing it can use.
OpenTransport.h
typedef UInt32 OTPortRef;
OpenTransport.h
typedef OTProcessProcPtr OTProcessUPP;
For more information, see the description of the OTProcessUPP () callback function.
OpenTransport.h
typedef UInt32 OTQLen;
OpenTransport.h
struct OTReadInfo {
UInt32 fType;
OTCommand fCommand;
UInt32 fFiller;
ByteCount fBytes;
OSStatus fError;
};
typedef struct OTReadInfo OTReadInfo;
fTypefCommandfFillerfBytesfErrorOpenTransportProtocol.h
typedef SInt32 OTReason;
OpenTransport.h
struct OTResourceLocator {
FSSpec fFile;
UInt16 fResID;
};
typedef struct OTResourceLocator OTResourceLocator;
fFilefResIDOpenTransportProtocol.h
typedef SInt32 OTResult;
OpenTransport.h
struct OTScriptInfo {
UInt32 fScriptType;
void * fTheScript;
UInt32 fScriptLength;
};
typedef struct OTScriptInfo OTScriptInfo;
fScriptTypefTheScriptfScriptLengthOpenTransport.h
typedef SInt32 OTSequence;
OpenTransport.h
typedef SInt16 OTSInt16Param;
OpenTransport.h
typedef SInt8 OTSInt8Param;
OpenTransport.h
typedef UInt16 OTSlotNumber;
OpenTransport.h
struct OTStateMachine {
OTStateMachineDataPad fData;
void * fCookie;
OTEventCode fCode;
OTResult fResult;
};
typedef struct OTStateMachine OTStateMachine;
fDatafCookiefCodefResultOpenTransportProtocol.h
typedef UInt8 OTStateMachineDataPad[12];
OpenTransportProtocol.h
typedef OTSystemTaskRef;
OpenTransport.h
typedef UInt32 OTTimeout;
OpenTransport.h
typedef OTTimerTask;
OpenTransportProtocol.h
Contains an Open Transport timestamp.
typedef UnsignedWide OTTimeStamp;
The timestamp data type is a 64-bit value that contains an Open Transport timestamp. The timestamp has unspecified units; you must use one of the timestamp manipulation functions described in “Timestamp Utility Functions” to convert the timestamp to known quantities. The timestamp data type is defined by the OTTimeStamp data type.
OpenTransport.h
typedef UInt16 OTUInt16Param;
OpenTransport.h
typedef UInt32 OTUInt32;
OpenTransport.h
typedef UInt8 OTUInt8Param;
OpenTransport.h
typedef UInt16 OTUnixErr;
OpenTransport.h
typedef UInt32 OTXTILevel;
OpenTransport.h
typedef UInt32 OTXTIName;
OpenTransport.h
struct pollfd {
SInt32 fd;
SInt16 events;
SInt16 revents;
SInt32 _ifd;
};
struct PollRef {
SInt32 filler;
SInt16 events;
SInt16 revents;
StreamRef ref;
};
typedef struct PollRef PollRef;
fillereventsreventsrefOpenTransportProtocol.h
struct PPPMRULimits {
UInt32 mruSize;
UInt32 upperMRULimit;
UInt32 lowerMRULimit;
};
typedef struct PPPMRULimits PPPMRULimits;
mruSizeupperMRULimitlowerMRULimitOpenTransportProviders.h
typedef struct OpaqueProviderRef * ProviderRef;
OpenTransport.h
struct q_xtra {
UInt32 dummy;
};
typedef struct q_xtra q_xtra;
dummyOpenTransportProtocol.h
struct qband {
qband * qb_next;
unsigned long qb_count;
msgb * qb_first;
msgb * qb_last;
unsigned long qb_hiwat;
unsigned long qb_lowat;
unsigned short qb_flag;
short qb_pad1;
};
typedef struct qband qband;
typedef qband qband_t;
qb_nextqb_countqb_firstqb_lastqb_hiwatqb_lowatqb_flagqb_pad1OpenTransportProtocol.h
typedef qband qband_t;
OpenTransportProtocol.h
typedef qfields qfields_t;
OpenTransportProtocol.h
struct qinit {
putp_t qi_putp;
srvp_t qi_srvp;
openp_t qi_qopen;
closep_t qi_qclose;
admin_t qi_qadmin;
module_info * qi_minfo;
module_stat * qi_mstat;
};
typedef struct qinit qinit;
qi_putpqi_srvpqi_qopenqi_qcloseqi_qadminqi_minfoqi_mstatOpenTransportProtocol.h
struct queue {
qinit * q_qinfo;
msgb * q_first;
msgb * q_last;
queue * q_next;
queue_q_u q_u;
char * q_ptr;
unsigned long q_count;
long q_minpsz;
long q_maxpsz;
unsigned long q_hiwat;
unsigned long q_lowat;
qband * q_bandp;
unsigned short q_flag;
unsigned char q_nband;
unsigned char q_pad1[1];
q_xtra * q_osx;
queue * q_ffcp;
queue * q_bfcp;
};
typedef struct queue queue;
typedef queue * queuePtr;
q_qinfoq_firstq_lastq_nextq_uq_ptrq_countq_minpszq_maxpszq_hiwatq_lowatq_bandpq_flagq_nbandq_pad1q_osxq_ffcpq_bfcpOpenTransportProtocol.h
union queue_q_u {
queue * q_u_link;
sqh_s * q_u_sqh_parent;
};
typedef union queue_q_u queue_q_u;
q_u_linkq_u_sqh_parentOpenTransportProtocol.h
typedef SInt32 queue_t;
queue.h
typedef SInt16 short_p;
OpenTransport.h
struct sqh_s {
UInt32 dummy;
};
typedef struct sqh_s sqh_s;
dummyOpenTransportProtocol.h
struct sth_s {
UInt32 dummy;
};
typedef struct sth_s sth_s;
dummyOpenTransportProtocol.h
struct str_list {
SInt32 sl_nmods;
str_mlist * sl_modlist;
};
typedef struct str_list str_list;
sl_nmodssl_modlistOpenTransportProtocol.h
struct str_mlist {
char l_name[32];
};
typedef struct str_mlist str_mlist;
l_nameOpenTransportProtocol.h
struct strbuf {
SInt32 maxlen;
SInt32 len;
char * buf;
};
typedef struct strbuf strbuf;
maxlenlenbufOpenTransport.h
typedef struct OpaqueStreamRef * StreamRef;
OpenTransportProtocol.h
struct streamtab {
qinit * st_rdinit;
qinit * st_wrinit;
qinit * st_muxrinit;
qinit * st_muxwinit;
};
typedef struct streamtab streamtab;
st_rdinitst_wrinitst_muxrinitst_muxwinitOpenTransportProtocol.h
struct strfdinsert {
strbuf ctlbuf;
strbuf databuf;
long flags;
long fildes;
SInt32 offset;
};
typedef struct strfdinsert strfdinsert;
ctlbufdatabufflagsfildesoffsetOpenTransportProtocol.h
struct strioctl {
SInt32 ic_cmd;
SInt32 ic_timout;
SInt32 ic_len;
char * ic_dp;
};
typedef struct strioctl strioctl;
ic_cmdic_timoutic_lenic_dpOpenTransportProtocol.h
struct stroptions {
unsigned long so_flags;
short so_readopt;
unsigned short so_wroff;
long so_minpsz;
long so_maxpsz;
unsigned long so_hiwat;
unsigned long so_lowat;
unsigned char so_band;
unsigned char so_filler[3];
unsigned long so_poll_set;
unsigned long so_poll_clr;
};
typedef struct stroptions stroptions;
so_flagsso_readoptso_wroffso_minpszso_maxpszso_hiwatso_lowatso_bandso_fillerso_poll_setso_poll_clrOpenTransportProtocol.h
struct strpeek {
strbuf ctlbuf;
strbuf databuf;
long flags;
};
typedef struct strpeek strpeek;
ctlbufdatabufflagsOpenTransportProtocol.h
struct strpfp {
unsigned long pass_file_cookie;
unsigned short pass_uid;
unsigned short pass_gid;
sth_s * pass_sth;
};
typedef struct strpfp strpfp;
pass_file_cookiepass_uidpass_gidpass_sthOpenTransportProtocol.h
struct strpmsg {
strbuf ctlbuf;
strbuf databuf;
SInt32 band;
long flags;
};
typedef struct strpmsg strpmsg;
ctlbufdatabufbandflagsOpenTransportProtocol.h
struct strrecvfd {
long fd;
unsigned short uid;
unsigned short gid;
char fill[8];
};
typedef struct strrecvfd strrecvfd;
fduidgidfillOpenTransportProtocol.h
struct T_addr_ack {
long PRIM_type;
long LOCADDR_length;
long LOCADDR_offset;
long REMADDR_length;
long REMADDR_offset;
};
typedef struct T_addr_ack T_addr_ack;
PRIM_typeLOCADDR_lengthLOCADDR_offsetREMADDR_lengthREMADDR_offsetOpenTransportProtocol.h
struct T_addr_req {
long PRIM_type;
};
typedef struct T_addr_req T_addr_req;
PRIM_typeOpenTransportProtocol.h
struct T_bind_ack {
long PRIM_type;
long ADDR_length;
long ADDR_offset;
unsigned long CONIND_number;
};
typedef struct T_bind_ack T_bind_ack;
PRIM_typeADDR_lengthADDR_offsetCONIND_numberOpenTransportProtocol.h
struct T_bind_req {
long PRIM_type;
long ADDR_length;
long ADDR_offset;
unsigned long CONIND_number;
};
typedef struct T_bind_req T_bind_req;
PRIM_typeADDR_lengthADDR_offsetCONIND_numberOpenTransportProtocol.h
struct T_cancelreply_req {
long PRIM_type;
long SEQ_number;
};
typedef struct T_cancelreply_req T_cancelreply_req;
PRIM_typeSEQ_numberOpenTransportProtocol.h
struct T_cancelrequest_req {
long PRIM_type;
long SEQ_number;
};
typedef struct T_cancelrequest_req T_cancelrequest_req;
PRIM_typeSEQ_numberOpenTransportProtocol.h
struct T_conn_con {
long PRIM_type;
long RES_length;
long RES_offset;
long OPT_length;
long OPT_offset;
};
typedef struct T_conn_con T_conn_con;
PRIM_typeRES_lengthRES_offsetOPT_lengthOPT_offsetOpenTransportProtocol.h
struct T_conn_ind {
long PRIM_type;
long SRC_length;
long SRC_offset;
long OPT_length;
long OPT_offset;
long SEQ_number;
};
typedef struct T_conn_ind T_conn_ind;
PRIM_typeSRC_lengthSRC_offsetOPT_lengthOPT_offsetSEQ_numberOpenTransportProtocol.h
struct T_conn_req {
long PRIM_type;
long DEST_length;
long DEST_offset;
long OPT_length;
long OPT_offset;
};
typedef struct T_conn_req T_conn_req;
PRIM_typeDEST_lengthDEST_offsetOPT_lengthOPT_offsetOpenTransportProtocol.h
struct T_conn_res {
long PRIM_type;
queue_t * QUEUE_ptr;
long OPT_length;
long OPT_offset;
long SEQ_number;
};
typedef struct T_conn_res T_conn_res;
PRIM_typeQUEUE_ptrOPT_lengthOPT_offsetSEQ_numberOpenTransportProtocol.h
struct T_data_ind {
long PRIM_type;
long MORE_flag;
};
typedef struct T_data_ind T_data_ind;
PRIM_typeMORE_flagOpenTransportProtocol.h
struct T_data_req {
long PRIM_type;
long MORE_flag;
};
typedef struct T_data_req T_data_req;
PRIM_typeMORE_flagOpenTransportProtocol.h
struct T_delname_req {
long PRIM_type;
long SEQ_number;
long NAME_length;
long NAME_offset;
};
typedef struct T_delname_req T_delname_req;
PRIM_typeSEQ_numberNAME_lengthNAME_offsetOpenTransportProtocol.h
struct T_discon_ind {
long PRIM_type;
long DISCON_reason;
long SEQ_number;
};
typedef struct T_discon_ind T_discon_ind;
PRIM_typeDISCON_reasonSEQ_numberOpenTransportProtocol.h
struct T_discon_req {
long PRIM_type;
long SEQ_number;
};
typedef struct T_discon_req T_discon_req;
PRIM_typeSEQ_numberOpenTransportProtocol.h
struct T_error_ack {
long PRIM_type;
long ERROR_prim;
long TLI_error;
long UNIX_error;
};
typedef struct T_error_ack T_error_ack;
PRIM_typeERROR_primTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_event_ind {
long PRIM_type;
long EVENT_code;
long EVENT_cookie;
};
typedef struct T_event_ind T_event_ind;
PRIM_typeEVENT_codeEVENT_cookieOpenTransportProtocol.h
struct T_exdata_ind {
long PRIM_type;
long MORE_flag;
};
typedef struct T_exdata_ind T_exdata_ind;
PRIM_typeMORE_flagOpenTransportProtocol.h
struct T_exdata_req {
long PRIM_type;
long MORE_flag;
};
typedef struct T_exdata_req T_exdata_req;
PRIM_typeMORE_flagOpenTransportProtocol.h
struct T_info_ack {
long PRIM_type;
long TSDU_size;
long ETSDU_size;
long CDATA_size;
long DDATA_size;
long ADDR_size;
long OPT_size;
long TIDU_size;
long SERV_type;
long CURRENT_state;
long PROVIDER_flag;
};
typedef struct T_info_ack T_info_ack;
PRIM_typeTSDU_sizeETSDU_sizeCDATA_sizeDDATA_sizeADDR_sizeOPT_sizeTIDU_sizeSERV_typeCURRENT_statePROVIDER_flagOpenTransportProtocol.h
struct T_info_req {
long PRIM_type;
};
typedef struct T_info_req T_info_req;
PRIM_typeOpenTransportProtocol.h
Specifies the value of the OPT_KEEPALIVE option.
struct t_kpalive {
SInt32 kp_onoff;
SInt32 kp_timeout;
};
typedef struct t_kpalive t_kpalive;
kp_onoffA constant specifying whether the option is turned on (T_ON) or off (T_OFF).
kp_timeoutA positive integer specifying how many minutes Open Transport should maintain a connection in the absence of traffic.
The keepalive structure specifies the value of the OPT_KEEPALIVE option, described in “XTI-Level Options and Generic Options”
OpenTransport.h
Specifies the value of the XTI_LINGER option.
struct t_linger {
SInt32 l_onoff;
SInt32 l_linger;
};
typedef struct t_linger t_linger;
l_onoffA constant specifying whether the option is turned on (T_ON) or off (T_OFF).
l_lingerAn integer specifying the linger time, the amount of time in seconds that Open Transport should wait to allow data in an endpoint’s internal buffer to be sent before the OTCloseProvider function closes the endpoint.
To request the default value for this option, set the l_linger field to T_UNSPEC.
The linger structure specifies the value of the XTI_LINGER option, described in “XTI-Level Options and Generic Options.”
OpenTransport.h
struct T_lkupname_con {
long PRIM_type;
long SEQ_number;
long NAME_length;
long NAME_offset;
long RSP_count;
long RSP_cumcount;
};
typedef struct T_lkupname_con T_lkupname_con;
PRIM_typeSEQ_numberNAME_lengthNAME_offsetRSP_countRSP_cumcountOpenTransportProtocol.h
struct T_lkupname_req {
long PRIM_type;
long SEQ_number;
long NAME_length;
long NAME_offset;
long ADDR_length;
long ADDR_offset;
long MAX_number;
long MAX_milliseconds;
long REQ_flags;
};
typedef struct T_lkupname_req T_lkupname_req;
PRIM_typeSEQ_numberNAME_lengthNAME_offsetADDR_lengthADDR_offsetMAX_numberMAX_millisecondsREQ_flagsOpenTransportProtocol.h
struct T_ok_ack {
long PRIM_type;
long CORRECT_prim;
};
typedef struct T_ok_ack T_ok_ack;
PRIM_typeCORRECT_primOpenTransportProtocol.h
struct T_optmgmt_ack {
long PRIM_type;
long OPT_length;
long OPT_offset;
long MGMT_flags;
};
typedef struct T_optmgmt_ack T_optmgmt_ack;
PRIM_typeOPT_lengthOPT_offsetMGMT_flagsOpenTransportProtocol.h
struct T_optmgmt_req {
long PRIM_type;
long OPT_length;
long OPT_offset;
long MGMT_flags;
};
typedef struct T_optmgmt_req T_optmgmt_req;
PRIM_typeOPT_lengthOPT_offsetMGMT_flagsOpenTransportProtocol.h
struct T_ordrel_ind {
long PRIM_type;
};
typedef struct T_ordrel_ind T_ordrel_ind;
PRIM_typeOpenTransportProtocol.h
struct T_ordrel_req {
long PRIM_type;
};
typedef struct T_ordrel_req T_ordrel_req;
PRIM_typeOpenTransportProtocol.h
union T_primitives {
long primType;
T_addr_ack taddrack;
T_bind_ack tbindack;
T_bind_req tbindreq;
T_conn_con tconncon;
T_conn_ind tconnind;
T_conn_req tconnreq;
T_conn_res tconnres;
T_data_ind tdataind;
T_data_req tdatareq;
T_discon_ind tdisconind;
T_discon_req tdisconreq;
T_exdata_ind texdataind;
T_exdata_req texdatareq;
T_error_ack terrorack;
T_info_ack tinfoack;
T_info_req tinforeq;
T_ok_ack tokack;
T_optmgmt_ack toptmgmtack;
T_optmgmt_req toptmgmtreq;
T_ordrel_ind tordrelind;
T_ordrel_req tordrelreq;
T_unbind_req tunbindreq;
T_uderror_ind tuderrorind;
T_unitdata_ind tunitdataind;
T_unitdata_req tunitdatareq;
T_unitreply_ind tunitreplyind;
T_unitrequest_ind tunitrequestind;
T_unitrequest_req tunitrequestreq;
T_unitreply_req tunitreplyreq;
T_unitreply_ack tunitreplyack;
T_reply_ind treplyind;
T_request_ind trequestind;
T_request_req trequestreq;
T_reply_req treplyreq;
T_reply_ack treplyack;
T_cancelrequest_req tcancelreqreq;
T_resolveaddr_req tresolvereq;
T_resolveaddr_ack tresolveack;
T_regname_req tregnamereq;
T_regname_ack tregnameack;
T_delname_req tdelnamereq;
T_lkupname_req tlkupnamereq;
T_lkupname_con tlkupnamecon;
T_sequence_ack tsequenceack;
T_event_ind teventind;
};
typedef union T_primitives T_primitives;
primTypetaddracktbindacktbindreqtconncontconnindtconnreqtconnrestdataindtdatareqtdisconindtdisconreqtexdataindtexdatareqterroracktinfoacktinforeqtokacktoptmgmtacktoptmgmtreqtordrelindtordrelreqtunbindreqtuderrorindtunitdataindtunitdatareqtunitreplyindtunitrequestindtunitrequestreqtunitreplyreqtunitreplyacktreplyindtrequestindtrequestreqtreplyreqtreplyacktcancelreqreqtresolvereqtresolveacktregnamereqtregnameacktdelnamereqtlkupnamereqtlkupnamecontsequenceackteventindOpenTransportProtocol.h
struct T_regname_ack {
long PRIM_type;
long SEQ_number;
long REG_id;
long ADDR_length;
long ADDR_offset;
};
typedef struct T_regname_ack T_regname_ack;
PRIM_typeSEQ_numberREG_idADDR_lengthADDR_offsetOpenTransportProtocol.h
struct T_regname_req {
long PRIM_type;
long SEQ_number;
long NAME_length;
long NAME_offset;
long ADDR_length;
long ADDR_offset;
long REQ_flags;
};
typedef struct T_regname_req T_regname_req;
PRIM_typeSEQ_numberNAME_lengthNAME_offsetADDR_lengthADDR_offsetREQ_flagsOpenTransportProtocol.h
struct T_reply_ack {
long PRIM_type;
long SEQ_number;
long TLI_error;
long UNIX_error;
};
typedef struct T_reply_ack T_reply_ack;
PRIM_typeSEQ_numberTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_reply_ind {
long PRIM_type;
long SEQ_number;
long OPT_length;
long OPT_offset;
long REP_flags;
long TLI_error;
long UNIX_error;
};
typedef struct T_reply_ind T_reply_ind;
PRIM_typeSEQ_numberOPT_lengthOPT_offsetREP_flagsTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_reply_req {
long PRIM_type;
long SEQ_number;
long OPT_length;
long OPT_offset;
long REP_flags;
};
typedef struct T_reply_req T_reply_req;
PRIM_typeSEQ_numberOPT_lengthOPT_offsetREP_flagsOpenTransportProtocol.h
struct T_request_ind {
long PRIM_type;
long SEQ_number;
long OPT_length;
long OPT_offset;
long REQ_flags;
};
typedef struct T_request_ind T_request_ind;
PRIM_typeSEQ_numberOPT_lengthOPT_offsetREQ_flagsOpenTransportProtocol.h
struct T_request_req {
long PRIM_type;
long SEQ_number;
long OPT_length;
long OPT_offset;
long REQ_flags;
};
typedef struct T_request_req T_request_req;
PRIM_typeSEQ_numberOPT_lengthOPT_offsetREQ_flagsOpenTransportProtocol.h
struct T_resolveaddr_ack {
long PRIM_type;
long SEQ_number;
long ADDR_length;
long ADDR_offset;
long ORIG_client;
long ORIG_data;
long TLI_error;
long UNIX_error;
};
typedef struct T_resolveaddr_ack T_resolveaddr_ack;
PRIM_typeSEQ_numberADDR_lengthADDR_offsetORIG_clientORIG_dataTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_resolveaddr_req {
long PRIM_type;
long SEQ_number;
long ADDR_length;
long ADDR_offset;
long ORIG_client;
long ORIG_data;
long MAX_milliseconds;
};
typedef struct T_resolveaddr_req T_resolveaddr_req;
PRIM_typeSEQ_numberADDR_lengthADDR_offsetORIG_clientORIG_dataMAX_millisecondsOpenTransportProtocol.h
struct T_sequence_ack {
long PRIM_type;
long ORIG_prim;
long SEQ_number;
long TLI_error;
long UNIX_error;
};
typedef struct T_sequence_ack T_sequence_ack;
PRIM_typeORIG_primSEQ_numberTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_uderror_ind {
long PRIM_type;
long DEST_length;
long DEST_offset;
long OPT_length;
long OPT_offset;
long ERROR_type;
};
typedef struct T_uderror_ind T_uderror_ind;
PRIM_typeDEST_lengthDEST_offsetOPT_lengthOPT_offsetERROR_typeOpenTransportProtocol.h
struct T_unbind_req {
long PRIM_type;
};
typedef struct T_unbind_req T_unbind_req;
PRIM_typeOpenTransportProtocol.h
struct T_unitdata_ind {
long PRIM_type;
long SRC_length;
long SRC_offset;
long OPT_length;
long OPT_offset;
};
typedef struct T_unitdata_ind T_unitdata_ind;
PRIM_typeSRC_lengthSRC_offsetOPT_lengthOPT_offsetOpenTransportProtocol.h
struct T_unitdata_req {
long PRIM_type;
long DEST_length;
long DEST_offset;
long OPT_length;
long OPT_offset;
};
typedef struct T_unitdata_req T_unitdata_req;
PRIM_typeDEST_lengthDEST_offsetOPT_lengthOPT_offsetOpenTransportProtocol.h
struct T_unitreply_ack {
long PRIM_type;
long SEQ_number;
long TLI_error;
long UNIX_error;
};
typedef struct T_unitreply_ack T_unitreply_ack;
PRIM_typeSEQ_numberTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_unitreply_ind {
long PRIM_type;
long SEQ_number;
long OPT_length;
long OPT_offset;
long REP_flags;
long TLI_error;
long UNIX_error;
};
typedef struct T_unitreply_ind T_unitreply_ind;
PRIM_typeSEQ_numberOPT_lengthOPT_offsetREP_flagsTLI_errorUNIX_errorOpenTransportProtocol.h
struct T_unitreply_req {
long PRIM_type;
long SEQ_number;
long OPT_length;
long OPT_offset;
long REP_flags;
};
typedef struct T_unitreply_req T_unitreply_req;
PRIM_typeSEQ_numberOPT_lengthOPT_offsetREP_flagsOpenTransportProtocol.h
struct T_unitrequest_ind {
long PRIM_type;
long SEQ_number;
long SRC_length;
long SRC_offset;
long OPT_length;
long OPT_offset;
long REQ_flags;
};
typedef struct T_unitrequest_ind T_unitrequest_ind;
PRIM_typeSEQ_numberSRC_lengthSRC_offsetOPT_lengthOPT_offsetREQ_flagsOpenTransportProtocol.h
struct T_unitrequest_req {
long PRIM_type;
long SEQ_number;
long DEST_length;
long DEST_offset;
long OPT_length;
long OPT_offset;
long REQ_flags;
};
typedef struct T_unitrequest_req T_unitrequest_req;
PRIM_typeSEQ_numberDEST_lengthDEST_offsetOPT_lengthOPT_offsetREQ_flagsOpenTransportProtocol.h
struct T8022Address {
OTAddressType fAddrFamily;
UInt8 fHWAddr[6];
UInt16 fSAP;
UInt8 fSNAP[5];
};
typedef struct T8022Address T8022Address;
fAddrFamilyfHWAddrfSAPfSNAPOpenTransportProviders.h
struct T8022FullPacketHeader {
EnetPacketHeader fEnetPart;
T8022SNAPHeader f8022Part;
};
typedef struct T8022FullPacketHeader T8022FullPacketHeader;
fEnetPartf8022PartOpenTransportProviders.h
struct T8022Header {
UInt8 fDSAP;
UInt8 fSSAP;
UInt8 fCtrl;
};
typedef struct T8022Header T8022Header;
fDSAPfSSAPfCtrlOpenTransportProviders.h
struct T8022SNAPHeader {
UInt8 fDSAP;
UInt8 fSSAP;
UInt8 fCtrl;
UInt8 fSNAP[5];
};
typedef struct T8022SNAPHeader T8022SNAPHeader;
fDSAPfSSAPfCtrlfSNAPOpenTransportProviders.h
Describes the protocol address to which an endpoint is currently bound or connected, or specifies the protocol address to which you wish to bind or connect the endpoint.
struct TBind {
TNetbuf addr;
OTQLen qlen;
};
typedef struct TBind TBind;
addrA TNetbuf structure that contains information about an address. The addr.maxlen field specifies the maximum size of the address, the addr.len field specifies the actual length of the address, and the addr.buf field points to the buffer containing the address.
When specifying an address, you must allocate a buffer for the address and initialize it; you must set the addr.buf field to point to this buffer; and you must set the addr.len field to the size of the address.
When requesting an address, you must allocate a buffer in which the address is to be placed; you must set the addr.buf field to point to this buffer; and you must set the addr.maxlen field to the maximum size of the address that is being returned. You determine this value by examining the addr field of the TEndpointInfo structure for the endpoint.
qlenFor a connection-oriented endpoint, the maximum number of connection requests that can be concurrently outstanding for this endpoint. For more information, see the description of the OTBind function. For connectionless endpoints, this field has no meaning.
The TBind structure describes the protocol address to which an endpoint is currently bound or connected, or specifies the protocol address to which you wish to bind or connect the endpoint. For a connection-oriented endpoint, the TBind structure also specifies the actual or desired number of connection requests that can be concurrently outstanding for the endpoint.
You pass the TBind structure as a parameter to the OTBind function, the OTGetProtAddress function, and the OTResolveAddress function.
OpenTransport.h
Specifies the options and data associated with establishing a connection.
struct TCall {
TNetbuf addr;
TNetbuf opt;
TNetbuf udata;
OTSequence sequence;
};
typedef struct TCall TCall;
addrA TNetbuf structure that specifies the location and size of an address buffer
optA TNetbuf structure that specifies the location and size of an options buffer.
udataA TNetbuf structure that specifies the location and size of a buffer for data associated with a connection or disconnection request.
sequenceA 32-bit value used by the OTListen and OTAccept functions to specify the connection ID.
You use the TCall structure to specify the options and data associated with establishing a connection. You pass a pointer to this structure as a parameter to the OTConnect function, the OTRcvConnect function, the OTListen function, and the OTAccept function.
If you are using the TCall structure to send information, you must allocate a buffer and initialize it to contain the information. Set the .buf field of each TNetbuf to point to the buffer, and then specify the size of the buffer using the .len field. Set this field to 0 if you are not sending data.
If you are using the TCall structure to receive information, you must allocate a buffer into which the function can place the information when it returns. Then set the .buf field of all the TNetbufs to point to this buffer, and set the .maxlen field to the maximum size of the information. Set this field to 0 if you are not interested in receiving information.
OpenTransport.h
Specifies data sent with the OTSndDisconnect function and retrieved by the OTRcvDisconnect function.
struct TDiscon {
TNetbuf udata;
OTReason reason;
OTSequence sequence;
};
typedef struct TDiscon TDiscon;
udataA TNetbuf structure that references data sent with the OTSndDisconnect function or received by the OTRcvDisconnect function.
reasonA 32-bit value specifying an error code that identifies the reason for the disconnection. These codes are supplied by the protocol. For additional information, consult the documentation provided for the protocol you are using.
sequenceA 32-bit value specifying an outstanding connection request that has been rejected. This field is meaningful only when you have issued several connection requests to the same endpoint and are awaiting the results.
OpenTransport.h
Describes the initial characteristics of an endpoint that you opened by calling the OTOpenEndpointInContext function; returned by calling OTGetEndpointInfo.
struct TEndpointInfo {
OTDataSize addr;
OTDataSize options;
OTDataSize tsdu;
OTDataSize etsdu;
OTDataSize connect;
OTDataSize discon;
OTServiceType servtype;
UInt32 flags;
};
typedef struct TEndpointInfo TEndpointInfo;
addroptionsA value greater than or equal to 0 indicates the maximum number of bytes needed to store the protocol-specific options that this endpoint supports, if any. A value of T_INVALID (-2) indicates that this endpoint has no protocol-specific options that you can set; they are read-only. A value of -3 specifies that the provider does not support any options.
tsduFor a transactionless endpoint, a positive value indicates the maximum number of bytes in a transport service data unit (TSDU) for this endpoint. A value of T_INFINITE (-1) indicates that there is no limit to the size of a TSDU. A value of 0 indicates that the provider does not support the concept of a TSDU. This means that you cannot send data with logical boundaries preserved across a connection. A value of T_INVALID indicates that this endpoint cannot transfer normal data (as opposed to expedited data).
For a transaction-based endpoint, this field indicates the maximum number of bytes in a response.
etsduFor a transactionless endpoint, a positive value indicates the maximum number of bytes in an expedited transport service data unit (ETSDU) for this endpoint. A value of T_INFINITE indicates that there is no limit to the size of a ETSDU. A value of 0 indicates that this endpoint does not support the concept of an ETSDU. This means that you must not send expedited data with logical boundaries preserved across a connection. A value of T_INVALID indicates that this endpoint cannot transfer expedited data.
For a transaction-based endpoint, this field indicates the maximum number of bytes in a request.
connectFor a connection-oriented endpoint, a value greater than or equal to 0 indicates the maximum amount of data (in bytes) that you can send with the OTConnect function or the OTAccept function. A value of T_INVALID indicates that this endpoint does not let you send data with these functions. This field is meaningless for other types of endpoints.
disconFor a connection-oriented endpoint, a value greater than or equal to 0 indicates the maximum amount of data (in bytes) that you can send using the OTSndDisconnect function. A value of T_INVALID indicates that this endpoint does not let you send data with disconnection requests. This field is meaningless for other types of endpoints.
servtypeA constant that indicates what kind of service the endpoint provides. Possible values are given by the “Endpoint Service Types” enumeration.
flagsA bit FIeld that provides additional information about the endpoint. Possible values are given by the “Endpoint Flags” enumeration.
OpenTransport.h
Supports adding and dropping membership in an IP multicast address.
struct TIPAddMulticast {
InetHost multicastGroupAddress;
InetHost interfaceAddress;
};
typedef struct TIPAddMulticast TIPAddMulticast;
multicastGroupAddressThe IP address of the multicast group for which you want to add or drop membership.
interfaceAddressThe IP address of the network interface that you are using for the multicast group.
You use the IP multicast address structure with the IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP options when you are adding or dropping membership in an IP multicast address.
OpenTransportProviders.h
Defines the format of entries in the buffer passed back in the reply parameter of the OTLookupName function.
struct TLookupBuffer {
UInt16 fAddressLength;
UInt16 fNameLength;
UInt8 fAddressBuffer[1];
};
typedef struct TLookupBuffer TLookupBuffer;
fAddressLengthSpecifies the size of the address specified by the fAddressBuffer field.
fNameLengthSpecifies the size of the name that is stored in the buffer following the fAddressBuffer field.
fAddressBufferThe first byte of the address to which the entity whose name follows (in the buffer) is bound.
The TLookupBuffer structure defines the format of entries in the buffer passed back in the reply parameter of the OTLookupName function. When you parse the buffer in which the OTLookupName function places the names it has found, you can cast it as a TLookupBuffer structure.
OpenTransport.h
Stores information passed back to your application by the OTLookupName function.
struct TLookupReply {
TNetbuf names;
UInt32 rspcount;
};
typedef struct TLookupReply TLookupReply;
namesA TNetbuf structure that specifies the size and location of a buffer into which the OTLookupName function, on return, places the names it has found. You must allocate the buffer into which the replies are stored when the function returns; you must set the names.buf field to point to it; and you must set the names.maxlen field to the size of the buffer.
rspcountA long specifying, on return, the number of names found.
You use the TLookupReply structure to store information passed back to you by the OTLookupName function. The information includes both a pointer to a buffer (containing registered entity names matching the criterion specified with the TLookupRequest structure) and the number of names found.
OpenTransport.h
Specifies the entity name to be looked up by the OTLookupName function.
struct TLookupRequest {
TNetbuf name;
TNetbuf addr;
UInt32 maxcnt;
OTTimeout timeout;
OTFlags flags;
};
typedef struct TLookupRequest TLookupRequest;
nameA TNetbuf structure specifying the location and size of a buffer that contains the name to be looked up. You must allocate a buffer that contains the name, set the name.buf field to point to it, and set the name.len field to the length of the name.
addrA TNetbuf structure describing the address of the node where you expect the names to be stored. You should normally supply 0 for addr.len. This causes the provider to use internal defaults for the starting point of the search. For a protocol family such as AppleTalk, in which every node has access to name and address information, this parameter is meaningless.
Specifying an address has meaning for those protocols that use a dedicated server or other device to store name information. In such a case, the name specified would override the protocol’s default address. To specify an address, you would need to allocate a buffer containing the address, set the addr.buf field to point to it, and set the addr.len field to the length of the address. Consult the documentation supplied with your protocol to determine whether you can or should specify an address.
maxcntA long specifying the number of names you expect to be returned. Some protocols allow the use of wildcard characters in specifying a name. As a result, the OTLookupName function might find multiple names matching the specified name pattern. If you expect a specific number of replies for a particular name or do not expect to exceed a specific number, you should specify this number to obtain faster execution. Otherwise, set this field to 0xffff ffff; in this case, the timeout value will control the lookup.
timeoutA long specifying the amount of time, in milliseconds, that should elapse before Open Transport gives up searching for a name. Specify 0 to leave the timeout value up to the underlying naming system.
flagsYou use the TLookupRequest structure to specify the entity name to be looked up by the OTLookupName function and to set additional values that the mapper provider uses to circumscribe the search.
OpenTransport.h
Specifies the location and size of a buffer that contains an address, option information, or user data.
struct TNetbuf {
ByteCount maxlen;
ByteCount len;
UInt8 * buf;
};
typedef struct TNetbuf TNetbuf;
maxlenThe size (in bytes) of the buffer to which the buf field points. You must set the maxlen field before passing a TNetbuf structure to a provider function as an output parameter. Open Transport ignores this field if you pass the TNetbuf structure as an input parameter.
lenThe actual length (in bytes) of the information in the buffer to which the buf field points. If you are using the TNetbuf structure as an input parameter, you must set this field.
If you pass the TNetbuf structure as an output parameter, on return the provider function sets this field to the number of bytes the function has actually placed in the buffer referenced by the buf field.
bufA pointer to a buffer. You must make sure that the buf field points to a valid buffer and that the buffer is large enough to store the information for which it is intended.
You use a TNetbuf structure to specify the location and size of a buffer that contains an address, option information, or user data. Provider functions use TNetbuf structures both as input parameters and output parameters. If you use a TNetbuf structure as an input parameter, you specify the location and size of a buffer containing information you want to send. If you use a TNetbuf structure as an output parameter, you specify the location and the maximum size of the buffer used to hold information when the function returns.
You use a TNetbuf structure to describe the location and size of contiguous data. Open Transport allows you to describe noncontiguous data with the OTData structure.
OpenTransport.h
Stores information about a single option in a buffer.
struct TOption {
ByteCount len;
OTXTILevel level;
OTXTIName name;
UInt32 status;
UInt32 value[1];
};
typedef struct TOption TOption;
lenThe size (in bytes) of the option information, including the header.
levelThe protocol for which the option is defined.
nameThe name of the option.
statusA status code specifying whether the negotiation has succeeded or failed. Possible values are given by the “Open Transport Flags and Status Codes” enumeration
valueThe option value. To have the endpoint select an appropriate value, you can specify the constant T_UNSPEC.
The TOption structure stores information about a single option in a buffer. All functions that you use to change or verify option values use a buffer containing TOption structures to store option information. For each option in the buffer, the TOption structure specifies the total length occupied by the option, the protocol level of the option, the option name, the status of a negotiated value, and the value of the option.
You use the TOption structure with the OPT_NEXTHDR macro, the OTCreateOptionString function, the OTNextOption function, and the OTFindOption function.
OpenTransport.h
Stores information about options in a buffer.
struct TOptionHeader {
ByteCount len;
OTXTILevel level;
OTXTIName name;
UInt32 status;
};
typedef struct TOptionHeader TOptionHeader;
lenThe size (in bytes) of the option information, including the header.
levelThe protocol affected.
nameThe option name.
statusThe status value. Possible values are given by the “Open Transport Flags and Status Codes.”
OpenTransport.h
Manages the req and ret parameters of the OTOptionManagement function
struct TOptMgmt {
TNetbuf opt;
OTFlags flags;
};
typedef struct TOptMgmt TOptMgmt;
optA TNetbuf structure describing the buffer containing option information. The opt.maxlen field specifies the maximum size of the buffer. The opt.len field specifies the actual size of the buffer, and the opt.buf field contains the address of the buffer.
On input, as part of the req parameter, the buffer contains TOption structures describing the options to be negotiated or verified, or contains the names of options whose default or current values you are interested in. You must allocate this buffer, place in it the structures describing the options of interest, and set the opt.len field to the size of the buffer.
On output, as part of the ret parameter, the buffer contains the actual values of the options you described in the req parameter. You must allocate a buffer to hold the option information when the function returns and set the opt.maxlen field to the maximum length of this buffer. When the function returns, the opt.len field is set to the actual length of the buffer.
flagsFor the req parameter, the flags field indicates the action to be taken as defined by the action flags enumeration (page 570). For the ret parameter, the flags field indicates the overall success or failure of the operation performed by the OTOptionManagement function, as defined by the “Open Transport Flags and Status Codes” enumeration.
The option management structure is used for the req and ret parameters of the OTOptionManagement function. The req parameter is used to verify or negotiate option values. The ret parameter returns information about an endpoint’s default, current, or negotiated values.
OpenTransport.h
typedef struct OpaqueTOTConfiguratorRef * TOTConfiguratorRef;
OpenTransportProtocol.h
struct TPortRecord {
OTLink fLink;
char *fPortName;
char *fModuleName;
char *fResourceInfo;
char *fSlotID;
TPortRecord *fAlias;
ItemCount fNumChildren;
OTPortRef *fChildPorts;
UInt32 fPortFlags;
UInt32 fInfoFlags;
UInt32 fCapabilities;
OTPortRef fRef;
streamtab *fStreamtab;
void *fContext;
void *fExtra;
};
struct trace_ids {
short ti_mid;
short ti_sid;
char ti_level;
};
typedef struct trace_ids trace_ids;
ti_midti_sidti_levelOpenTransportProtocol.h
Stores information returned by the OTRegisterName function.
struct TRegisterReply {
TNetbuf addr;
OTNameID nameid;
};
typedef struct TRegisterReply TRegisterReply;
addrA TNetbuf structure that specifies the location and size of a buffer containing the actual address of the entity whose name you have just registered. This information is passed back to you when the OTRegisterName function returns. You must allocate a buffer, set the addr.buf field to point to it, and set the addr.maxlen field to the size of the buffer.
nameidA unique identifier passed to you when the OTRegisterName function returns. You can use this identifier when you call the OTDeleteNameByID function to delete the name.
OpenTransport.h
Specifies the entity name you want to register using the OTRegisterName function and, optionally, to specify its address.
struct TRegisterRequest {
TNetbuf name;
TNetbuf addr;
OTFlags flags;
};
typedef struct TRegisterRequest TRegisterRequest;
nameA TNetbuf structure that specifies the location and size of a buffer containing the entity name you want to register. You must allocate a buffer that contains the name, set the name.buf field to point to that buffer, and set the name.len field to the length of the buffer.
addrA TNetbuf structure that specifies the location and size of a buffer containing the address associated with the entity whose name you want to register. You must allocate a buffer that contains the address, set the addr.buf field to point to that buffer, and set the addr.len field to the length of the buffer. The actual address with which the entity is associated is returned in the addr field of the TRegisterReply structure.
You can set the addr.len field to 0, in which case the underlying protocol finds an appropriate address to associate with the newly registered entity name.
flagsA field used to control registration. Normally, this field is set to 0 for default registration behavior. See the documentation for the naming service you are using for more information.
OpenTransport.h
struct TReply {
TNetbuf data;
TNetbuf opt;
OTSequence sequence;
};
typedef struct TReply TReply;
dataoptsequenceOpenTransport.h
struct TRequest {
TNetbuf data;
TNetbuf opt;
OTSequence sequence;
};
typedef struct TRequest TRequest;
dataoptsequenceOpenTransport.h
In the event of failure of the OTSndUData function, points to information that explains why it failed.function (page 462) has failed.
struct TUDErr {
TNetbuf addr;
TNetbuf opt;
SInt32 error;
};
typedef struct TUDErr TUDErr;
addrA TNetbuf structure that contains information about the destination address of the data sent using the OTSndUData function. The OTRcvUData function fills in the buffer referenced by this structure when the function returns. You must allocate a buffer to contain the address, initialize the addr.buf field to point to it, and set the addr.maxlen field to specify its maximum size. If you are not interested in address information, set addr.maxlen to 0.
optA TNetbuf structure that contains information about the options associated with the data sent using the OTSndUDatafunction. The OTRcvUDErr function fills in the buffer referenced by this structure when the function returns. If you want to know this information, you must allocate a buffer to contain the option data, initialize the opt.buf field to point to it, and initialize the opt.maxlen field to specify the maximum size of the buffer. If you are not interested in option information, set the opt.maxlen field to 0.
errorOn return, this specifies a protocol-dependent error code for the OTSndUData function that failed.
In the event of failure of the OTSndUDatafunction, points to information that explains why it failed.You pass this structure as a parameter to the OTRcvUData function.
OpenTransport.h
Describes the data being sent with the OTSndUData function and the data being read with the OTRcvUData function.function (page 467)
struct TUnitData {
TNetbuf addr;
TNetbuf opt;
TNetbuf udata;
};
typedef struct TUnitData TUnitData;
addrA TNetbuf structure for address information.
optA TNetbuf structure for option information.
udataA TNetbuf structure for data.
You use the TUnitData structure to describe the data being sent with the OTSndUData function and the data being read with the OTRcvUData function; you pass this structure as a parameter to each of these functions. When sending data you must initialize the buf and len fields of all the TNetbuf structures. When receiving data, you must initialize the buf and maxlen fields of all the TNetbuf structures.
OpenTransport.h
struct TUnitReply {
TNetbuf opt;
TNetbuf udata;
OTSequence sequence;
};
typedef struct TUnitReply TUnitReply;
optudatasequenceOpenTransport.h
struct TUnitRequest {
TNetbuf addr;
TNetbuf opt;
TNetbuf udata;
OTSequence sequence;
};
typedef struct TUnitRequest TUnitRequest;
addroptudatasequenceOpenTransport.h
typedef UInt8 uchar_p;
OpenTransport.h
typedef UInt32 uid_t;
types.h
typedef uint_t;
OpenTransport.h
typedef UInt16 ushort_p;
OpenTransport.h
enum {
AF_8022 = 8200
};
enum {
AF_ATALK_FAMILY = 0x0100,
AF_ATALK_DDP = 0x0100,
AF_ATALK_DDPNBP = AF_ATALK_FAMILY + 1,
AF_ATALK_NBP = AF_ATALK_FAMILY + 2,
AF_ATALK_MNODE = AF_ATALK_FAMILY + 3
};
AF_ATALK_FAMILYAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
AF_ATALK_DDPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
AF_ATALK_DDPNBPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
AF_ATALK_NBPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
AF_ATALK_MNODEAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
enum {
AF_DNS = 42
};
enum {
AF_INET = 2
};
enum {
AF_ISDN = 8192
};
enum {
ANYMARK = 0x01,
LASTMARK = 0x02
};
ANYMARKAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
LASTMARKAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
enum {
ATALK_IOC_FULLSELFSEND = ((MIOC_ATALK << 8) | 47),
ADSP_IOC_FORWARDRESET = ((MIOC_ATALK << 8) | 60)
};
ATALK_IOC_FULLSELFSENDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ADSP_IOC_FORWARDRESETAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
enum {
ATK_DDP = 'DDP ',
ATK_AARP = 'AARP',
ATK_ATP = 'ATP ',
ATK_ADSP = 'ADSP',
ATK_ASP = 'ASP ',
ATK_PAP = 'PAP ',
ATK_NBP = 'NBP ',
ATK_ZIP = 'ZIP '
};
ATK_DDPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_AARPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_ATPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_ADSPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_ASPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_PAPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_NBPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATK_ZIPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
enum {
BPRI_LO = 1,
BPRI_MED = 2,
BPRI_HI = 3
};
BPRI_LOAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
BPRI_MEDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
BPRI_HIAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
enum {
CE_CONT = 0,
CE_NOTE = 0,
CE_WARN = 1,
CE_PANIC = 2
};
enum {
CLONEOPEN = 0x02,
MODOPEN = 0x01,
OPENFAIL = -1
};
CLONEOPENAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
MODOPENAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
OPENFAILAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
enum {
COM_ISDN = 'ISDN'
};
enum {
COM_PPP = 'PPPC'
};
enum {
COM_SERIAL = 'SERL'
};
enum {
DDP_OPT_CHECKSUM = 0x0600,
DDP_OPT_SRCADDR = 0x2101,
ATP_OPT_REPLYCNT = 0x2110,
ATP_OPT_DATALEN = 0x2111,
ATP_OPT_RELTIMER = 0x2112,
ATP_OPT_TRANID = 0x2113,
PAP_OPT_OPENRETRY = 0x2120
};
DDP_OPT_CHECKSUMAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
DDP_OPT_SRCADDRAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATP_OPT_REPLYCNTAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATP_OPT_DATALENAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATP_OPT_RELTIMERAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
ATP_OPT_TRANIDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
PAP_OPT_OPENRETRYAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProviders.h.
enum {
DDP_OPT_HOPCOUNT = 0x2100
};
enum {
DL_ACCESS = 0x02,
DL_BADADDR = 0x01,
DL_BADCORR = 0x05,
DL_BADDATA = 0x06,
DL_BADPPA = 0x08,
DL_BADPRIM = 0x09,
DL_BADQOSPARAM = 0x0A,
DL_BADQOSTYPE = 0x0B,
DL_BADSAP = 0x00,
DL_BADTOKEN = 0x0C,
DL_BOUND = 0x0D,
DL_INITFAILED = 0x0E,
DL_NOADDR = 0x0F,
DL_NOTINIT = 0x10,
DL_OUTSTATE = 0x03,
DL_SYSERR = 0x04,
DL_UNSUPPORTED = 0x07,
DL_UNDELIVERABLE = 0x11,
DL_NOTSUPPORTED = 0x12,
DL_TOOMANY = 0x13,
DL_NOTENAB = 0x14,
DL_BUSY = 0x15,
DL_NOAUTO = 0x16,
DL_NOXIDAUTO = 0x17,
DL_NOTESTAUTO = 0x18,
DL_XIDAUTO = 0x19,
DL_TESTAUTO = 0x1A,
DL_PENDING = 0x1B
};
DL_ACCESSAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADADDRAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADCORRAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADDATAAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADPPAAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADPRIMAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADQOSPARAMAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADQOSTYPEAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADSAPAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BADTOKENAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BOUNDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_INITFAILEDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOADDRAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOTINITAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_OUTSTATEAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_SYSERRAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_UNSUPPORTEDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_UNDELIVERABLEAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOTSUPPORTEDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_TOOMANYAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOTENABAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_BUSYAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOAUTOAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOXIDAUTOAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_NOTESTAUTOAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_XIDAUTOAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_TESTAUTOAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_PENDINGAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
enum {
DL_AUTO_XID = 0x01,
DL_AUTO_TEST = 0x02
};
DL_AUTO_XIDAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
DL_AUTO_TESTAvailable in Mac OS X v10.0 and later.
Declared in OpenTransportProtocol.h.
enum {
DL_CMD_MASK = 0x0F,
DL_CMD_OK = 0x00,
DL_CMD_RS = 0x01,
DL_CMD_UE = 0x05,
DL_CMD_PE = 0x06,
DL_CMD_IP = 0x07,
DL_CMD_UN = 0x09,
DL_CMD_IT = 0x0F,
DL_RSP_MASK = 0xF0,
DL_RSP_OK = 0x00,
DL_RSP_RS = 0x10,
DL_RSP_NE = 0x30,
DL_RSP_NR = 0x40,
DL_RSP_UE = 0x50,
DL_RSP_IP = 0x70,
DL_RSP_UN = 0x90,
DL_RSP_IT = 0xF0
};