<!--
{
  "documentType" : "article",
  "framework" : "GSS",
  "identifier" : "/documentation/GSS/buffer-management",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Buffer Management"
}
-->

# Buffer Management

Allocate and deallocate buffers with structures that hold a variety of data.

## Topics

### Buffer Data Structures

[`GSS_C_NO_OID`](/documentation/GSS/GSS_C_NO_OID)

Indicates a `NULL` [`gss_OID`](/documentation/GSS/gss_OID) object.

[`GSS_C_NO_BUFFER`](/documentation/GSS/GSS_C_NO_BUFFER)

The GSS buffer object has no value.

[`GSS_C_NO_BUFFER_SET`](/documentation/GSS/GSS_C_NO_BUFFER_SET)

The GSS buffer set object has no value.

[`GSS_C_EMPTY_BUFFER`](/documentation/GSS/GSS_C_EMPTY_BUFFER)

The GSS buffer object has no value, and its length set to zero.

[`GSS_C_NO_IOV_BUFFER`](/documentation/GSS/GSS_C_NO_IOV_BUFFER)

The GSS IOV buffer object has no value.

[`gss_qop_t`](/documentation/GSS/gss_qop_t)

A quality of protection setting.

[`gss_iov_buffer_t`](/documentation/GSS/gss_iov_buffer_t)

The structure for a vectored I/O buffer and its defined type.

[`gss_iov_buffer_desc`](/documentation/GSS/gss_iov_buffer_desc)

The structure for a vectored I/O buffer and its defined type.

[`gss_iov_buffer_desc_struct`](/documentation/GSS/gss_iov_buffer_desc_struct)

The structure for a vectored I/O buffer and its defined type.

[`gss_buffer_t`](/documentation/GSS/gss_buffer_t)

A pointer to a buffer descriptor that you use to exchange octet streams with many GSS-API functions.

[`gss_const_buffer_t`](/documentation/GSS/gss_const_buffer_t)

A pointer to an immutable buffer descriptor that you use to exchange octet streams with many GSS-API functions.

[`gss_buffer_set_t`](/documentation/GSS/gss_buffer_set_t)

A pointer to the descriptor that you use to manage an array of buffer descriptors.

[`gss_buffer_desc`](/documentation/GSS/gss_buffer_desc)

The buffer descriptor that you use to exchange octet streams with many GSS-API functions.

[`gss_buffer_desc_struct`](/documentation/GSS/gss_buffer_desc_struct)

The structure for a buffer descriptor that you use to exchange octet streams with many GSS-API functions.

[`gss_buffer_set_desc`](/documentation/GSS/gss_buffer_set_desc)

The descriptor that you use to manage an array of buffer descriptors.

[`gss_buffer_set_desc_struct`](/documentation/GSS/gss_buffer_set_desc_struct)

The structure for a buffer set descriptor that you use to manage an array of buffer descriptors.

### Allocation and Deallocation

[`gss_create_empty_buffer_set`](/documentation/GSS/gss_create_empty_buffer_set(_:_:))

Allocates an empty buffer set descriptor that you use to manage an array of buffers.

[`gss_add_buffer_set_member`](/documentation/GSS/gss_add_buffer_set_member(_:_:_:))

Copies the contents of a buffer into a buffer set.

[`gss_release_buffer`](/documentation/GSS/gss_release_buffer(_:_:))

Frees the memory associated with a single buffer descriptor.

[`gss_release_buffer_set`](/documentation/GSS/gss_release_buffer_set(_:_:))

Frees the memory associated with a buffer set descriptor and all the buffers it contains.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)