Make buttons unsigned, there are no negative button numbers
Make the slots unsigned, the kernel guarantees a base of 0
libinput_dispatch: return negative error number on failure

Might as well tell the caller what went wrong without having to worry about
errno.
libinput_dispatch: return -EAGAIN if no events are ready

Notify the caller that no events are currently ready to be processed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Declare libinput_seat explicitly
Move libinput, libinput_seat and libinput_device to the top

Declare all three before they are used
evdev: fix memcopy for calibration

Function arguments with fixed length are still just pointers, so
sizeof(calibration) here is sizeof(float*), not sizeof(float) * 6.

evdev.c: In function 'evdev_device_calibrate':
evdev.c:693:54: warning: argument to 'sizeof' in 'memcpy' call is the same
  pointer type 'float *' as the destination; expected 'float' or an explicit
  length [-Wsizeof-pointer-memaccess]
  memcpy(device->abs.calibration, calibration, sizeof calibration);
Rename libinput_create_udev to libinput_create_from_udev

A lot more obvious what it does, it creates a libinput context from a udev
handler (rather than creating the udev handler).
udev-seat:fix leak when failing to add devices

udev-monitor and the udev_monitor_source would leak.
doc: hook up doxygen to generate the public API documentation
Drop unused libinput_fd_handle and libinput_fd_callback

Obsolete with ce787552bce26ccac433c7fcf9868d2a5561a0cc