#include "nip_init.h"
#include "nip_error.h"
Go to the source code of this file.
Data Structures | |
struct | nip_mem_block_t |
Header for block of dynamically managed memory. More... | |
struct | nip_mem_ptr_t |
Structure to handle pointers to managed or unmanaged memory. More... | |
Defines | |
#define | NIP_MEM_NULL 0x00 |
handle for undefined memory block | |
#define | NIP_MEM_BLOCK_USED(b) (b->flags & NIP_MEM_FLG_USED) |
#define | NIP_MEM_BLOCK_LOCKED(b) (b->flags & NIP_MEM_FLG_LOCKED) |
Flags for block of dynamically managed memory. | |
#define | NIP_MEM_FLG_USED 0x01 |
Block in use. | |
#define | NIP_MEM_FLG_LOCKED 0x02 |
Block locked and may not be moved/defragmented at this time. | |
#define | NIP_MEM_FLG_DELREAD 0x04 |
Data will be deleted automatically when read from block. | |
#define | NIP_MEM_FLGS_UNUSED 0x00 |
Flag configuration for unused block. | |
Typedefs | |
typedef uint16_t | nip_mem_size_t |
Maximum number of memory blocks. | |
typedef uint16_t | nip_mem_cnt_t |
typedef uint8_t | nip_mem_handle_t |
Handle for block of dynamically managed memory. | |
typedef uint8_t | nip_mem_flags_t |
Type definition for memory block flags. | |
Enumerations | |
enum | nip_mem_alloc_stat_t { NIP_MEM_ALLOC_DEFRAG, NIP_MEM_ALLOC_SIZE, NIP_MEM_ALLOC_MIN_SIZE, NIP_MEM_ALLOC_BLOCK_SIZE, NIP_MEM_ALLOC_FAIL } |
States of memory allocation function. More... | |
Functions | |
void | nip_mem_init () |
nip_mem_handle_t | nip_mem_alloc (nip_mem_size_t size, nip_mem_size_t min_length, nip_mem_flags_t flags, nip_mem_size_t *res_length) |
void | nip_mem_free (nip_mem_handle_t block_id) |
nip_error_t | nip_mem_set_min_length (nip_mem_handle_t block_id, nip_mem_size_t min_length) |
nip_error_t | nip_mem_write (nip_mem_handle_t block_id, void *buf, nip_mem_size_t size) |
nip_mem_size_t | nip_mem_read_at_pos (nip_mem_handle_t block_id, uint8_t *buf, nip_mem_size_t size, nip_mem_size_t pos) |
nip_mem_size_t | nip_mem_read (nip_mem_handle_t block_id, uint8_t *buf, nip_mem_size_t size) |
void * | nip_mem_obtain_ptr (nip_mem_handle_t block_id) |
void | nip_mem_release_block (nip_mem_handle_t block_id) |
void * | nip_mem_ptr (nip_mem_ptr_t *p) |
void | nip_mem_release_ptr (nip_mem_ptr_t *p) |
nip_mem_size_t | nip_mem_buf_used (nip_mem_handle_t block_id) |
void | nip_mem_set_used (nip_mem_handle_t block_id, nip_mem_size_t new_size) |
nip_mem_size_t | nip_mem_move (nip_mem_handle_t dst_block, nip_mem_handle_t src_block, nip_mem_size_t size) |
nip_error_t | nip_mem_insert (nip_mem_ptr_t *dst, nip_mem_ptr_t *src, nip_mem_size_t len) |
nip_error_t | nip_mem_cut (nip_mem_ptr_t *location, nip_mem_size_t len) |
#define NIP_MEM_BLOCK_LOCKED | ( | b | ) | (b->flags & NIP_MEM_FLG_LOCKED) |
#define NIP_MEM_BLOCK_USED | ( | b | ) | (b->flags & NIP_MEM_FLG_USED) |
#define NIP_MEM_FLG_DELREAD 0x04 |
Data will be deleted automatically when read from block.
Definition at line 108 of file mem.h.
Referenced by nip_udp_init_send().
#define NIP_MEM_FLG_LOCKED 0x02 |
#define NIP_MEM_FLGS_UNUSED 0x00 |
#define NIP_MEM_NULL 0x00 |
handle for undefined memory block
Definition at line 102 of file mem.h.
Referenced by nip_mdns_disp_check_cache(), nip_mdns_disp_check_queries(), nip_mdns_init(), nip_mdns_register_hostname(), nip_mdns_register_name(), nip_mdns_tx_name(), nip_tcp_create_conn(), nip_tcp_disp_receive(), nip_tcp_disp_send(), nip_udp_buf_handle(), nip_udp_cancel_recv(), nip_udp_cancel_send(), nip_udp_close(), nip_udp_data_mem_ptr(), nip_udp_disp_receive(), nip_udp_forward(), nip_udp_init_send(), nip_udp_ptr_release(), nip_udp_socket(), and nip_udp_transmit().
typedef uint16_t nip_mem_cnt_t |
typedef uint8_t nip_mem_flags_t |
typedef uint8_t nip_mem_handle_t |
typedef uint16_t nip_mem_size_t |
Maximum number of memory blocks.
Raising the number above 255 may lead to an increase of used program memory, due to larger identifiers. Look at the definition of nip_mem_handle_t for further explanation. Number of bytes reserved for dynamic buffer management. The default value is 600 Bytes which is assumed to be needed for the reception of datagrams with the standard maximum IP size of 576 Bytes.
enum nip_mem_alloc_stat_t |
nip_mem_handle_t nip_mem_alloc | ( | nip_mem_size_t | size, | |
nip_mem_size_t | min_length, | |||
nip_mem_flags_t | flags, | |||
nip_mem_size_t * | res_length | |||
) |
Referenced by nip_mdns_init(), nip_tcp_create_conn(), nip_tcp_disp_receive(), nip_tcp_disp_send(), and nip_udp_init_send().
nip_mem_size_t nip_mem_buf_used | ( | nip_mem_handle_t | block_id | ) |
Referenced by nip_mdns_cache_ptr(), nip_mdns_cache_task(), nip_mdns_disp_check_cache(), nip_mdns_disp_check_queries(), nip_mdns_notify(), nip_mdns_parse_packet(), nip_mdns_query(), nip_mdns_register_name(), nip_tcp_close(), nip_tcp_disp_check(), nip_tcp_disp_receive(), nip_tcp_disp_send(), nip_udp_disp_receive(), and nip_udp_transmit().
nip_error_t nip_mem_cut | ( | nip_mem_ptr_t * | location, | |
nip_mem_size_t | len | |||
) |
void nip_mem_free | ( | nip_mem_handle_t | block_id | ) |
Referenced by nip_tcp_create_conn(), nip_tcp_del_conn(), nip_udp_cancel_recv(), nip_udp_cancel_send(), nip_udp_close(), and nip_udp_forward().
void nip_mem_init | ( | ) |
nip_error_t nip_mem_insert | ( | nip_mem_ptr_t * | dst, | |
nip_mem_ptr_t * | src, | |||
nip_mem_size_t | len | |||
) |
Referenced by nip_mdns_disp_check_queries(), nip_mdns_register_name(), and nip_mdns_tx_name().
nip_mem_size_t nip_mem_move | ( | nip_mem_handle_t | dst_block, | |
nip_mem_handle_t | src_block, | |||
nip_mem_size_t | size | |||
) |
void* nip_mem_obtain_ptr | ( | nip_mem_handle_t | block_id | ) |
Referenced by nip_mdns_cache_ptr(), nip_mdns_cache_task(), nip_mdns_notify(), nip_mdns_query(), nip_tcp_checksum(), nip_tcp_create_conn(), nip_tcp_del_conn(), nip_tcp_disp_check(), nip_tcp_disp_receive(), nip_tcp_disp_send(), nip_tcp_find_conn(), nip_udp_disp_receive(), and nip_udp_transmit().
void* nip_mem_ptr | ( | nip_mem_ptr_t * | p | ) |
Referenced by nip_mdns_cache_task(), nip_mdns_disp_check_cache(), nip_mdns_disp_check_queries(), nip_mdns_parse_packet(), nip_mdns_register_name(), and nip_udp_data_ptr().
nip_mem_size_t nip_mem_read | ( | nip_mem_handle_t | block_id, | |
uint8_t * | buf, | |||
nip_mem_size_t | size | |||
) |
Referenced by nip_tcp_disp_receive(), nip_tcp_read(), and nip_udp_recvfrom().
nip_mem_size_t nip_mem_read_at_pos | ( | nip_mem_handle_t | block_id, | |
uint8_t * | buf, | |||
nip_mem_size_t | size, | |||
nip_mem_size_t | pos | |||
) |
void nip_mem_release_block | ( | nip_mem_handle_t | block_id | ) |
Referenced by nip_mdns_cache_ptr(), nip_mdns_cache_task(), nip_mdns_disp_check_queries(), nip_mdns_notify(), nip_mdns_query(), nip_mdns_register_name(), nip_tcp_accept(), nip_tcp_checksum(), nip_tcp_close(), nip_tcp_create_conn(), nip_tcp_del_conn(), nip_tcp_disp_check(), nip_tcp_disp_receive(), nip_tcp_disp_send(), nip_tcp_find_conn(), nip_tcp_read(), nip_tcp_write(), nip_udp_disp_receive(), nip_udp_ptr_release(), and nip_udp_transmit().
void nip_mem_release_ptr | ( | nip_mem_ptr_t * | p | ) |
Referenced by nip_mdns_disp_check_cache(), nip_mdns_disp_check_queries(), nip_mdns_parse_packet(), and nip_mdns_register_name().
nip_error_t nip_mem_set_min_length | ( | nip_mem_handle_t | block_id, | |
nip_mem_size_t | min_length | |||
) |
void nip_mem_set_used | ( | nip_mem_handle_t | block_id, | |
nip_mem_size_t | new_size | |||
) |
Referenced by nip_mdns_cache_task(), nip_mdns_notify(), nip_mdns_register_name(), nip_tcp_create_conn(), nip_tcp_del_conn(), and nip_tcp_disp_receive().
nip_error_t nip_mem_write | ( | nip_mem_handle_t | block_id, | |
void * | buf, | |||
nip_mem_size_t | size | |||
) |
Referenced by nip_mdns_cache_task(), nip_mdns_notify(), nip_mdns_query(), nip_mdns_register_name(), nip_tcp_create_conn(), nip_tcp_disp_receive(), nip_tcp_disp_send(), nip_tcp_write(), nip_udp_init_send(), and nip_udp_write().