added missing C linkage markup