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.
189 lines
6.4 KiB
189 lines
6.4 KiB
/***************************************************************************
|
|
*
|
|
* File Name: ./netware/nxtd.h
|
|
*
|
|
* Copyright (C) 1993-1996 Hewlett-Packard Company.
|
|
* All rights reserved.
|
|
*
|
|
* 11311 Chinden Blvd.
|
|
* Boise, Idaho 83714
|
|
*
|
|
* This is a part of the HP JetAdmin Printer Utility
|
|
*
|
|
* This source code is only intended as a supplement for support and
|
|
* localization of HP JetAdmin by 3rd party Operating System vendors.
|
|
* Modification of source code cannot be made without the express written
|
|
* consent of Hewlett-Packard.
|
|
*
|
|
*
|
|
* Description:
|
|
*
|
|
* Author: Name
|
|
*
|
|
*
|
|
* Modification history:
|
|
*
|
|
* date initials change description
|
|
*
|
|
* mm-dd-yy MJB
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
***************************************************************************/
|
|
|
|
/* (c) COPYRIGHT 1988-1990 by Novell, Inc. All Rights Reserved. */
|
|
#ifndef _NXT_H
|
|
#define _NXT_H
|
|
/*__________________________________________________________________________
|
|
Definitions and structures for the Netware API Communications logic
|
|
_________________________________________________________________________*/
|
|
|
|
#include ".\nwcaldef.h"
|
|
|
|
/* assigned socket types */
|
|
|
|
#define SOC_DIAGNOSTICS
|
|
#define SHORT_LIVED 0x00
|
|
#define LONG_LIVED 0xFF
|
|
#define ENABLE_WATCHDOG 0xFF
|
|
#define DISABLE_WATCHDOG 0x00
|
|
|
|
typedef struct IPXAddress
|
|
{
|
|
BYTE network[4]; /* high-low */
|
|
BYTE node[6]; /* high-low */
|
|
BYTE socket[2]; /* high-low */
|
|
}IPXAddress;
|
|
|
|
|
|
typedef struct IPXHeader
|
|
{
|
|
WORD checkSum; /* high-low */
|
|
WORD length; /* high-low */
|
|
BYTE transportControl;
|
|
BYTE packetType;
|
|
IPXAddress destination;
|
|
IPXAddress source;
|
|
}IPXHeader;
|
|
|
|
|
|
typedef struct SPXHeader
|
|
{
|
|
WORD checksum; /* high-low 1's complement */
|
|
WORD length; /* high-low unsigned int */
|
|
BYTE transportControl;
|
|
BYTE packetType;
|
|
IPXAddress destination;
|
|
IPXAddress source;
|
|
BYTE connectionControl; /* bit flags */
|
|
BYTE dataStreamType;
|
|
WORD sourceConnectionID; /* high-low unsigned */
|
|
WORD destConnectionID; /* high-low unsigned */
|
|
WORD sequenceNumber; /* high-low unsigned */
|
|
WORD acknowledgeNumber; /* high-low unsigned */
|
|
WORD allocationNumber; /* high-low unsigned */
|
|
}SPXHeader;
|
|
|
|
typedef struct CONNECTION_INFO
|
|
{
|
|
BYTE connectionState;
|
|
BYTE connectionFlags;
|
|
WORD sourceConnectionID; /* hi-lo */
|
|
WORD destinationConnectionID; /* hi-lo */
|
|
WORD sequenceNumber; /* hi-lo */
|
|
WORD acknowledgeNumber; /* hi-lo */
|
|
WORD allocationNumber; /* hi-lo */
|
|
WORD remoteAcknowledgeNumber; /* hi-lo */
|
|
WORD remoteAllocationNumber; /* hi-lo */
|
|
WORD connectionSocket; /* hi-lo */
|
|
BYTE immediateAddress[6];
|
|
IPXAddress destination;
|
|
WORD retransmissionCount; /* hi-lo */
|
|
WORD estimatedRoundTripDelay; /* hi-lo */
|
|
WORD retransmittedPackets; /* hi-lo */
|
|
WORD suppressedPackets; /* hi-lo */
|
|
} CONNECTION_INFO;
|
|
|
|
|
|
#ifndef ECB_STRUCTURES_DEFINED
|
|
#define ECB_STRUCTURES_DEFINED
|
|
|
|
typedef struct ECBFragment
|
|
{
|
|
void far *address;
|
|
WORD size; /* low-high */
|
|
}ECBFragment;
|
|
|
|
typedef struct ECB
|
|
{
|
|
void far *linkAddress;
|
|
void (far *ESRAddress)();
|
|
BYTE inUseFlag;
|
|
BYTE completionCode;
|
|
WORD socketNumber; /* high-low */
|
|
BYTE IPXWorkspace[4]; /* N/A */
|
|
BYTE driverWorkspace[12]; /* N/A */
|
|
BYTE immediateAddress[6]; /* high-low */
|
|
WORD fragmentCount; /* low-high */
|
|
ECBFragment fragmentDescriptor[2];
|
|
}ECB;
|
|
#endif
|
|
|
|
|
|
|
|
#define SPX_IS_INSTALLED 0xFF
|
|
#define SPX_NOT_INSTALLED 0x00
|
|
#define SPX_CONNECTION_OK 0x00
|
|
#define SPX_CONNECTION_STARTED 0x00
|
|
#define SPX_CONNECTION_ESTABLISHED 0x00
|
|
#define SPX_PACKET_SUCCESSFUL 0x00
|
|
#define SPX_SOCKET_NOT_OPENED 0xFF
|
|
#define SPX_MALFORMED_PACKET 0xFD
|
|
#define SPX_PACKET_OVERFLOW 0xFD
|
|
#define SPX_LISTEN_CANCELED 0xFC
|
|
#define SPX_CONNECTION_TABLE_FULL 0xEF
|
|
#define SPX_INVALID_CONNECTION 0xEE
|
|
#define SPX_NO_ANSWER_FROM_TARGET 0xED
|
|
#define SPX_CONNECTION_FAILED 0xED
|
|
#define SPX_CONNECTION_TERMINATED 0xED
|
|
#define SPX_TERMINATED_POORLY 0xEC
|
|
|
|
#ifdef _cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern int IPXCancelEvent(ECB far *);
|
|
extern void cdecl IPXCloseSocket(WORD);
|
|
extern void IPXDisconnectFromTarget(BYTE far *);
|
|
extern void IPXGetInternetworkAddress(BYTE far *);
|
|
extern WORD cdecl IPXGetIntervalMarker(void);
|
|
extern int cdecl IPXGetLocalTarget(BYTE far *, BYTE far *, int far *);
|
|
extern BYTE cdecl IPXInitialize(void);
|
|
extern void IPXListenForPacket(ECB far *);
|
|
extern int cdecl IPXOpenSocket(BYTE far *, BYTE);
|
|
extern int cdecl _IPXPacket(ECB far *, WORD);
|
|
extern void cdecl _IPXrequest(WORD, ECB far *, WORD);
|
|
extern void cdecl IPXRelinquishControl(void);
|
|
extern void IPXScheduleIPXEvent(WORD, ECB far *);
|
|
extern void IPXScheduleSpecialEvent(WORD, ECB far *);
|
|
extern void IPXSendPacket(ECB far *);
|
|
extern void cdecl SPXAbortConnection(WORD);
|
|
extern int cdecl SPXEstablishConnection(BYTE, BYTE, WORD far *,
|
|
ECB far *);
|
|
extern int SPXGetConnectionStatus(WORD, CONNECTION_INFO far *);
|
|
extern int cdecl SPXInitialize(BYTE far *, BYTE far *,
|
|
WORD far *, WORD far *);
|
|
extern void cdecl SPXListenForConnection(BYTE, BYTE, ECB far *);
|
|
extern void cdecl SPXListenForSequencedPacket(ECB far *);
|
|
extern int cdecl _SPXrequest(WORD, ECB far *, WORD);
|
|
extern void SPXSendSequencedPacket(WORD, ECB far *);
|
|
extern void SPXTerminateConnection(WORD, ECB far *);
|
|
|
|
#ifdef _cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|