/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* philo.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/07/07 15:11:02 by adjoly #+# #+# */ /* Updated: 2024/07/09 12:04:14 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef PHILO_H # define PHILO_H # include # include # include # include typedef enum s_pstate { DIED = -1, EAT, THINK, SLEEP, FORK_TAKEN } t_pstate; typedef struct s_pdata { uint32_t die_time; uint32_t sleep_time; uint32_t eat_time; uint16_t philo_nbr; uint8_t meal_nbr; bool error; } t_pdata; void log_philo(uint32_t timestamp, uint16_t philo, t_pstate type); t_pdata philo_parse(char **argv, int ac); uint16_t get_time_in_ms(struct timeval t0, struct timeval t1); /** * For debug purpose to be REMOVED */ void print_philo_data(t_pdata data); #endif