# map.h ## Include Guard ```c #ifndef MAP_H # define MAP_H # include # include ``` ## Types ### `t_range` A structure representing a mapping range between source and destination addresses. ```c typedef struct s_range { uint32_t src_start; uint32_t src_end; uint32_t dst_start; uint32_t dst_end; } t_range; ``` ### `t_map` A structure representing a collection of mapping ranges. ```c typedef struct s_map { t_range *ranges; size_t count; size_t capacity; } t_map; ``` ## Functions ### [`map_init`](/srcs/map/core.c.md) Initialize a mapping structure. ```c void map_init(t_map *map); ``` ### [`map_add`](/srcs/map/core.c.md) Add a new mapping range to the mapping structure. ```c void map_add(t_map *map, uint32_t src_start, uint32_t src_end, uint32_t dst_start, uint32_t dst_end); ``` ### [`map_write`](/srcs/map/io.c.md) Write the mapping information to a file. ```c int8_t map_write(t_map *map, const char *path, const char *source, const char *target); ``` ### [`map_free`](/srcs/map/core.c.md) Free the resources associated with the mapping structure. ```c void map_free(t_map *map); ``` ## End Guard ```c #endif ```