// Copyright 2017 Stefan Riha, Artem Popov
// Documentation copied from http://lv2plug.in/ns/lv2core/lv2.h
// Copyright text of the original C file:
// LV2 - An audio plugin interface specification.
// Copyright 2006-2012 Steve Harris, David Robillard.
//
// Based on LADSPA, Copyright 2000-2002 Richard W.E. Furse,
// Paul Barton-Davis, Stefan Westerfeld.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
//! Documentation of the corresponding C header files: http://lv2plug.in/ns/lv2core/.
use libc;
/**
Plugin Instance Handle.
This is a handle for one particular instance of a plugin. It is valid to
compare to NULL (or 0 for C++) but otherwise the host MUST NOT attempt to
interpret it.
*/
pub type LV2Handle = *mut c_void;
/**
Feature.
Features allow hosts to make additional functionality available to plugins
without requiring modification to the LV2 API. Extensions may define new
features and specify the `URI` and `data` to be used if necessary.
Some features, such as lv2:isLive, do not require the host to pass data.
*/
/**
Plugin Descriptor.
This structure provides the core functions necessary to instantiate and use
a plugin.
*/