175 lines
7.1 KiB
Plaintext
175 lines
7.1 KiB
Plaintext
compile insert msWin_WinSock_Equates
|
|
/*
|
|
** Copyright (C) 2012-2022 Revelation Software Inc. All Rights Reserved **
|
|
|
|
Author Mr C
|
|
Date Feb 2022
|
|
Purpose Equates for use with Windows WinSock functions
|
|
|
|
Comments
|
|
========
|
|
|
|
Amended Date Reason
|
|
======= ==== ======
|
|
|
|
*/
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
#ifndef _MSWIN_WINSOCK_EQUATES_
|
|
#define _MSWIN_WINSOCK_EQUATES_
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
declare function msWin_WSAStartup, msWin_WSACleanUp, msWin_GetLastError
|
|
declare function msWin_GetHostByName, msWin_IcmpCreateFile
|
|
declare function msWin_IcmpCloseHandle, msWin_IcmpSendEcho
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
$uses @APPID*DLLSTRUCT**MSWIN_WSADATA
|
|
$uses @APPID*DLLSTRUCT**MSWIN_HOSTENT
|
|
$uses @APPID*DLLSTRUCT**MSWIN_ICMP_ECHO_REPLY
|
|
$uses @APPID*DLLSTRUCT**MSWIN_IP_OPTION_INFORMATION
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Address families.
|
|
|
|
equ AF_UNSPEC$ to 0 ; // unspecified
|
|
equ AF_UNIX$ to 1 ; // local to host (pipes, portals)
|
|
equ AF_INET$ to 2 ; // internetwork: UDP, TCP, etc.
|
|
equ AF_IMPLINK$ to 3 ; // arpanet imp addresses
|
|
equ AF_PUP$ to 4 ; // pup protocols: e.g. BSP
|
|
equ AF_CHAOS$ to 5 ; // mit CHAOS protocols
|
|
equ AF_IPX$ to 6 ; // IPX and SPX
|
|
equ AF_NS$ to 6 ; // XEROX NS protocols
|
|
equ AF_ISO$ to 7 ; // ISO protocols
|
|
equ AF_OSI$ to AF_ISO$ ; // OSI is ISO
|
|
equ AF_ECMA$ to 8 ; // european computer manufacturers
|
|
equ AF_DATAKIT$ to 9 ; // datakit protocols
|
|
equ AF_CCITT$ to 10 ; // CCITT protocols, X.25 etc
|
|
equ AF_SNA$ to 11 ; // IBM SNA
|
|
equ AF_DECnet$ to 12 ; // DECnet
|
|
equ AF_DLI$ to 13 ; // Direct data link interface
|
|
equ AF_LAT$ to 14 ; // LAT
|
|
equ AF_HYLINK$ to 15 ; // NSC Hyperchannel
|
|
equ AF_APPLETALK$ to 16 ; // AppleTalk
|
|
equ AF_NETBIOS$ to 17 ; // NetBios-style addresses
|
|
equ AF_VOICEVIEW$ to 18 ; // VoiceView
|
|
equ AF_FIREFOX$ to 19 ; // FireFox
|
|
equ AF_UNKNOWN1$ to 20 ; // Somebody is using this!
|
|
equ AF_BAN$ to 21 ; // Banyan
|
|
|
|
equ AF_MAX$ to 22
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
equ WSADESCRIPTION_LEN$ to 256
|
|
equ WSASYS_STATUS_LEN$ to 128
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// WSADATA Structure equates - this structure is defined in the Windows
|
|
// API as:
|
|
//
|
|
// typedef struct WSAData {
|
|
// WORD wVersion;
|
|
// WORD wHighVersion;
|
|
// unsigned short iMaxSockets;
|
|
// unsigned short iMaxUdpDg;
|
|
// char FAR * lpVendorInfo;
|
|
// char szDescription[WSADESCRIPTION_LEN+1];
|
|
// char szSystemStatus[WSASYS_STATUS_LEN+1];
|
|
// } WSADATA;
|
|
|
|
equ WSADATA$ to "MSWIN_WSADATA"
|
|
|
|
equ WSADATA_POS_VERSION$ to 1
|
|
equ WSADATA_POS_WHIGHVERSION$ to 2
|
|
equ WSADATA_POS_IMAXSOCKETS$ to 3
|
|
equ WSADATA_POS_IMAXUDPDG$ to 4
|
|
equ WSADATA_POS_LPVENDORINFO$ to 5
|
|
equ WSADATA_POS_SZDESCRIPTION$ to 6
|
|
equ WSADATA_POS_SZSYSTEMSTATUS$ to 7
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// HOSTENT Structure equates:
|
|
//
|
|
// typedef struct hostent {
|
|
// char *h_name;
|
|
// char **h_aliases;
|
|
// short h_addrtype;
|
|
// short h_length;
|
|
// char **h_addr_list;
|
|
// } HOSTENT, *PHOSTENT, *LPHOSTENT;
|
|
|
|
equ HOSTENT$ to "MSWIN_HOSTENT"
|
|
|
|
equ HOSTENT_POS_H_HAME$ to 1
|
|
equ HOSTENT_POS_H_ALIASES$ to 2
|
|
equ HOSTENT_POS_H_ADDRTYPE$ to 3
|
|
equ HOSTENT_POS_H_LENGTH$ to 4
|
|
equ HOSTENT_POS_H_ADDR_LIST$ to 5
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
equ ICMP_INVALID_HANDLE_VALUE$ to -1
|
|
|
|
// IP_OPTION_INFORMATION is defined as:
|
|
//
|
|
// typedef struct ip_option_information {
|
|
// UCHAR Ttl;
|
|
// UCHAR Tos;
|
|
// UCHAR Flags;
|
|
// UCHAR OptionsSize;
|
|
// PUCHAR OptionsData;
|
|
// } IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;
|
|
|
|
equ IP_OPTION_INFORMATION$ to "MSWIN_IP_OPTION_INFORMATION"
|
|
|
|
equ IPOI_POS_TTL$ to 1
|
|
equ IPOI_POS_TOS$ to 2
|
|
equ IPOI_POS_FLAGS$ to 3
|
|
equ IPOI_POS_OPTIONSSIZE$ to 4
|
|
equ IPOI_POS_OPTIONSDATA$ to 5
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// ICMP_ECHO_REPLY is defined as:
|
|
//
|
|
// typedef struct icmp_echo_reply {
|
|
// IPAddr Address;
|
|
// ULONG Status;
|
|
// ULONG RoundTripTime;
|
|
// USHORT DataSize;
|
|
// USHORT Reserved;
|
|
// PVOID Data;
|
|
// struct ip_option_information Options;
|
|
// } ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;
|
|
|
|
equ ICMP_ECHO_REPLY$ to "MSWIN_ICMP_ECHO_REPLY"
|
|
|
|
equ ICMPER_POS_ADDRESS$ to 1
|
|
equ ICMPER_POS_STATUS$ to 2
|
|
equ ICMPER_POS_ROUNDTRIPTIME$ to 3
|
|
equ ICMPER_POS_DATASIZE$ to 4
|
|
equ ICMPER_POS_RESERVED$ to 5
|
|
equ ICMPER_POS_DATA$ to 6
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
#endif
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|