From 8181a0c905a591caef684a2d7487feedbec84c10 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Mon, 27 Aug 2007 16:04:32 +0000 Subject: Usb Stack: only setup packet handling, and not enabled by default as there is a lot to do. * settings code is not fully ready -> changing device driver has no effect * clean ups * check copyriths * find a way to detect IN transfers * support for full and highspeed * ... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14470 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/usbstack.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 firmware/export/usbstack.h (limited to 'firmware/export/usbstack.h') diff --git a/firmware/export/usbstack.h b/firmware/export/usbstack.h new file mode 100644 index 0000000..9142b1b --- /dev/null +++ b/firmware/export/usbstack.h @@ -0,0 +1,55 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: $ + * + * Copyright (C) 2007 by Christian Gmeiner + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _USBSTACK_H_ +#define _USBSTACK_H_ + +#include + +#define USB_STACK_MAX_SETTINGS_NAME 32*10 /* should be enough for > 10 driver names */ + +/* + * error codes + */ +#define ENOFREESLOT 1 +#define EWRONGCONTROLLERTYPE 2 +#define ENODRIVERFOUND 3 +#define EHWCRITICAL 4 + +enum usb_controller_type { + DEVICE = 0, + HOST, +}; + +/* + * stack routines + */ +void usb_stack_init(void); +void usb_stack_start(void); +void usb_stack_stop(void); + +void usb_controller_select(int type); +int usb_stack_get_mode(void); +int usb_device_driver_bind(const char* name); +void ubs_device_driver_unbind(void); + +/* used by apps settings code */ +unsigned char device_driver_names[USB_STACK_MAX_SETTINGS_NAME]; + +#endif /*_USBSTACK_H_*/ -- cgit v1.1