Как известно, в языке C управлять областью видимости глобальных переменных и функций следует с помощью ключевого слова static - если они объявлены как static, то область их видимости ограничивается c-файлом, в котором они определены, в противном же случае они могут быть доступны во всех c-файлах, в которых объявлены с помощью ключевого слова extern (не путать объявление с определением).