Declare libc ioctl type correctly using varargs

On some architectures (e.g.  ppc64el) the calling convention for varargs is
sufficiently different that the previous declaration caused stack corruption.

Thanks Colin Watson!