1#pragma once
2
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7void _pw_init_interfaces();
8/*
9 * Initialize interface ids.
10 * Declared with [[ gnu::constructor ]] attribute and automatically called
11 * before main().
12 *
13 * However, the order of initialization is undefined and other modules
14 * that use interfaces must call it explicitly from their constructors.
15 *
16 * This function is idempotent.
17 */
18
19PwInterface_Generic* _pw_make_interface(PwType* type, uint16_t interface_id);
20/*
21 * Allocate and initialize interface structure for `type` and build all MRO chains for methods.
22 */
23
24#ifdef __cplusplus
25}
26#endif