SDK Multiplataforma en C logo

SDK Multiplataforma en C

Buffers

❮ Anterior
Siguiente ❯

Bloques de memoria genéricos, reservados dinámicamente.


Funciones

Buffer*buffer_create (...)
voidbuffer_destroy (...)
uint32_tbuffer_size (...)
byte_t*buffer_data (...)

Los objetos Buffer son, sencillamente, bloques de memoria reservados dinámicamente y almacenados en el Segmento Heap. Son útiles para compartir datos genéricos entre diferentes funciones o hebras. Para este último caso, deben estar protegidos por un Mutex si varios hilos pueden acceder a él de forma concurrente (no son thread-safe). Son de tamaño fijo. Una vez creados no se pueden re-dimensionar, aunque pueden ser re-escritos cuantas veces sea necesario.

  • Utiliza buffer_create para crear un bloque de memoria dinámica.
  • Utiliza buffer_destroy para liberar un bloque de memoria dinámica.
  • Utiliza buffer_data para obtener un puntero al bloque de memoria.

buffer_create ()

Crea un nuevo buffer.

Buffer*
buffer_create(const uint32_t size);
size

Tamaño del búfer en bytes.

Retorna

El nuevo búfer.


buffer_destroy ()

Destruye el búfer.

void
buffer_destroy(Buffer **buffer);
buffer

El búfer. Será puesto a NULL tras la destrucción.


buffer_size ()

Obtiene el tamaño del búfer.

uint32_t
buffer_size(const Buffer *buffer);
buffer

Búfer.

Retorna

El tamaño del búfer en bytes.


buffer_data ()

Obtiene un puntero al contenido del búfer.

byte_t*
buffer_data(Buffer *buffer);
buffer

Búfer.

Retorna

Puntero al contenido del búfer que puede ser utilizado para leer o escribir.

❮ Anterior
Siguiente ❯