1#pragma once
2
3#include <uacpi/types.h>
4
5struct uacpi_shareable {
6 uacpi_u32 reference_count;
7};
8
9void uacpi_shareable_init(uacpi_handle);
10
11uacpi_bool uacpi_bugged_shareable(uacpi_handle);
12void uacpi_make_shareable_bugged(uacpi_handle);
13
14uacpi_u32 uacpi_shareable_ref(uacpi_handle);
15uacpi_u32 uacpi_shareable_unref(uacpi_handle);
16
17void uacpi_shareable_unref_and_delete_if_last(
18 uacpi_handle, void (*do_free)(uacpi_handle)
19);
20
21uacpi_u32 uacpi_shareable_refcount(uacpi_handle);
22