Ruby 3.3.2p78 (2024-05-30 revision e5a195edf62fe1bf7146a191da13fa1c4fecbd71)
|
A wrapper around a contiguous block of allocated memory. More...
#include "prism/defines.h"
#include <assert.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | pm_buffer_t |
A pm_buffer_t is a simple memory buffer that stores data in a contiguous block of memory. More... | |
Functions | |
PRISM_EXPORTED_FUNCTION size_t | pm_buffer_sizeof (void) |
Return the size of the pm_buffer_t struct. | |
bool | pm_buffer_init_capacity (pm_buffer_t *buffer, size_t capacity) |
Initialize a pm_buffer_t with the given capacity. | |
PRISM_EXPORTED_FUNCTION bool | pm_buffer_init (pm_buffer_t *buffer) |
Initialize a pm_buffer_t with its default values. | |
PRISM_EXPORTED_FUNCTION char * | pm_buffer_value (pm_buffer_t *buffer) |
Return the value of the buffer. | |
PRISM_EXPORTED_FUNCTION size_t | pm_buffer_length (pm_buffer_t *buffer) |
Return the length of the buffer. | |
void | pm_buffer_append_zeroes (pm_buffer_t *buffer, size_t length) |
Append the given amount of space as zeroes to the buffer. | |
void | pm_buffer_append_format (pm_buffer_t *buffer, const char *format,...) PRISM_ATTRIBUTE_FORMAT(2 |
Append a formatted string to the buffer. | |
void void | pm_buffer_append_string (pm_buffer_t *buffer, const char *value, size_t length) |
Append a string to the buffer. | |
void | pm_buffer_append_bytes (pm_buffer_t *buffer, const uint8_t *value, size_t length) |
Append a list of bytes to the buffer. | |
void | pm_buffer_append_byte (pm_buffer_t *buffer, uint8_t value) |
Append a single byte to the buffer. | |
void | pm_buffer_append_varuint (pm_buffer_t *buffer, uint32_t value) |
Append a 32-bit unsigned integer to the buffer as a variable-length integer. | |
void | pm_buffer_append_varsint (pm_buffer_t *buffer, int32_t value) |
Append a 32-bit signed integer to the buffer as a variable-length integer. | |
void | pm_buffer_concat (pm_buffer_t *destination, const pm_buffer_t *source) |
Concatenate one buffer onto another. | |
PRISM_EXPORTED_FUNCTION void | pm_buffer_free (pm_buffer_t *buffer) |
Free the memory associated with the buffer. | |
A wrapper around a contiguous block of allocated memory.
Definition in file pm_buffer.h.
void pm_buffer_append_byte | ( | pm_buffer_t * | buffer, |
uint8_t | value ) |
Append a single byte to the buffer.
buffer | The buffer to append to. |
value | The byte to append. |
Definition at line 132 of file pm_buffer.c.
void pm_buffer_append_bytes | ( | pm_buffer_t * | buffer, |
const uint8_t * | value, | ||
size_t | length ) |
Append a list of bytes to the buffer.
buffer | The buffer to append to. |
value | The bytes to append. |
length | The length of the bytes to append. |
Definition at line 124 of file pm_buffer.c.
void pm_buffer_append_format | ( | pm_buffer_t * | buffer, |
const char * | format, | ||
... ) |
Append a formatted string to the buffer.
buffer | The buffer to append to. |
format | The format string to append. |
... | The arguments to the format string. |
void void pm_buffer_append_string | ( | pm_buffer_t * | buffer, |
const char * | value, | ||
size_t | length ) |
Append a string to the buffer.
buffer | The buffer to append to. |
value | The string to append. |
length | The length of the string to append. |
Definition at line 116 of file pm_buffer.c.
void pm_buffer_append_varsint | ( | pm_buffer_t * | buffer, |
int32_t | value ) |
Append a 32-bit signed integer to the buffer as a variable-length integer.
buffer | The buffer to append to. |
value | The integer to append. |
Definition at line 158 of file pm_buffer.c.
void pm_buffer_append_varuint | ( | pm_buffer_t * | buffer, |
uint32_t | value ) |
Append a 32-bit unsigned integer to the buffer as a variable-length integer.
buffer | The buffer to append to. |
value | The integer to append. |
Definition at line 141 of file pm_buffer.c.
void pm_buffer_append_zeroes | ( | pm_buffer_t * | buffer, |
size_t | length ) |
Append the given amount of space as zeroes to the buffer.
buffer | The buffer to append to. |
length | The amount of space to append and zero. |
Definition at line 83 of file pm_buffer.c.
void pm_buffer_concat | ( | pm_buffer_t * | destination, |
const pm_buffer_t * | source ) |
Concatenate one buffer onto another.
destination | The buffer to concatenate onto. |
source | The buffer to concatenate. |
Definition at line 167 of file pm_buffer.c.
PRISM_EXPORTED_FUNCTION void pm_buffer_free | ( | pm_buffer_t * | buffer | ) |
Free the memory associated with the buffer.
buffer | The buffer to free. |
Definition at line 177 of file pm_buffer.c.
PRISM_EXPORTED_FUNCTION bool pm_buffer_init | ( | pm_buffer_t * | buffer | ) |
Initialize a pm_buffer_t with its default values.
buffer | The buffer to initialize. |
Definition at line 27 of file pm_buffer.c.
bool pm_buffer_init_capacity | ( | pm_buffer_t * | buffer, |
size_t | capacity ) |
Initialize a pm_buffer_t with the given capacity.
buffer | The buffer to initialize. |
capacity | The capacity of the buffer. |
Definition at line 15 of file pm_buffer.c.
PRISM_EXPORTED_FUNCTION size_t pm_buffer_length | ( | pm_buffer_t * | buffer | ) |
Return the length of the buffer.
buffer | The buffer to get the length of. |
Definition at line 43 of file pm_buffer.c.
PRISM_EXPORTED_FUNCTION size_t pm_buffer_sizeof | ( | void | ) |
Return the size of the pm_buffer_t struct.
Definition at line 7 of file pm_buffer.c.
PRISM_EXPORTED_FUNCTION char * pm_buffer_value | ( | pm_buffer_t * | buffer | ) |
Return the value of the buffer.
buffer | The buffer to get the value of. |
Definition at line 35 of file pm_buffer.c.