From 467c9e2bdbe1192635c786b4ae2120e2ffc7fb63 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 23 Feb 2025 09:24:31 -0700 Subject: libhw/generic/net.h: Tidy up the interfaces --- libhw_generic/include/libhw/generic/io.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'libhw_generic/include/libhw/generic/io.h') diff --git a/libhw_generic/include/libhw/generic/io.h b/libhw_generic/include/libhw/generic/io.h index 681c5ef..9128bd3 100644 --- a/libhw_generic/include/libhw/generic/io.h +++ b/libhw_generic/include/libhw/generic/io.h @@ -9,6 +9,8 @@ #include /* for size_t */ +#include + /* structs ********************************************************************/ #if __unix__ @@ -26,4 +28,25 @@ struct duplex_iovec { size_t iov_len; }; +/* basic interfaces ***********************************************************/ + +/** + * Return 0 on success, -errno on error. + */ +#define io_closer_LO_IFACE \ + LO_FUNC(int, close) +LO_INTERFACE(io_closer) +#define io_close(c) LO_CALL(c, close) + +/** + * All methods return 0 on success, -errno on error. + */ +#define io_bidi_closer_LO_IFACE \ + LO_NEST(io_closer) \ + LO_FUNC(int, close_read) \ + LO_FUNC(int, close_write) +LO_INTERFACE(io_bidi_closer) +#define io_close_read(c) LO_CALL(c, close_read) +#define io_close_write(c) LO_CALL(c, close_write) + #endif /* _LIBHW_GENERIC_IO_H_ */ -- cgit v1.2.3-2-g168b