/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_bsq.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: apago +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/05 09:56:45 by tischmid #+# #+# */ /* Updated: 2023/04/05 19:27:20 by apago ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef FT_BSQ_H # define FT_BSQ_H # include # include # include # include typedef struct Meta { char empty; char obstacle; char full; int height; int width; } t_meta; typedef struct Map { t_meta meta; char *data; int *index; } t_map; char *read_file(int file); size_t read_uint(char *str); int parse_valid_uint(char *str, size_t len); int read_char(char *str, char *dst); int printable(char c); size_t count_first_line(char *line); int parse_file(int file, t_map *map); void copy_bytes(char *dst, char *src, size_t bytes); void ft_memset_int(int *dst, int set, size_t bytes); void ft_putchar(char c, int fd); void ft_putstr(char *str, int fd); int ft_putnbr(int nb); void print_map(t_map *map, int as_numbers); int ft_err(char *str, int exit_code); char *ft_strcpy(char *dest, char *src); size_t ft_strlen(char const *str); void solve(t_map *map); int itoc(int idx, int width); int itor(int idx, int width); int get_index(t_map *map, int idx, int top, int left); int validate_meta(t_meta *meta); #endif