Это
extern struct termios cookedInput, rawInput;
- это предварительные объявления двух объектов типа struct term ios, но не их определения.
Вы должны определить объекты в некотором модуле.
Например, вы можете определить в модуле с помощью main.
struct termios cookedInput, rawInput;
Если вы не будете явно указывать инициализаторы для объектов, то они будут инициализированы как
struct termios cookedInput = { 0 }, rawInput = { 0 };