summaryrefslogtreecommitdiff
path: root/libhw/host_include
diff options
context:
space:
mode:
Diffstat (limited to 'libhw/host_include')
-rw-r--r--libhw/host_include/libhw/host_alarmclock.h27
-rw-r--r--libhw/host_include/libhw/host_net.h11
2 files changed, 31 insertions, 7 deletions
diff --git a/libhw/host_include/libhw/host_alarmclock.h b/libhw/host_include/libhw/host_alarmclock.h
new file mode 100644
index 0000000..89df68a
--- /dev/null
+++ b/libhw/host_include/libhw/host_alarmclock.h
@@ -0,0 +1,27 @@
+/* libhw/host_alarmclock.h - <libhw/generic/alarmclock.h> implementation for hosted glibc
+ *
+ * Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+#ifndef _LIBHW_HOST_ALARMCLOCK_H_
+#define _LIBHW_HOST_ALARMCLOCK_H_
+
+#include <stdbool.h> /* for bool */
+#include <time.h> /* for clockid_t, timer_t */
+
+#include <libmisc/private.h>
+#include <libhw/generic/alarmclock.h>
+
+struct hostclock {
+ clockid_t clock_id;
+
+ BEGIN_PRIVATE(LIBHW_HOST_ALARMCLOCK_H)
+ bool initialized;
+ timer_t timer_id;
+ struct alarmclock_trigger *queue;
+ END_PRIVATE(LIBHW_HOST_ALARMCLOCK_H)
+};
+LO_IMPLEMENTATION_H(alarmclock, struct hostclock, hostclock)
+
+#endif /* _LIBHW_HOST_ALARMCLOCK_H_ */
diff --git a/libhw/host_include/libhw/host_net.h b/libhw/host_include/libhw/host_net.h
index bfef5c9..fced229 100644
--- a/libhw/host_include/libhw/host_net.h
+++ b/libhw/host_include/libhw/host_net.h
@@ -1,6 +1,6 @@
/* libhw/host_net.h - <libhw/generic/net.h> implementation for hosted glibc
*
- * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com>
+ * Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
@@ -14,33 +14,30 @@
#include <libhw/generic/net.h>
struct _hostnet_tcp_conn {
- implements_net_stream_conn;
-
BEGIN_PRIVATE(LIBHW_HOST_NET_H)
int fd;
uint64_t read_deadline_ns;
END_PRIVATE(LIBHW_HOST_NET_H)
};
+LO_IMPLEMENTATION_H(net_stream_conn, struct _hostnet_tcp_conn, hostnet_tcp)
struct hostnet_tcp_listener {
- implements_net_stream_listener;
-
BEGIN_PRIVATE(LIBHW_HOST_NET_H)
int fd;
struct _hostnet_tcp_conn active_conn;
END_PRIVATE(LIBHW_HOST_NET_H)
};
+LO_IMPLEMENTATION_H(net_stream_listener, struct hostnet_tcp_listener, hostnet_tcplist)
void hostnet_tcp_listener_init(struct hostnet_tcp_listener *self, uint16_t port);
struct hostnet_udp_conn {
- implements_net_packet_conn;
-
BEGIN_PRIVATE(LIBHW_HOST_NET_H)
int fd;
uint64_t read_deadline_ns;
END_PRIVATE(LIBHW_HOST_NET_H)
};
+LO_IMPLEMENTATION_H(net_packet_conn, struct hostnet_udp_conn, hostnet_udp)
void hostnet_udp_conn_init(struct hostnet_udp_conn *self, uint16_t port);