Re: naming for IO functions, it's really up to you. I personally try to avoid abbreviations for readability, except for incredibly common ones.
One idea:
init_pin(index, mode) get_pin(index) get_pin_mode(index) set_pin_mode(index, mode)
Or CamelCase, InitPin, GetPin, etc.
Mode is an enum with values for input, input_pullup, input_pulldown, output_low, output_high.
For getting timestamps:
milliseconds() microseconds()
For computing deltas in time between two timestamps correctly with rollover (Provided by the system in case the data type is unsigned. Returns 0 if t2 > t1):
time_left(t1, t2)