Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
adb.h
Go to the documentation of this file.
1
/*
2
* Definitions for ADB (Apple Desktop Bus) support.
3
*/
4
#ifndef __ADB_H
5
#define __ADB_H
6
7
#include <
uapi/linux/adb.h
>
8
9
10
struct
adb_request
{
11
unsigned
char
data
[32];
12
int
nbytes
;
13
unsigned
char
reply
[32];
14
int
reply_len
;
15
unsigned
char
reply_expected
;
16
unsigned
char
sent
;
17
unsigned
char
complete
;
18
void
(*
done
)(
struct
adb_request
*);
19
void
*
arg
;
20
struct
adb_request
*
next
;
21
};
22
23
struct
adb_ids
{
24
int
nids
;
25
unsigned
char
id
[16];
26
};
27
28
/* Structure which encapsulates a low-level ADB driver */
29
30
struct
adb_driver
{
31
char
name
[16];
32
int
(*
probe
)(
void
);
33
int
(*
init
)(
void
);
34
int
(*
send_request
)(
struct
adb_request
*
req
,
int
sync
);
35
int
(*
autopoll
)(
int
devs);
36
void
(*
poll
)(
void
);
37
int
(*
reset_bus
)(
void
);
38
};
39
40
/* Values for adb_request flags */
41
#define ADBREQ_REPLY 1
/* expect reply */
42
#define ADBREQ_SYNC 2
/* poll until done */
43
#define ADBREQ_NOSEND 4
/* build the request, but don't send it */
44
45
/* Messages sent thru the client_list notifier. You should NOT stop
46
the operation, at least not with this version */
47
enum
adb_message
{
48
ADB_MSG_POWERDOWN
,
/* Currently called before sleep only */
49
ADB_MSG_PRE_RESET
,
/* Called before resetting the bus */
50
ADB_MSG_POST_RESET
/* Called after resetting the bus (re-do init & register) */
51
};
52
extern
struct
blocking_notifier_head
adb_client_list
;
53
54
int
adb_request
(
struct
adb_request
*
req
,
void
(*
done
)(
struct
adb_request
*),
55
int
flags
,
int
nbytes
, ...);
56
int
adb_register
(
int
default_id,
int
handler_id,
struct
adb_ids
*ids,
57
void
(*handler)(
unsigned
char
*,
int
,
int
));
58
int
adb_unregister
(
int
index
);
59
void
adb_poll
(
void
);
60
void
adb_input
(
unsigned
char
*,
int
,
int
);
61
int
adb_reset_bus
(
void
);
62
63
int
adb_try_handler_change
(
int
address
,
int
new_id);
64
int
adb_get_infos
(
int
address
,
int
*original_address,
int
*handler_id);
65
66
#endif
/* __ADB_H */
Generated on Thu Jan 10 2013 14:51:01 for Linux Kernel by
1.8.2