Add README.md for each library module documenting API, platform backends, and usage. Add .gitignore for build artifacts. Remove pre-built binaries from version control. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# libsst-net
|
|
|
|
Cross-platform BSD-style socket abstraction in C.
|
|
|
|
## API
|
|
|
|
### Initialization
|
|
- `SST_Net_Init()` / `SST_Net_Shutdown()` -- WinSock init on Windows, no-op on POSIX
|
|
|
|
### Socket operations
|
|
- `SST_Net_Socket()` -- create socket (TCP or UDP, IPv4 or IPv6)
|
|
- `SST_Net_Bind()`, `SST_Net_Listen()`, `SST_Net_Accept()`, `SST_Net_Connect()`
|
|
- `SST_Net_Send()` / `SST_Net_Recv()` -- stream I/O
|
|
- `SST_Net_SendTo()` / `SST_Net_RecvFrom()` -- datagram I/O
|
|
- `SST_Net_SetNonblock()` -- toggle non-blocking mode
|
|
- `SST_Net_GetSockOpt()` / `SST_Net_SetSockOpt()`
|
|
- `SST_Net_Close()`
|
|
|
|
### Address management
|
|
- `SST_Net_InitAddress()`, `SST_Net_SetAddressFromString()`
|
|
- `SST_Net_GetAddressFamily()`, `SST_Net_GetAddressPort()`
|
|
- `SST_Net_AddressCompare()`, `SST_Net_AddressIsLocalhost()`
|
|
|
|
### I/O multiplexing
|
|
- `SST_Net_Select()` -- fd_set-based (via `SST_NetSocketSet`)
|
|
- `SST_Net_Poll()` -- poll-based (via `SST_NetPollDescriptorSet`)
|
|
|
|
### DNS
|
|
- `SST_Net_GetAddrInfo()` / `SST_Net_FreeAddrInfo()` -- forward lookup
|
|
- `SST_Net_GetNameInfo()` -- reverse lookup
|
|
|
|
## Platform backends
|
|
|
|
- **Win32** -- Winsock2, `WSAPoll`, `InetPton`/`InetNtop`
|
|
- **POSIX** -- standard BSD sockets, `poll()`, `inet_pton`/`inet_ntop`
|
|
|
|
All platform-specific error codes map to a unified `SST_NetResult` enum
|
|
(40+ codes).
|