From 5a84ba2361cecade0343b88f696b6a63454cc3c6 Mon Sep 17 00:00:00 2001
From: "Luke T. Shumaker" <lukeshu@lukeshu.com>
Date: Sun, 23 Feb 2025 09:24:31 -0700
Subject: Pull out libhw/generic/io.h, have it enforce iovecs everywhere

---
 libhw/rp2040_include/libhw/rp2040_hwspi.h |  1 +
 libhw/rp2040_include/libhw/w5500.h        | 10 ++++++++++
 2 files changed, 11 insertions(+)

(limited to 'libhw/rp2040_include')

diff --git a/libhw/rp2040_include/libhw/rp2040_hwspi.h b/libhw/rp2040_include/libhw/rp2040_hwspi.h
index 53a7b03..76e0709 100644
--- a/libhw/rp2040_include/libhw/rp2040_hwspi.h
+++ b/libhw/rp2040_include/libhw/rp2040_hwspi.h
@@ -25,6 +25,7 @@ struct rp2040_hwspi {
 	uint    pin_cs;
 	END_PRIVATE(LIBHW_RP2040_HWSPI_H)
 };
+LO_IMPLEMENTATION_H(io_duplex_readwriter, struct rp2040_hwspi, rp2040_hwspi)
 LO_IMPLEMENTATION_H(spi, struct rp2040_hwspi, rp2040_hwspi)
 
 /**
diff --git a/libhw/rp2040_include/libhw/w5500.h b/libhw/rp2040_include/libhw/w5500.h
index 98e54ec..51effba 100644
--- a/libhw/rp2040_include/libhw/w5500.h
+++ b/libhw/rp2040_include/libhw/w5500.h
@@ -40,8 +40,18 @@ struct _w5500_socket {
 
 	END_PRIVATE(LIBHW_W5500_H)
 };
+
+LO_IMPLEMENTATION_H(io_closer, struct _w5500_socket, w5500_tcplist)
 LO_IMPLEMENTATION_H(net_stream_listener, struct _w5500_socket, w5500_tcplist)
+
+LO_IMPLEMENTATION_H(io_reader, struct _w5500_socket, w5500_tcp)
+LO_IMPLEMENTATION_H(io_writer, struct _w5500_socket, w5500_tcp)
+LO_IMPLEMENTATION_H(io_readwriter, struct _w5500_socket, w5500_tcp)
+LO_IMPLEMENTATION_H(io_closer, struct _w5500_socket, w5500_tcp)
+LO_IMPLEMENTATION_H(io_bidi_closer, struct _w5500_socket, w5500_tcp)
 LO_IMPLEMENTATION_H(net_stream_conn, struct _w5500_socket, w5500_tcp)
+
+LO_IMPLEMENTATION_H(io_closer, struct _w5500_socket, w5500_udp)
 LO_IMPLEMENTATION_H(net_packet_conn, struct _w5500_socket, w5500_udp)
 
 struct w5500 {
-- 
cgit v1.2.3-2-g168b