documentation/kernel/utils/memory.h.md

33 lines
1.2 KiB
Markdown

# memory.h
Basic memory functionalities.
# `memory_copy(source, destination, num)` - function (void)
Copies **_num_** bytes from **_source_** to **_destination_**.
On linux this function is called _memcpy_.
# `memory_set(destination, data, num)` - function (void)
Sets **_num_** bytes at **_destination_** to **_data_**.
On linux this function is called _memset_.
# `memory_compare(a, b, num)` - function (bool)
Compares the first **_num_** bytes at **_a_** and **_b_**.
Returns **false** if there is a different byte.
Returns **true** if the data is the same.
There is a similar function on linux called _memcmp_.
# `memory_allocate(size)` - function (void*)
Returns the address to a buffer, that is at least **_size_** bytes big.
On linux this function is called _malloc_.
# `memory_free(address)` - function (void)
Free the buffer at address and marks it claimable again , this buffer needs to be a buffer, that was created with memory_allocate().
On linux this function is called _free_.
# `memory_allocator_init(base)` - function (void)
This initializes the heap, where memory_allocate() allocates memory.
# `memory_hexdump(address, num)` - function (void)
Logs **_num_** bytes from **_address_** as 8 byte rows.
The data is represented in hexadecimal and ascii.