# TheNetNode 1.79 Win32 Port (MinGW-w64 / GCC 16)

## Build
- `makefile.mingw` neu erstellt
- Ziel: `bin\tnn32.exe`
- Aufruf: `make -f makefile.mingw`

## Geänderte Dateien
- `include/typedef.h` — BYTE/WORD/BOOLEAN unter `__WIN32__` nicht neu definieren
- `os/win32/winclude.h` — Windows-Header-Reihenfolge (winsock2, ws2tcpip, windows)
- `os/win32/win32.h` — `int` statt `WORD` für max_device etc.
- `os/win32/win32.c` — keine Änderung
- `os/win32/l1win32.c` — `max_device`/`used_l1ports`/`l1ptab`/`l2ptab` auf `int`
- `os/win32/init.c` — `tokenring_ports`/`sixpack_ports` auf `int`
- `os/win32/6pack.c` — `ctime((const time_t *)...)`
- `os/win32/6pack.h` — `iDescriptor`-Definition entkoppelt
- `os/win32/osipconv.c` — `extern struct sockaddr_in`
- `os/win32/ostcpip.c` — Definition `struct sockaddr_in`
- `os/win32/sys/dirent32.c` — `intptr_t` statt `long` für `_findfirst`-Handle
- `os/win32/sys/dirent32.h` — dito + `#include <stdint.h>`
- `src/l7cmds.c` — `(const time_t *)`-Cast für `localtime`
- `src/l7ccp.c` — `int c` statt `WORD c` in `l7tx` (fgetc/EOF-Bug)

## Ursachen der Bugs
Alle gefundenen Bugs hatten dieselbe Wurzel: Typgrößen-Unterschiede
zwischen MSVC-6 (Win32) und MinGW-w64 (Win64):
- `long` 32 Bit → `intptr_t` 64 Bit für Handle
- `WORD` signed → unsigned (`signed short` vs `unsigned short`)
- `time_t` 32 Bit → 64 Bit