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