Annotation Glossary

C

closure

This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.

N

not nullable

NULL must not be passed as the value in, out, in-out; or as a return value.

nullable

NULL may be passed as the value in, out, in-out; or as a return value.

O

optional

NULL may be passed instead of a pointer to a location.

out

Parameter for returning results. Default is transfer full.

T

transfer full

The caller owns the data, and is responsible for free it.

transfer none

The data is owned by the callee, which is responsible of freeing it.

U

Unstable

Unstable interfaces are experimental or transitional. They are typically used to give outside developers early access to new or rapidly changing technology, or to provide an interim solution to a problem where a more general solution is anticipated. No claims are made about either source or binary compatibility from one minor release to the next. The Unstable interface level is a warning that these interfaces are subject to change without warning and should not be used in unbundled products. Given such caveats, customer impact need not be a factor when considering incompatible changes to an Unstable interface in a major or minor release. Nonetheless, when such changes are introduced, the changes should still be mentioned in the release notes for the affected release.