struct lumiera_plugin_audio_interface_1 { size_t size; // Now the prototypes for the interface AudioSample (*sample_normalize_limit_1)(AudioSample self, int limit); unsigned (*sample_rate_1) (AudioSample self); AudioSample (*sample_set_rate_1) (AudioSample self, unsigned rate); // a later version might take a double as limit AudioSample (*sample_normalize_limit_2)(AudioSample self, double limit); }