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.
268 lines
5.3 KiB
268 lines
5.3 KiB
/***************************************************************************
|
|
*
|
|
* File Name: ./hpsnmp/nwlib.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
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
***************************************************************************/
|
|
|
|
#ifndef _NWDLLS_
|
|
#define _NWDLLS_
|
|
|
|
|
|
#if !defined(_COLA)
|
|
|
|
#if !defined(_IPX)
|
|
|
|
#error This file is used for IPX-based programs
|
|
|
|
#elif !defined(__LARGE__)
|
|
|
|
#error The DOS and Windows versions must be compiled in LARGE model
|
|
|
|
#endif /* _IPX, __LARGE__ */
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#ifdef _WIN
|
|
#include <windows.h>
|
|
#endif
|
|
|
|
#include "mydefs.h"
|
|
|
|
#define FARDATAPTR(type,var) type far *var
|
|
#define FARCODEPTR(type,var) type (far *var)()
|
|
|
|
#ifdef _WIN
|
|
#define WINDEF(type,var) type var;
|
|
#define WINDEF2(type,var) type var,
|
|
#define WINDEF3(type,var) type var
|
|
#define WINPAR(parameter) (parameter),
|
|
#define WINPAR2(parameter) (parameter)
|
|
#else
|
|
#define PASCAL
|
|
#define WINDEF(type,var) /* nothing */
|
|
#define WINDEF2(type,var) /* nothing */
|
|
#define WINDEF3(type,var) /* nothing */
|
|
#define WINPAR(parameter) /* nothing */
|
|
#define WINPAR2(parameter) /* nothing */
|
|
#endif /* _WIN */
|
|
|
|
typedef struct IPXAddress {
|
|
uchar network[4]; /* high-low */
|
|
uchar node[6]; /* high-low */
|
|
uchar socket[2]; /* high-low */
|
|
} IPXAddress;
|
|
|
|
typedef struct IPXHeader {
|
|
ushort checkSum; /* high-low */
|
|
ushort length; /* high-low */
|
|
uchar transportControl;
|
|
uchar packetType;
|
|
IPXAddress destination;
|
|
IPXAddress source;
|
|
} IPXHeader;
|
|
|
|
typedef struct ECBFragment {
|
|
FARDATAPTR(void,address);
|
|
ushort size; /* low-high */
|
|
} ECBFragment;
|
|
|
|
typedef struct ECB {
|
|
FARDATAPTR(void, linkAddress);
|
|
FARCODEPTR(void, ESRAddress);
|
|
uchar inUseFlag;
|
|
uchar completionCode;
|
|
ushort socketNumber; /* high-low */
|
|
uchar IPXWorkspace[4]; /* N/A */
|
|
uchar driverWorkspace[12]; /* N/A */
|
|
uchar immediateAddress[6]; /* high-low */
|
|
ushort fragmentCount; /* low-high */
|
|
ECBFragment fragmentDescriptor[5];
|
|
} ECB;
|
|
|
|
|
|
/* prototypes for indirect calls */
|
|
extern int far PASCAL IPXOpenSocket(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
ushort far *socket,
|
|
uchar socketType
|
|
);
|
|
|
|
extern void far PASCAL IPXRelinquishControl(
|
|
void
|
|
);
|
|
|
|
extern void far PASCAL IPXYield(
|
|
void
|
|
);
|
|
|
|
extern void far PASCAL IPXCloseSocket(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
ushort socket
|
|
);
|
|
|
|
extern void far PASCAL IPXSendPacket(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
ECB far *eventControlBlock
|
|
);
|
|
|
|
extern int far PASCAL IPXGetLocalTarget(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
uchar far *destination,
|
|
uchar far *immediateAddress,
|
|
int far *transportTime
|
|
);
|
|
|
|
extern ushort far PASCAL GetNetWareShellVersion(
|
|
uchar far *a1,
|
|
uchar far *a2,
|
|
uchar far *a3
|
|
);
|
|
|
|
extern void far PASCAL IPXListenForPacket(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
ECB far *eventControlBlock
|
|
);
|
|
|
|
extern int far PASCAL IPXSPXDeinit(
|
|
WINDEF3(ulong,IPXTaskID)
|
|
);
|
|
|
|
extern int far PASCAL IPXCancelEvent(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
ECB far *eventControlBlock
|
|
);
|
|
|
|
extern ushort far PASCAL IPXGetMaxPacketSize(
|
|
void
|
|
);
|
|
|
|
extern void far PASCAL IPXGetInternetworkAddress(
|
|
WINDEF2(ulong,IPXTaskID)
|
|
uchar far *internetAddress
|
|
);
|
|
|
|
ushort DllLoadAll(
|
|
void
|
|
);
|
|
|
|
ushort DllUnloadAll(
|
|
void
|
|
);
|
|
|
|
extern ushort far PASCAL GetBinderyObjectName(
|
|
ulong objectID,
|
|
char far *objectName,
|
|
ushort far *objectType
|
|
);
|
|
|
|
extern ushort far PASCAL ScanBinderyObject(
|
|
char far *searchObjectName,
|
|
ushort searchObjectType,
|
|
ulong far *objectID,
|
|
char far *objectName,
|
|
ushort far *objectType,
|
|
uchar far *objectHasProperties,
|
|
uchar far *objectFlag,
|
|
uchar far *objectSecurity
|
|
);
|
|
|
|
extern ushort far PASCAL GetBinderyObjectID(
|
|
char far *objectName,
|
|
ushort objectType,
|
|
ulong far *objectID
|
|
);
|
|
|
|
extern ushort far PASCAL GetInternetAddress(
|
|
ulong connectionNumber,
|
|
uchar far *networkNumber,
|
|
uchar far *physicalNodeAddress,
|
|
ushort far *socketNumber
|
|
);
|
|
|
|
extern ushort far PASCAL ReadPropertyValue(
|
|
char far *objectName,
|
|
ushort objectType,
|
|
char far *propertyName,
|
|
ushort segmentNumber,
|
|
uchar far *propertyValue,
|
|
uchar far *moreSegments,
|
|
uchar far *propertyFlags
|
|
);
|
|
|
|
extern ushort far PASCAL _ShellRequest(
|
|
uchar functionNumber,
|
|
uchar far *sendPacket,
|
|
uchar far *replyPacket
|
|
);
|
|
|
|
|
|
#ifdef _WIN
|
|
|
|
extern int far PASCAL IPXInitialize(
|
|
WINDEF2(ulong far *,IPXTaskID)
|
|
ushort maxECBs,
|
|
ushort maxPacketSize
|
|
);
|
|
|
|
extern ushort far PASCAL IPXGetIntervalMarker(
|
|
WINDEF3(ulong,IPXTaskID)
|
|
);
|
|
|
|
#else
|
|
|
|
extern ushort GetConnectionNumber(
|
|
void
|
|
);
|
|
|
|
extern int cdecl IPXInitialize(
|
|
void
|
|
);
|
|
|
|
extern ushort far IPXGetIntervalMarker(
|
|
void
|
|
);
|
|
|
|
#endif /* _WIN */
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* _COLA */
|
|
|
|
#endif /* _NWDLLS */
|