/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* u_init.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rbousset +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/14 17:19:27 by rbousset #+# #+# */ /* Updated: 2020/02/14 17:19:29 by rbousset ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include #include #include #include #include #include #include #include "c_init.h" t_caps *c_get_struct(int mode, t_caps *src) { static t_caps *caps; if (mode == 1) { caps = src; } return (caps); } int16_t c_init_tcaps(void) { t_caps tcaps; char *bp; char *term; bp = NULL; term = getenv("TERM"); if (!tgetent(bp, term)) return (-1); tcaps.lc = tgetstr("lc", &term); tcaps.kl = tgetstr("kl", &term); tcaps.kr = tgetstr("kr", &term); tcaps.pc = tgetstr("pc", &term); tcaps.bc = tgetstr("bc", &term); tcaps.up = tgetstr("up", &term); tcaps.nd = tgetstr("nd", &term); tcgetattr(STDIN_FILENO, &tcaps.tios); tcaps.tios.c_lflag &= ~(ECHO | ICANON); tcaps.tios.c_cc[VMIN] = 0; tcaps.tios.c_cc[VTIME] = 1; tcsetattr(STDIN_FILENO, TCSAFLUSH, &tcaps.tios); c_get_struct(1, &tcaps); return (1); }