Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,23 @@ This port follows the same model as the POSIX wrapper:
- Socket wrappers serialize stack access with a mutex
- Blocking operations wait on callback-driven wakeups (instead of busy polling)

## Documentation

- [API reference](docs/API.md): core stack, socket, and protocol-client APIs
- [Porting guide](docs/porting_guide.md): designing device drivers (with and without DMA) and porting wolfIP to a new operating system

Module how-tos:

- [TLS over wolfIP](docs/tls_howto.md): running wolfSSL/TLS on wolfIP sockets, the I/O-callback bridge, and non-blocking handshakes
- [HTTP/HTTPS server](docs/http_server_howto.md): the `src/http/` server module, handler registration, and enabling HTTPS
- [IPsec ESP](docs/ipsec_esp_howto.md): securing traffic with ESP transport mode, SA setup, and Linux `ip xfrm` interop
- [wolfGuard (FIPS WireGuard)](docs/wolfguard_howto.md): the in-stack WireGuard tunnel, peer/key setup, and kernel interop
- [TFTP](docs/tftp_howto.md): the TFTP client/server module, callback wiring, and the firmware-download pattern
- [DHCP & DNS clients](docs/dhcp_dns_howto.md): acquiring a lease, resolving names, and the poll-loop lifecycle
- [Advanced IPv4](docs/advanced_ipv4_howto.md): multicast/IGMP, IPv4 forwarding, multiple interfaces, and loopback

- [Migrating from lwIP](docs/migrating_from_lwIP.md): mapping lwIP concepts and APIs onto wolfIP

## Source Layout

- `src/wolfip.c`: core TCP/IP stack
Expand Down
15 changes: 15 additions & 0 deletions docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,21 @@ wolfIP is a minimal TCP/IP stack designed for resource-constrained embedded syst
- TFTP (RFC 1350, RFC 2347, RFC 2348, RFC 2349, RFC 7440) via the reusable `src/tftp/` module
- UDP (RFC 768) - unicast, optional IPv4 multicast with `IP_MULTICAST`
- TCP (RFC 793) with options (Timestamps, MSS)
- IPsec ESP (RFC 4303) - transport mode, manual keying, with `WOLFIP_ESP`

## Module How-To Guides

The core socket and stack APIs are documented below. Optional modules and
features have dedicated getting-started guides:

- [TLS over wolfIP](tls_howto.md) — running wolfSSL/TLS on wolfIP sockets (`WOLFSSL_WOLFIP`), the I/O-callback bridge, and non-blocking handshakes.
- [HTTP/HTTPS server](http_server_howto.md) — the `src/http/` server module (`WOLFIP_ENABLE_HTTP`), handler registration, and enabling HTTPS via a `WOLFSSL_CTX`.
- [IPsec ESP how-to](ipsec_esp_howto.md) — build with `WOLFIP_ESP`, install Security Associations, and interoperate with Linux `ip xfrm`.
- [wolfGuard (FIPS WireGuard)](wolfguard_howto.md) — the in-stack WireGuard tunnel (`WOLFGUARD`), peer/key setup, and kernel interop.
- [TFTP how-to](tftp_howto.md) — the callback-driven, allocation-free TFTP client/server in `src/tftp/`, including the firmware-download pattern.
- [DHCP & DNS clients](dhcp_dns_howto.md) — acquiring a lease, resolving names with `nslookup`, and the poll-loop lifecycle.
- [Advanced IPv4](advanced_ipv4_howto.md) — multicast/IGMP, IPv4 forwarding, multiple interfaces, and loopback.
- [Porting guide](porting_guide.md) — writing device drivers and porting wolfIP to a new OS.

## Build Integration

Expand Down
Loading
Loading