reversed return codes for hook_function