windows-nt/Source/XPSP1/NT/base/mvdm/softpc.new/base/inc/tcpip.h
2020-09-26 16:20:57 +08:00

160 lines
3.7 KiB
C

/*[
* Product: SoftPC-AT Revision 3.0
* Name: tcpip.h
* Derived From: Original
* Author: Jase
* Created On: Jan 22 1993
* Sccs ID: 07/14/93 @(#)tcpip.h 1.3
* Purpose: Defines & typedefs for the TCP/IP implementation.
*
* (c)Copyright Insignia Solutions Ltd., 1990. All rights reserved.
*
* Rcs ID:
* $Source$
* $Revision$
* $Date$
* $Author$
]*/
/********************************************************/
/* DEFINES */
/* LAN Workplace function codes */
#define kTCPAccept 0x01
#define kTCPBind 0x02
#define kTCPClose 0x03
#define kTCPConnect 0x04
#define kTCPGetMyIPAddr 0x05
#define kTCPGetMyMacAddr 0x06
#define kTCPGetPeerName 0x07
#define kTCPGetSockName 0x08
#define kTCPGetSockOpt 0x09
#define kTCPGetSubnetMask 0x0a
#define kTCPIoctl 0x0b
#define kTCPListen 0x0c
#define kTCPSelect 0x0d
#define kTCPSetMyIPAddr 0x0e
#define kTCPSetSockOpt 0x0f
#define kTCPShutdown 0x10
#define kTCPSocket 0x11
#define kTCPRecv 0x12
#define kTCPRecvFrom 0x13
#define kTCPSend 0x14
#define kTCPSendTo 0x15
#define kTCPGetBootpVSA 0x16
#define kTCPGetSNMPInfo 0x17
#define kTCPGetPathInfo 0x18
/* LAN Workplace ioctl selectors */
#define kIoctlFionRead 26239
#define kIoctlFionBIO 26238
#define kIoctlAtMark 29477
#define kIoctlSetUrgHandler 3
/* LAN Workplace error numbers Unix doesn't have */
#define EOK 0
/* LAN Workplace error numbers */
#define kEOK 0
#define kEBADF 9
#define kEINVAL 22
#define kEWOULDBLOCK 35
#define kEINPROGRESS 36
#define kEALREADY 37
#define kENOTSOCK 38
#define kEDESTADDRREQ 39
#define kEMSGSIZE 40
#define kEPROTOTYPE 41
#define kENOPROTOOPT 42
#define kEPROTONOSUPPORT 43
#define kESOCKTNOSUPPORT 44
#define kEOPNOTSUPP 45
#define kEPFNOSUPPORT 46
#define kEAFNOSUPPORT 47
#define kEADDRINUSE 48
#define kEADDRNOTAVAIL 49
#define kENETDOWN 50
#define kENETUNREACH 51
#define kENETRESET 52
#define kECONNABORTED 53
#define kECONNRESET 54
#define kENOBUFS 55
#define kEISCONN 56
#define kENOTCONN 57
#define kESHUTDOWN 58
#define kETOOMANYREFS 59
#define kETIMEDOUT 60
#define kECONNREFUSED 61
#define kELOOP 62
#define kENAMETOOLONG 63
#define kEHOSTDOWN 64
#define kEHOSTUNREACH 65
#define kEASYNCNOTSUPP 67
/* items in error table */
#define kErrorTableEntries \
(sizeof (ErrorTable) / sizeof (ErrorTable [0]))
/* asynchronous request mask */
#define kNoWaitMask 0x80
/* maximum packet size */
#define kInitialTCPBufferSize 1024
/* config keys */
#define sScriptKey "SCRIPT"
#define sProfileKey "PROFILE"
#define sLWPCFGKey "LWP_CFG"
#define sTCPCFGKey "TCP_CFG"
#define sLANGCFGKey "LANG_CFG"
/* default values for config keys */
#define sDefaultScriptPath "C:\\NET\\SCRIPT"
#define sDefaultProfilePath "C:\\NET\\PROFILE"
#define sDefaultLWPCFGPath "C:\\NET\\HSTACC"
#define sDefaultTCPCFGPath "C:\\NET\\TCP"
#define sDefaultLANGCFGPath "C:\\NET\\BIN"
/********************************************************/
/* TYPEDEFS */
typedef struct
{
IBOOL tcpInitialised;
int tcpBufSize;
char *tcpBuffer;
} TCPGlobalRec;
typedef struct
{
IU8 hostError;
IU8 lanwError;
} ErrorConvRec;
/********************************************************/
/* PROTOTYPES */
/* GLOBAL */
/* TCP/IP entry points */
GLOBAL void TCPInit IPT0 ();
GLOBAL void TCPEntry IPT0 ();
GLOBAL void TCPInterrupt IPT0 ();
GLOBAL void TCPTick IPT0 ();
GLOBAL void TCPEvent IPT0 ();
#ifndef PROD
extern void force_yoda IPT0 ();
#endif
/* host functions accessed */
extern void host_raise_sigio_exception IPT0 ();
/********************************************************/