- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
70 lines
2.2 KiB
C++
70 lines
2.2 KiB
C++
/*
|
|
* wsnetbs.h
|
|
* Copyright (c) 1994-1995, Microsoft Corp. All rights reserved.
|
|
*
|
|
* Windows Sockets include file for NETBIOS. This file contains all
|
|
* standardized NETBIOS information. Include this header file after
|
|
* winsock.h.
|
|
*
|
|
*/
|
|
|
|
#ifndef _WSNETBS_
|
|
#define _WSNETBS_
|
|
|
|
/*
|
|
* This is the structure of the SOCKADDR structure for NETBIOS.
|
|
*
|
|
*/
|
|
|
|
#define NETBIOS_NAME_LENGTH 16
|
|
|
|
typedef struct sockaddr_nb {
|
|
short snb_family;
|
|
u_short snb_type;
|
|
char snb_name[NETBIOS_NAME_LENGTH];
|
|
} SOCKADDR_NB, *PSOCKADDR_NB,FAR *LPSOCKADDR_NB;
|
|
|
|
/*
|
|
* Bit values for the snb_type field of SOCKADDR_NB.
|
|
*
|
|
*/
|
|
|
|
#define NETBIOS_UNIQUE_NAME (0x0000)
|
|
#define NETBIOS_GROUP_NAME (0x0001)
|
|
#define NETBIOS_TYPE_QUICK_UNIQUE (0x0002)
|
|
#define NETBIOS_TYPE_QUICK_GROUP (0x0003)
|
|
|
|
/*
|
|
* A macro convenient for setting up NETBIOS SOCKADDRs.
|
|
*
|
|
*/
|
|
|
|
#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \
|
|
{ \
|
|
int _i; \
|
|
(_snb)->snb_family = AF_NETBIOS; \
|
|
(_snb)->snb_type = (_type); \
|
|
for (_i=0; _i<NETBIOS_NAME_LENGTH-1; _i++) { \
|
|
(_snb)->snb_name[_i] = ' '; \
|
|
} \
|
|
for (_i=0; *((_name)+_i) != '\0' && _i<NETBIOS_NAME_LENGTH-1; _i++) { \
|
|
(_snb)->snb_name[_i] = *((_name)+_i); \
|
|
} \
|
|
(_snb)->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \
|
|
}
|
|
|
|
/*
|
|
* To open a NetBIOS socket, call the socket() function as follows:
|
|
*
|
|
* s = socket( AF_NETBIOS, {SOCK_SEQPACKET|SOCK_DGRAM}, -Lana );
|
|
*
|
|
* where Lana is the NetBIOS Lana number of interest. For example, to
|
|
* open a socket for Lana 2, specify -2 as the "protocol" parameter
|
|
* to the socket() function.
|
|
*
|
|
*/
|
|
|
|
|
|
#endif
|
|
|