These externs should really be in a .h file shared by definition and usage sites so the C compiler can verify that they match.