/* usb/driver/hid/usb/hid/comms.h
 *
 * (c) 2002 Simtec Electronics
 *
 * Ben Dooks
 *
 * HID Driver - comms function definitions
 *
 * $Id: comms.h,v 1.8 2003/08/08 11:17:17 ben Exp $
 *
 * This Library file is part of the Simtec Electronics USB stack development
 *   suite.
 * Specific licence is granted to use this file by third parties for the
 *   development of USB device drivers.
 *
*/

#ifndef __USB_HID_COMMS_H
#define __USB_HID_COMMS_H "$Id: comms.h,v 1.8 2003/08/08 11:17:17 ben Exp $"

extern void hid_create_get_report(usb_buffer_t *, int type, int id, int length, int index);
extern void hid_create_get_descriptor(usb_buffer_t *, int rqtype, int type,
				      int id, int length, int index);

extern void hid_create_set_protocol(usb_buffer_t *, int protocol, int index);

extern void hid_create_get_info(usb_buffer_t *, int index);

extern int hid_do_status_request(struct hid_dev *dev, int *result);
extern int hid_do_input_request(struct hid_dev *dev, int *result);

extern int hid_process_report(struct hid_dev *dev, unsigned char *data, int);

extern int hid_input_newdev(struct usbmsg_new_device *dev, int);

#endif /* _USB_HID_COMMS_H */
