<div>Hi,<br></div><div><br></div><div>For the OSS window framework that I'm working on, the Wayland backend requires linking to the libraries. No problem here.<br></div><div><br></div><div>I wish to give an option to load the Wayland libraries at runtime, using `dlopen()`. The problem is that some functions are inline'd in the headers or part of the extension protocol, but also inline'd.<br></div><div><br></div><div>Examples:<br></div><div>1. `wl_registry_add_listener` from `wayland-client-protocol.h`<br></div><div>2. `xdg_surface_ack_configure` from `xdg-shell.h`<br></div><div><br></div><div>My question is, how forward compatible my library would be if instead of including those headers, I copy-paste the body content of these functions?<br></div><div><br></div><div>Example, I would copy-paste this content from `wl_registry_add_listener` directly to my library:<br></div><div><br></div><div>    return wl_proxy_add_listener((struct wl_proxy *) wl_registry, (void (**)(void)) listener, data);<br></div><div><br></div><div>Since `wl_proxy_add_listener` is a function that I can actually get the pointer using `dlopen()/dlsym()`, I wouldn't require any header.<br></div><div><br></div><div><br></div><div><br></div><div>Thanks for the attention,<br></div><div>Felipe<br></div>