mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1035 lines
51 KiB
1035 lines
51 KiB
/* routines.h, /appletalk/ins, Garth Conboy, 10/04/88 */
|
|
/* Copyright (c) 1988 by Pacer Software Inc., La Jolla, CA */
|
|
|
|
/* GC - Initial coding.
|
|
GC - (02/20/90): The various MapAddressToXxxx routines need a "port"
|
|
argument.
|
|
GC - (02/07/92): "routersNode" is now an argument to GetNodeOnPort().
|
|
GC - (03/24/92): Return type change for AspGetSession() from
|
|
"AppleTalkErrorCode" to "long".
|
|
GC - (03/24/92): Added PapCancelGetNextJob() and AspCancelGetSession().
|
|
GC - (06/27/92): All buffers coming from user space are now "opaque," they
|
|
may or may not be "char *;" they are now typed as "void
|
|
*."
|
|
GC - (06/30/92): Added Ddp transmit completetion routine support.
|
|
GC - (09/17/92): Both OpenSocketOnNode() and AtpOpenSocketOnNode() now
|
|
return AppleTalkErrorCode's.
|
|
GC - (11/15/92): Integrated Nikki's (Microsoft) changes for adding event
|
|
handler support to Adsp and Dpp.
|
|
|
|
*** Make the PVCS source control system happy:
|
|
$Header$
|
|
$Log$
|
|
***
|
|
|
|
Pacer AppleTalk protocol stack routines.
|
|
|
|
*/
|
|
|
|
/* Routine declarations... */
|
|
|
|
extern void _near _fastcall AarpPacketIn(int port,
|
|
char far *routingInfo,
|
|
int routingInfoLength,
|
|
char far *packet,
|
|
int length);
|
|
|
|
extern void _near _fastcall DdpPacketIn(int port,
|
|
char far *packet,
|
|
int length,
|
|
Boolean freePacket,
|
|
Boolean extendedDdpHeader,
|
|
int sourceNode,
|
|
int destinationNode);
|
|
|
|
#if ArapIncluded
|
|
extern void ArapIncomingPacket(int port, char far *packet, int length);
|
|
|
|
extern void far ArapHandleIncomingConnection(int port);
|
|
|
|
extern void far ArapHandleConnectionDisconnect(int port);
|
|
|
|
extern void far TeardownConnection(int port);
|
|
|
|
extern void far ShutdownArap(void);
|
|
|
|
extern void far DecodeArapPacket(char far *direction,
|
|
int port,
|
|
char far *packet,
|
|
int length);
|
|
#endif
|
|
|
|
#if (Iam an OS2) or (Iam a DOS) or (Iam a WindowsNT)
|
|
extern void far CheckTimers(int sig);
|
|
#endif
|
|
|
|
extern void far UnloadAppleTalk(void);
|
|
extern void far StopTimerHandling(void);
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern void far ShutdownFullRtmp(void);
|
|
extern void far ShutdownFullZip(void);
|
|
extern void far ReleaseRoutingTable(void);
|
|
#endif
|
|
extern void far ShutdownErrorLogging(void);
|
|
extern void far ShutdownAarp(void);
|
|
extern void far ShutdownRtmpStub(void);
|
|
|
|
extern void far desdone(void); /* Public domain DES routine */
|
|
extern void far setkey(char *key); /* Public domain DES routine */
|
|
extern void far endes(char *block); /* Public domain DES routine */
|
|
extern void far dedes(char *block); /* Public domain DES routine */
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern void _near _fastcall Router(int port,
|
|
AppleTalkAddress source,
|
|
AppleTalkAddress destination,
|
|
int protocolType,
|
|
char far *datagram,
|
|
int datagramLength,
|
|
int numberOfHops,
|
|
Boolean prependHeadersInPlace);
|
|
#endif
|
|
|
|
extern void _near _fastcall InvokeSocketHandler(OpenSocket socket,
|
|
int port,
|
|
AppleTalkAddress source,
|
|
int protocolType,
|
|
char far *datagram,
|
|
int datagramLength,
|
|
AppleTalkAddress
|
|
actualDestination);
|
|
|
|
extern void far UnlinkOpenSocket(OpenSocket openSocket);
|
|
|
|
extern void far UnlinkActiveNode(ActiveNode activeNode);
|
|
|
|
#if Iam an AppleTalkRouter
|
|
|
|
extern void far UnlinkRoutingTableEntry(RoutingTableEntry routingTableEntry);
|
|
|
|
#endif
|
|
|
|
#if ArapIncluded
|
|
|
|
extern void UnlinkRemoteAccessInfo(RemoteAccessInfo remoteAccessInfo);
|
|
|
|
#endif
|
|
|
|
/* The following macros are used to insert variable trailing arguments into
|
|
the ErrorLog macro. */
|
|
|
|
#define Insert0() 0
|
|
#define Insert1(a1) 1, a1
|
|
#define Insert2(a1,a2) 2, a1, a2
|
|
#define Insert3(a1,a2,a3) 3, a1, a2, a3
|
|
#define Insert4(a1,a2,a3,a4) 4, a1, a2, a3, a4
|
|
#define Insert5(a1,a2,a3,a4,a5) 5, a1, a2, a3, a4, a5
|
|
#define Insert6(a1,a2,a3,a4,a5,a6) 6, a1, a2, a3, a4, a5, a6
|
|
|
|
#if Ihave an OutboardErrorTextFile
|
|
#define ErrorLog(routineName, severity, lineNumber, portNumber, \
|
|
errorCode, errorText, insertMacro) \
|
|
ErrorLogger(routineName, severity, lineNumber, portNumber, \
|
|
errorCode, insertMacro)
|
|
#else
|
|
#define ErrorLog(routineName, severity, lineNumber, portNumber, \
|
|
errorCode, errorText, insertMacro) \
|
|
ErrorLogger(routineName, severity, lineNumber, portNumber, \
|
|
errorCode, errorText, insertMacro)
|
|
#endif
|
|
|
|
extern void far ErrorLogger(const char far *routineName,
|
|
ErrorSeverity severity,
|
|
long lineNumber,
|
|
int portNumber,
|
|
int errorCode,
|
|
#if IdontHave an OutboardErrorTextFile
|
|
const char far *errorText,
|
|
#endif
|
|
int extraArgCount,
|
|
...);
|
|
|
|
extern void far CloseSocketOnNodeIfOpen(int port,
|
|
ExtendedAppleTalkNodeNumber node,
|
|
int actualSocket);
|
|
|
|
extern void far CloseLog(void);
|
|
|
|
extern void near NbpCloseSocket(OpenSocket openSocket);
|
|
|
|
#if (Iam an AppleTalkRouter) and Verbose
|
|
extern void near DumpRtmpRoutingTable(void);
|
|
#endif
|
|
|
|
extern void far DecodeEthernetPacket(char far *direction,
|
|
int port,
|
|
char far *packet);
|
|
|
|
extern void far DecodeDdpHeader(char far *packet);
|
|
|
|
#if not defined(DeferIncomingPackets)
|
|
extern void far DeferIncomingPackets(void);
|
|
extern void far HandleIncomingPackets(void);
|
|
#endif
|
|
|
|
extern void far FreeZoneList(ZoneList zoneList);
|
|
|
|
extern void far RegisterOurName(int port);
|
|
|
|
extern void far SavePRamAddress(int port, Boolean routersNode,
|
|
ExtendedAppleTalkNodeNumber node);
|
|
|
|
#if Iam an AppleTalkStack
|
|
#if not defined(DeferAtpPackets)
|
|
extern void near DeferAtpPackets(void);
|
|
extern void near HandleAtpPackets(void);
|
|
#endif
|
|
|
|
extern void far ShutdownAsp(void);
|
|
extern void far ShutdownPap(void);
|
|
#endif
|
|
|
|
extern Boolean far ShutdownPort(int port, Boolean force);
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern Boolean far StartRouterOnPort(int port);
|
|
|
|
extern Boolean far StopRouterOnPort(int port);
|
|
|
|
extern Boolean far StartRtmpProcessingOnPort(int port,
|
|
ExtendedAppleTalkNodeNumber
|
|
routerNode);
|
|
|
|
extern Boolean far StartZipProcessingOnPort(int port);
|
|
|
|
extern Boolean far RemoveFromRoutingTable(AppleTalkNetworkRange
|
|
networkRange);
|
|
#endif
|
|
|
|
#if ArapIncluded
|
|
Boolean far ArapCensorPacket(int port, char *packet, int length);
|
|
#endif
|
|
|
|
extern Boolean far Is802dot2headerGood(char far *packet,
|
|
char far *protocol);
|
|
|
|
extern Boolean far CheckNetworkRange(AppleTalkNetworkRange networkRange);
|
|
|
|
extern Boolean far RangesOverlap(AppleTalkNetworkRange *range1,
|
|
AppleTalkNetworkRange *range2);
|
|
|
|
extern Boolean far IsWithinNetworkRange(short unsigned networkNumber,
|
|
AppleTalkNetworkRange *range);
|
|
|
|
extern Boolean far WaitFor(int hundreths,
|
|
volatile Boolean far *stopFlag);
|
|
|
|
extern Boolean far Initialize(int numberOfPorts,
|
|
PortInfo portInfo[]);
|
|
|
|
extern Boolean far GleanAarpInfo(int port,
|
|
char far *sourceAddress,
|
|
int addressLength,
|
|
char far *routingInfo,
|
|
int routingInfoLength,
|
|
char far *packet,
|
|
int length);
|
|
|
|
extern Boolean far GetNetworkInfoForNode(int port,
|
|
ExtendedAppleTalkNodeNumber
|
|
extendedNode,
|
|
Boolean findDefaultZone);
|
|
|
|
extern Boolean far CompareCaseSensitive(register const char far *s1,
|
|
register const char far *s2);
|
|
|
|
extern Boolean far CompareCaseInsensitive(register const char far *s1,
|
|
register const char far *s2);
|
|
|
|
extern Boolean far FixedCompareCaseSensitive(const char far *s1,
|
|
int l1,
|
|
const char far *s2,
|
|
int l2);
|
|
|
|
extern Boolean far FixedCompareCaseInsensitive(const char far *s1,
|
|
int l1,
|
|
const char far *s2,
|
|
int l2);
|
|
|
|
extern Boolean far AarpForNodeOnPort(int port,
|
|
Boolean allowStartupRange,
|
|
Boolean serverNode,
|
|
ExtendedAppleTalkNodeNumber desiredNode,
|
|
ExtendedAppleTalkNodeNumber far *node);
|
|
|
|
extern Boolean far ExtendedAppleTalkNodesEqual(
|
|
ExtendedAppleTalkNodeNumber far *p1,
|
|
ExtendedAppleTalkNodeNumber far *p2);
|
|
|
|
extern Boolean far AppleTalkAddressesEqual(AppleTalkAddress far *p1,
|
|
AppleTalkAddress far *p2);
|
|
|
|
extern Boolean far RoutersNodeOnPort(int port,
|
|
ExtendedAppleTalkNodeNumber *extendedNode);
|
|
|
|
extern Boolean _near _fastcall TransmitDdp(int port,
|
|
AppleTalkAddress source,
|
|
AppleTalkAddress destination,
|
|
int protocol,
|
|
BufferDescriptor datagram,
|
|
int datagramLength,
|
|
int hopCount,
|
|
char far *knownMulticastAddress,
|
|
ExtendedAppleTalkNodeNumber
|
|
*transmitDestination,
|
|
TransmitCompleteHandler
|
|
*completionRotuine,
|
|
long unsigned userData);
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern char far * far MulticastAddressForZoneOnPort(int port,
|
|
char far *zone);
|
|
#endif
|
|
|
|
extern char far * far StringCopyReasonableAscii(register char far *dest,
|
|
register const char
|
|
far *source);
|
|
|
|
extern short far HashString(char far *string);
|
|
|
|
extern short far EncodeNbpTuple(NbpTuple far *tuple, char far *buffer);
|
|
|
|
extern int far desinit(int mode); /* Public domain DES routine */
|
|
|
|
extern int far FindDefaultPort(void);
|
|
|
|
#define ElementsOnList(head) \
|
|
NodesOnList(head, &(head)->next)
|
|
|
|
extern int far NodesOnList(void *listHead, void *next);
|
|
|
|
extern int far GetNextNbpIdForNode(long socket);
|
|
|
|
extern int far OrderCaseInsensitive(register const char far *s1,
|
|
register const char far *s2);
|
|
|
|
extern long far MapAddressToSocket(int port,
|
|
AppleTalkAddress address);
|
|
|
|
extern long far MapNisOnPortToSocket(int port);
|
|
|
|
extern long DecodeNbpTuple(void far *buffer, long offset,
|
|
Boolean bufferIsOpaque, NbpTuple far *tuple);
|
|
|
|
extern long far RandomNumber(void);
|
|
|
|
extern long far UniqueNumber(void);
|
|
|
|
#if ArapIncluded
|
|
extern AppleTalkErrorCode far ArapNewMaxConnectTime(int port,
|
|
long unsigned
|
|
maxConnectTime);
|
|
#endif
|
|
|
|
extern AppleTalkErrorCode far GetNodeOnPort(int port,
|
|
Boolean allowStartupRange,
|
|
Boolean serverNode,
|
|
Boolean routersNode,
|
|
ExtendedAppleTalkNodeNumber far
|
|
*node);
|
|
|
|
extern AppleTalkErrorCode far MapSocketToAddress(long socket,
|
|
AppleTalkAddress far *address);
|
|
|
|
extern AppleTalkErrorCode far GetMyZone(int port,
|
|
void far *opaqueBuffer,
|
|
GetMyZoneComplete *completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far GetZoneList(int port,
|
|
Boolean getLocalZones,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
GetZoneListComplete
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far
|
|
ReleaseNodeOnPort(int port,
|
|
ExtendedAppleTalkNodeNumber node);
|
|
|
|
extern AppleTalkErrorCode far
|
|
OpenSocketOnNode(long far *socketHandle,
|
|
int port,
|
|
ExtendedAppleTalkNodeNumber far *desiredNode,
|
|
int desiredSocket,
|
|
IncomingDdpHandler *handler,
|
|
long unsigned userData,
|
|
Boolean eventHandler,
|
|
char far *datagramBuffers,
|
|
int totalBufferSize,
|
|
AppleTalkAddress far *actualAddress);
|
|
|
|
extern AppleTalkErrorCode far CloseSocketOnNode(
|
|
long socket,
|
|
CloseCompletionRoutine far
|
|
*closeCompletionRoutine,
|
|
long unsigned closeUserData);
|
|
|
|
extern AppleTalkErrorCode far NewHandlerForSocket(long socket,
|
|
IncomingDdpHandler *handler,
|
|
long unsigned userData,
|
|
Boolean eventHandler);
|
|
|
|
extern AppleTalkErrorCode far SetCookieForSocket(long socket,
|
|
long unsigned cookie);
|
|
|
|
extern AppleTalkErrorCode far GetCookieForSocket(long socket,
|
|
long unsigned far *cookie);
|
|
|
|
extern AppleTalkErrorCode far DdpRead(long socket,
|
|
void far *opaqueDatagram,
|
|
long bufferLength,
|
|
IncomingDdpHandler *handler,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far DdpWrite(long sourceSocket,
|
|
AppleTalkAddress destination,
|
|
int protocol,
|
|
void far *opaqueDatagram,
|
|
long datagramLength,
|
|
TransmitCompleteHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far DeliverDdp(long sourceSocket,
|
|
AppleTalkAddress destination,
|
|
int protocol,
|
|
BufferDescriptor datagram,
|
|
int datagramLength,
|
|
char far *zoneMulticastAddress,
|
|
TransmitCompleteHandler
|
|
*completionRotuine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far DeliverDdpOnPort(int sourcePort,
|
|
AppleTalkAddress source,
|
|
AppleTalkAddress destination,
|
|
int protocol,
|
|
BufferDescriptor datagram,
|
|
int datagramLength,
|
|
char far *zoneMulticastAddress,
|
|
TransmitCompleteHandler
|
|
*completionRotuine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far NbpAction(WhyPending reason,
|
|
long socket,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone,
|
|
int nbpId,
|
|
int broadcastInterval,
|
|
int numberOfBroadcasts,
|
|
NbpCompletionHandler *completionRoutine,
|
|
long unsigned userData,
|
|
...);
|
|
|
|
extern AppleTalkErrorCode far NbpRemove(long socket,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone);
|
|
|
|
#if Iam an AppleTalkStack
|
|
|
|
extern AppleTalkErrorCode far AdspSetWindowSizes(long newSendWindow,
|
|
long newReceiveWindow);
|
|
|
|
extern AppleTalkErrorCode far AdspMaxCurrentSendSize(long refNum,
|
|
long far *size);
|
|
|
|
extern AppleTalkErrorCode far AdspMaxCurrentReceiveSize(long refNum,
|
|
long far *size,
|
|
Boolean far
|
|
*endOfMessage);
|
|
|
|
extern AppleTalkErrorCode far AdspCreateConnectionListener(
|
|
int port,
|
|
ExtendedAppleTalkNodeNumber
|
|
*desiredNode,
|
|
long existingDdpSocket,
|
|
int desiredSocket,
|
|
long far *listenerRefNum,
|
|
long far *socketHandle,
|
|
AdspConnectionEventHandler
|
|
far *eventHandler,
|
|
long unsigned eventContext);
|
|
|
|
extern AppleTalkErrorCode far AdspDeleteConnectionListener(
|
|
long listenerRefNum);
|
|
|
|
extern AppleTalkErrorCode far AdspSetConnectionEventHandler(
|
|
long listenerRefNum,
|
|
AdspConnectionEventHandler
|
|
far *eventHandler,
|
|
long unsigned eventContext);
|
|
|
|
extern AppleTalkErrorCode far AdspGetConnectionRequest(
|
|
long listenerRefNum,
|
|
long far *refNum,
|
|
AdspIncomingOpenRequestHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AdspCancelGetConnectionRequest(
|
|
long listenerRefNum,
|
|
long getConnectionRequestRefNum);
|
|
|
|
extern AppleTalkErrorCode AdspDenyConnectionRequest(
|
|
long listenerRefNum,
|
|
long refNum);
|
|
|
|
extern AppleTalkErrorCode AdspAcceptConnectionRequest(
|
|
long listenerRefNum,
|
|
long refNum,
|
|
long far *socketHandle,
|
|
int port,
|
|
ExtendedAppleTalkNodeNumber
|
|
*desiredNode,
|
|
int desiredSocket,
|
|
AdspOpenCompleteHandler
|
|
*completionRoutine,
|
|
long unsigned userData,
|
|
AdspReceiveEventHandler far
|
|
*receiveEventHandler,
|
|
long unsigned
|
|
receiveEventContext,
|
|
AdspReceiveAttnEventHandler far
|
|
*receiveAttentionEventHandler,
|
|
long unsigned
|
|
receiveAttentionEventContext,
|
|
AdspSendOkayEventHandler far
|
|
*sendOkayEventHandler,
|
|
long unsigned
|
|
sendOkayEventContext,
|
|
AdspDisconnectEventHandler far
|
|
*disconnectEventHandler,
|
|
long unsigned
|
|
disconnectEventContext);
|
|
|
|
extern AppleTalkErrorCode far AdspOpenConnectionOnNode(
|
|
AdspOpenType openType,
|
|
long far *socketHandle,
|
|
int port,
|
|
ExtendedAppleTalkNodeNumber
|
|
*desiredNode,
|
|
int desiredSocket,
|
|
AppleTalkAddress remoteAddress,
|
|
long far *refNum,
|
|
AdspOpenCompleteHandler
|
|
*completionRoutine,
|
|
long unsigned userData,
|
|
AdspReceiveEventHandler far
|
|
*receiveEventHandler,
|
|
long unsigned
|
|
receiveEventContext,
|
|
AdspReceiveAttnEventHandler far
|
|
*receiveAttentionEventHandler,
|
|
long unsigned
|
|
receiveAttentionEventContext,
|
|
AdspSendOkayEventHandler far
|
|
*sendOkayEventHandler,
|
|
long unsigned
|
|
sendOkayEventContext,
|
|
AdspDisconnectEventHandler far
|
|
*disconnectEventHandler,
|
|
long unsigned
|
|
disconnectEventContext);
|
|
|
|
extern AppleTalkErrorCode AdspSetDataEventHandlers(
|
|
long refNum,
|
|
AdspReceiveEventHandler far
|
|
*receiveEventHandler,
|
|
long unsigned
|
|
receiveEventContext,
|
|
AdspReceiveAttnEventHandler far
|
|
*receiveAttentionEventHandler,
|
|
long unsigned
|
|
receiveAttentionEventContext,
|
|
AdspSendOkayEventHandler far
|
|
*sendOkayEventHandler,
|
|
long unsigned
|
|
sendOkayEventContext,
|
|
AdspDisconnectEventHandler far
|
|
*disconnectEventHandler,
|
|
long unsigned
|
|
disconnectEventContext);
|
|
|
|
extern AppleTalkErrorCode far AdspCloseConnection(long refNum,
|
|
Boolean remoteClose);
|
|
|
|
extern AppleTalkErrorCode far AdspSetCookieForConnection(long refNum,
|
|
long unsigned
|
|
cookie);
|
|
|
|
extern AppleTalkErrorCode far AdspGetCookieForConnection(long refNum,
|
|
long unsigned far
|
|
*cookie);
|
|
|
|
extern AppleTalkErrorCode far AdspForwardReset(long refNum,
|
|
AdspForwardResetAckHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AdspSend(long refNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
Boolean endOfMessage,
|
|
Boolean flushFlag,
|
|
long far *bytesSent);
|
|
|
|
extern AppleTalkErrorCode far AdspReceive(long refNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
AdspReceiveHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AdspPeek(long refNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
long far *bytesReturned,
|
|
Boolean *endOfMessage);
|
|
|
|
extern AppleTalkErrorCode far AdspGetAnything(long refNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
AdspGetAnythingHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far
|
|
AtpOpenSocketOnNode(long far *socketHandle,
|
|
int port,
|
|
ExtendedAppleTalkNodeNumber *desiredNode,
|
|
int desiredSocket,
|
|
char far *datagramBuffers,
|
|
int totalBufferSize);
|
|
|
|
extern AppleTalkErrorCode far
|
|
AtpCloseSocketOnNode(long socket,
|
|
CloseCompletionRoutine far
|
|
*closeCompletionRoutine,
|
|
long unsigned closeUserData);
|
|
|
|
extern AppleTalkErrorCode far AtpSetCookieForSocket(long socket,
|
|
long unsigned cookie);
|
|
|
|
extern AppleTalkErrorCode far AtpGetCookieForSocket(long socket,
|
|
long unsigned far
|
|
*cookie);
|
|
|
|
extern AppleTalkErrorCode far AdspGetAttention(long refNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
AdspIncomingAttentionRoutine
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AdspSendAttention(long refNum,
|
|
short unsigned attentionCode,
|
|
void far
|
|
*attentionOpaqueBuffer,
|
|
int attentionBufferSize,
|
|
AdspAttentionAckHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AtpEnqueueRequestHandler(
|
|
long far *requestHandlerId,
|
|
long socket,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
char far *userBytes,
|
|
AtpIncomingRequestHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AtpCancelRequestHandler(long socket,
|
|
long requestHandlerId,
|
|
Boolean
|
|
cancelDueToClose);
|
|
|
|
extern AppleTalkErrorCode far AtpCancelRequest(long socket,
|
|
short unsigned transactionId,
|
|
Boolean cancelDueToClose);
|
|
|
|
extern AppleTalkErrorCode far AtpCancelResponse(long socket,
|
|
AppleTalkAddress destination,
|
|
short unsigned transactionId,
|
|
Boolean cancelDueToClose);
|
|
|
|
extern AppleTalkErrorCode far AtpPostRequest(long sourceSocket,
|
|
AppleTalkAddress destination,
|
|
short unsigned
|
|
*transactionIdUsed,
|
|
void far *requestOpaqueBuffer,
|
|
int requestBufferSize,
|
|
char far *requestUserBytes,
|
|
Boolean exactlyOnce,
|
|
void far *responseOpaqueBuffer,
|
|
int responseBufferSize,
|
|
char far *responseUserBytes,
|
|
int retryCount,
|
|
int retryInterval,
|
|
TRelTimerValue trelTimerValue,
|
|
AtpIncomingResponseHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AtpPostResponse(long sourceSocket,
|
|
AppleTalkAddress destination,
|
|
short unsigned transactionId,
|
|
void far *responseOpaqueBuffer,
|
|
int responseBufferSize,
|
|
char far *responseUserBytes,
|
|
Boolean exactlyOnce,
|
|
AtpIncomingReleaseHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode near AtpMaximumSinglePacketDataSize(
|
|
long socket,
|
|
short maximumSinglePacketDataSize);
|
|
|
|
extern AppleTalkErrorCode near AspGetParams(int far *maxCommandSize,
|
|
int far *quantumSize);
|
|
|
|
extern AppleTalkErrorCode AspSetCookieForSession(long sessionRefNum,
|
|
long unsigned cookie);
|
|
|
|
extern AppleTalkErrorCode AspGetCookieForSession(long sessionRefNum,
|
|
long unsigned far *cookie);
|
|
|
|
extern AppleTalkErrorCode far AspCreateSessionListenerOnNode
|
|
(int port,
|
|
long existingAtpSocket,
|
|
int desiredSocket,
|
|
long *sessionListenerRefNum,
|
|
long *socket);
|
|
|
|
extern AppleTalkErrorCode far AspDeleteSessionListener
|
|
(long sessionListenerRefNum,
|
|
CloseCompletionRoutine far *closeCompletionRoutine,
|
|
long unsigned closeUserData);
|
|
|
|
extern AppleTalkErrorCode far AspGetSession(long sessionListenerRefNum,
|
|
Boolean privateSocket,
|
|
long *getSessionRefNum,
|
|
AspIncomingSessionOpenHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspCancelGetSession(long sessionListenerRefNum,
|
|
long getSessionRefNum);
|
|
|
|
extern AppleTalkErrorCode far AspOpenSessionOnNode
|
|
(int port,
|
|
long existingAtpSocket,
|
|
int desiredSocket,
|
|
AppleTalkAddress serverAddress,
|
|
long *ourSocket,
|
|
AspIncomingOpenReplyHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspSetStatus(long sessionListenerRefNum,
|
|
void far *serviceStatusOpaque,
|
|
int serviceStatusSize);
|
|
|
|
extern AppleTalkErrorCode far AspGetStatus(long ourSocket,
|
|
AppleTalkAddress serverAddress,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
AspIncomingStatusHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspCloseSession(long sessionRefNum,
|
|
CloseCompletionRoutine far
|
|
*closeCompletionRoutine,
|
|
long unsigned closeUserData,
|
|
Boolean remoteClose);
|
|
|
|
extern AppleTalkErrorCode far AspSendAttention(long sessionRefNum,
|
|
short unsigned attentionData);
|
|
|
|
extern AppleTalkErrorCode far AspGetAttention(long sessionRefNum,
|
|
AspIncomingAttentionHandler
|
|
*handler,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspGetRequest(long sessionRefNum,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
AspIncomingCommandHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspGetAnyRequest(long sessionListenerRefNum,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
AspIncomingCommandHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspReply(long sessionRefNum,
|
|
long getRequestRefNum,
|
|
short requestType,
|
|
char far *resultCode,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
AspReplyCompleteHandler
|
|
*competionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspWriteContinue(long sessionRefNum,
|
|
long getRequestRefNum,
|
|
void far *opaqueBuffer,
|
|
int bufferSize,
|
|
AspIncomingWriteDataHandler
|
|
*competionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspCommand(long sessionRefNum,
|
|
void far *opaqueCommandBuffer,
|
|
int commandBufferSize,
|
|
char far *resultCode,
|
|
void far *opaqueReplyBuffer,
|
|
int replyBufferSize,
|
|
AspWriteOrCommCompleteHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far AspWrite(long sessionRefNum,
|
|
void far *opaqueCommandBuffer,
|
|
int commandBufferSize,
|
|
void far *opaqueWriteBuffer,
|
|
int writeBufferSize,
|
|
char far *resultCode,
|
|
void far *opaqueReplyBuffer,
|
|
int replyBufferSize,
|
|
AspWriteOrCommCompleteHandler
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far
|
|
PapCreateServiceListenerOnNode(int port,
|
|
long existingAtpSocket,
|
|
int desiredSocket,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone,
|
|
short serverQuantum,
|
|
long far *returnSocket,
|
|
long far
|
|
*serviceListenerRefNum,
|
|
PapNbpRegisterComplete
|
|
*completionRoutine,
|
|
long unsigned userData,
|
|
StartJobHandler
|
|
*startJobRoutine,
|
|
long unsigned
|
|
startJobUserData);
|
|
|
|
extern AppleTalkErrorCode far
|
|
PapSetConnectionEventHandler(long serviceListenerRefNum,
|
|
StartJobHandler
|
|
*startJobRoutine,
|
|
long unsigned
|
|
startJobUserData);
|
|
|
|
extern AppleTalkErrorCode far
|
|
PapDeleteServiceListener(long serviceListenerRefNum,
|
|
CloseCompletionRoutine far
|
|
*closeCompletionRoutine,
|
|
long unsigned closeUserData);
|
|
|
|
extern AppleTalkErrorCode far PapRegisterName(long serviceListenerRefNum,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone,
|
|
PapNbpRegisterComplete
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far PapRemoveName(long serviceListenerRefNum,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone);
|
|
|
|
extern AppleTalkErrorCode far PapOpenJobOnNode(int port,
|
|
long existingAtpSocket,
|
|
int desiredSocket,
|
|
long far *jobRefNum,
|
|
AppleTalkAddress
|
|
*serverListenerAddress,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone,
|
|
short workstationQuantum,
|
|
void far *opaqueStatusBuffer,
|
|
SendPossibleHandler
|
|
*sendPossibleRoutine,
|
|
long unsigned
|
|
sendPossibleUserData,
|
|
CloseJobHandler
|
|
*closeJobRoutine,
|
|
long unsigned closeJobUserData,
|
|
PapOpenComplete
|
|
*completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far PapCloseJob(long jobRefNum,
|
|
CloseCompletionRoutine far
|
|
*closeCompletionRoutine,
|
|
long unsigned closeUserData,
|
|
Boolean remoteClose,
|
|
Boolean closedByConnectionTimer);
|
|
|
|
extern AppleTalkErrorCode far PapGetRemoteAddressForJob(
|
|
long jobRefNum,
|
|
AppleTalkAddress *remoteAddress);
|
|
|
|
extern AppleTalkErrorCode far PapSetCookieForJob(long jobRefNum,
|
|
long unsigned cookie);
|
|
|
|
extern AppleTalkErrorCode far PapGetCookieForJob(long jobRefNum,
|
|
long unsigned far *cookie);
|
|
|
|
extern AppleTalkErrorCode far PapHereIsStatus(long serviceListenerRefNum,
|
|
void far *opaqueStatusBuffer,
|
|
int statusSize);
|
|
|
|
extern AppleTalkErrorCode far PapGetStatus(long jobRefNum,
|
|
AppleTalkAddress far
|
|
*serverAddress,
|
|
char far *object,
|
|
char far *type,
|
|
char far *zone,
|
|
void far *opaqueStatusBuffer,
|
|
PapGetStatusComplete
|
|
*completionRotuine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far PapGetNextJob(long serviceListenerRefNum,
|
|
long far *jobRefNum,
|
|
StartJobHandler *startJobRoutine,
|
|
long unsigned startJobUserData,
|
|
CloseJobHandler *closeJobRoutine,
|
|
long unsigned closeJobUserData);
|
|
|
|
extern AppleTalkErrorCode far PapCancelGetNextJob(long serviceListenerRefNum,
|
|
long jobRefNum,
|
|
Boolean
|
|
sessionListenerClosing);
|
|
|
|
extern AppleTalkErrorCode far PapAcceptJob(long jobRefNum,
|
|
SendPossibleHandler
|
|
*sendPossibleRoutine,
|
|
long unsigned
|
|
sendPossibleUserData,
|
|
CloseJobHandler
|
|
*closeJobRoutine,
|
|
long unsigned closeJobUserData);
|
|
|
|
extern AppleTalkErrorCode far PapRead(long jobRefNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
PapReadComplete *completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern AppleTalkErrorCode far PapWrite(long jobRefNum,
|
|
void far *opaqueBuffer,
|
|
long bufferSize,
|
|
Boolean eofFlag,
|
|
PapWriteComplete *completionRoutine,
|
|
long unsigned userData);
|
|
|
|
extern Boolean far PapSendCreditAvailable(long jobRefNum);
|
|
#endif
|
|
|
|
extern OpenSocket far MapAddressToOpenSocket(int port,
|
|
AppleTalkAddress address);
|
|
|
|
extern OpenSocket far MapSocketToOpenSocket(long socket);
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern RoutingTableEntry far FindInRoutingTable(short unsigned networkNumber);
|
|
#endif
|
|
|
|
extern IncomingDdpHandler NbpPacketIn;
|
|
|
|
extern IncomingDdpHandler RtmpPacketIn;
|
|
|
|
extern IncomingDdpHandler ZipPacketIn;
|
|
|
|
extern IncomingDdpHandler EpPacketIn;
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern IncomingDdpHandler RtmpPacketInRouter;
|
|
|
|
extern IncomingDdpHandler ZipPacketInRouter;
|
|
#endif
|
|
|
|
#if Iam an OS2
|
|
extern IncomingDdpHandler Ring0Handler;
|
|
#endif
|
|
|
|
extern ZoneList far CopyZoneList(ZoneList zoneList);
|
|
|
|
extern ZoneList far AddZoneToList(ZoneList zoneList,
|
|
char far *zone);
|
|
|
|
#if Iam an AppleTalkRouter
|
|
extern UniqueZone far LinkZone(char far *zone);
|
|
|
|
extern void far UnlinkZone(UniqueZone zone);
|
|
|
|
extern Boolean far ZoneInZones(char far *zone, Zones zones);
|
|
|
|
extern Zones far AddZoneToZones(Zones zones, char far *zone);
|
|
|
|
extern void far FreeZones(Zones zones);
|
|
|
|
extern Zones far ZoneListToZones(ZoneList zoneList);
|
|
|
|
extern Zones far CopyZones(Zones zones);
|
|
#endif
|
|
|
|
extern BufferDescriptor far BuildAarpProbeTo(int port,
|
|
int hardwareLength,
|
|
ExtendedAppleTalkNodeNumber
|
|
nodeAddress,
|
|
int far *packetLength);
|
|
|
|
extern BufferDescriptor far BuildAarpRequestTo(int port,
|
|
int hardwareLength,
|
|
ExtendedAppleTalkNodeNumber
|
|
sourceNode,
|
|
ExtendedAppleTalkNodeNumber
|
|
destinationNode,
|
|
int far *packetLength);
|
|
|
|
extern BufferDescriptor far BuildAarpResponseTo(int port,
|
|
int hardwareLength,
|
|
char far *hardwareAddress,
|
|
char far *routingInfo,
|
|
int routingInfoLength,
|
|
ExtendedAppleTalkNodeNumber
|
|
sourceNode,
|
|
ExtendedAppleTalkNodeNumber
|
|
destinationNode,
|
|
int far *packetLength);
|
|
|