ipoddev.h
1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef __IPOD_DEV_H__
#define __IPOD_DEV_H__
#define IPOD_VID 0x05ac
#define IPOD_PID_MASK 0xff00
#define IPOD_PID 0x1200
//request for ipod power
#define IPOD_POWER_REQ_TYPE 0x40
#define IPOD_POWER_REQUEST 0x40
#define EXTRA_CURRENT_SUSPEND0 0
#define EXTRA_CURRENT_SUSPEND100 100
#define EXTRA_CURRENT_SUSPEND500 500
#define EXTRA_CURRENT_NON_SUSPEND_MIN (-500)
#define EXTRA_CURRENT_NON_SUSPEND_MAX 500 //1A charge
//#define EXTRA_CURRENT_NON_SUSPEND_MAX_IPAD 1600 //2.1A charge
#define EXTRA_CURRENT_NON_SUSPEND_MAX_IPAD 500 //2.1A charge
//#define EXTRA_CURRENT_NON_SUSPEND_MAX 1600 //2.1A charge
//#define EXTRA_CURRENT_NON_SUSPEND_MAX 1900 //2.4A charge
#define EXTRA_CURRENT_NON_SUSPEND0 0
typedef struct {
PIPE *ctl;
PIPE *hidIntIn;
PIPE *isoIn;
PIPE *mscBulkIn;
PIPE *mscBulkOut;
} IPOD_PIPES;
struct _USB_DEVICE;
struct _IPOD_DESPT;
typedef struct _IPOD_DEVICE {
int active;
int type;
struct _USB_DEVICE *usbdev;
struct _IPOD_DESPT *ipoddespt;
IPOD_PIPES pipes;
} IPOD_DEVICE;
typedef struct _IPOD_PKT {
U8 start;
int pktlen;
int lingoID;
int cmdID;
int transID;
U8 *buf;
int maxSize;
int size;
int valid;
int (*callback) ( struct _IPOD_PKT *ipkt );
} IPOD_PKT;
IPOD_PKT* ipodev_pktGet( void );
int ipodev_pktWrite( IPOD_PKT *pkt, U8 *buf, int len );
int ipodev_pktParse( IPOD_PKT *pkt );
int ipodev_init( void );
int ipodev_open( int type );
int ipodev_close( void );
IPOD_DEVICE *ipodev_getDev( void );
#endif //__IPOD_DEV_H__