# Annotation Glossary

### A

allow-none

  NULL is OK, both for passing and for returning.

### C

closure

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

### D

destroy

  This parameter is a 'destroy_data', for callbacks.

### E

element-type

  Generics and defining elements of containers and arrays.

### O

out

  Parameter for returning results. Default is transfer full.

### S

scope async

  The callback is valid until first called.

scope notified

  The callback is valid until the GDestroyNotify argument is called.

### T

transfer container

  Free data container after the code is done.

transfer full

  Free data after the code is done.

transfer none

  Don't free data after the code is done.

### 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.