split out from saio.h