extern fn puts(message: *char) -> i32; extern fn malloc(size: u64) -> *u8; extern fn div(numerator: i32, denominator: i32) -> div_t; struct div_t { quotient: i32, remainder: i32, } pub fn print(message: *char) { puts(message); } pub fn int_div(numerator: i32, denominator: i32) -> div_t { return div(numerator, denominator); } pub fn allocate(size: u64) -> *u8 { malloc(size) } fn main() -> u16 { return 0; }