open-insight/SYSPROG/STPROCINS/MSWIN_WINSOCK_EQUATES.txt
2024-03-25 15:17:34 -07:00

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
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////