[feature] turn POSIX error retured into errno