use a pointer to an opaque struct as file_actions