From 4a6fbecab34616a7b16a859f9458a21b339bb6b0 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 2 Feb 2025 02:01:30 -0700 Subject: Have main() set `bootclock` --- libhw/host_include/libhw/host_alarmclock.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 libhw/host_include/libhw/host_alarmclock.h (limited to 'libhw/host_include') diff --git a/libhw/host_include/libhw/host_alarmclock.h b/libhw/host_include/libhw/host_alarmclock.h new file mode 100644 index 0000000..163fb9f --- /dev/null +++ b/libhw/host_include/libhw/host_alarmclock.h @@ -0,0 +1,29 @@ +/* libhw/host_alarmclock.h - implementation for hosted glibc + * + * Copyright (C) 2024-2025 Luke T. Shumaker + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +#ifndef _LIBHW_HOST_ALARMCLOCK_H_ +#define _LIBHW_HOST_ALARMCLOCK_H_ + +#include /* for bool */ +#include /* for clockid_t, timer_t */ + +#include +#include + +struct hostclock { + implements_alarmclock; + 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) +}; + +extern struct alarmclock_vtable hostclock_vtable; + +#endif /* _LIBHW_HOST_ALARMCLOCK_H_ */ -- cgit v1.2.3-2-g168b From 41ac4f8dfddc8d003cb3174d466a58fa14701d35 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 2 Feb 2025 02:01:30 -0700 Subject: libhw_generic: alarmclock: Use libobj instead of vcall.h --- libhw/host_include/libhw/host_alarmclock.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'libhw/host_include') diff --git a/libhw/host_include/libhw/host_alarmclock.h b/libhw/host_include/libhw/host_alarmclock.h index 163fb9f..89df68a 100644 --- a/libhw/host_include/libhw/host_alarmclock.h +++ b/libhw/host_include/libhw/host_alarmclock.h @@ -14,7 +14,6 @@ #include struct hostclock { - implements_alarmclock; clockid_t clock_id; BEGIN_PRIVATE(LIBHW_HOST_ALARMCLOCK_H) @@ -23,7 +22,6 @@ struct hostclock { struct alarmclock_trigger *queue; END_PRIVATE(LIBHW_HOST_ALARMCLOCK_H) }; - -extern struct alarmclock_vtable hostclock_vtable; +LO_IMPLEMENTATION_H(alarmclock, struct hostclock, hostclock) #endif /* _LIBHW_HOST_ALARMCLOCK_H_ */ -- cgit v1.2.3-2-g168b From 06eed899486daeec8ad2718c74d70f91fa0dbb25 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sun, 2 Feb 2025 02:01:30 -0700 Subject: libhw_generic: net: Use libobj instead of vcall.h --- libhw/host_include/libhw/host_net.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'libhw/host_include') 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 - implementation for hosted glibc * - * Copyright (C) 2024 Luke T. Shumaker + * Copyright (C) 2024-2025 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ @@ -14,33 +14,30 @@ #include 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); -- cgit v1.2.3-2-g168b