Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
E
EtherBone Core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
EtherBone Core
Commits
0c5636fd
Commit
0c5636fd
authored
Apr 22, 2016
by
Wesley W. Terpstra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api: make v2 sdb api public
parent
89039fd2
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
3 deletions
+18
-3
etherbone.h
api/etherbone.h
+18
-3
No files found.
api/etherbone.h
View file @
0c5636fd
...
...
@@ -49,6 +49,13 @@
#define EB_PRIVATE __attribute__((visibility("hidden")))
#endif
/* Deprecated */
#ifdef __GNUC__
#define EB_DEPRECATED __attribute__ ((deprecated))
#else
#define EB_DEPRECATED
#endif
/* Pointer type -- depends on memory implementation */
#ifdef EB_USE_MALLOC
#define EB_POINTER(typ) struct typ*
...
...
@@ -624,9 +631,14 @@ EB_PUBLIC eb_status_t eb_device_write(eb_device_t device,
* The sdb object passed to your callback is only valid until you return.
* If you need persistent information, you must copy the memory yourself.
*/
typedef
void
(
*
sdb_callback2_t
)(
eb_user_data_t
,
eb_device_t
device
,
const
struct
sdb_table
*
,
eb_address_t
msi_base
,
eb_status_t
);
EB_PUBLIC
eb_status_t
eb_sdb_scan_bus2
(
eb_device_t
device
,
const
struct
sdb_bridge
*
bridge
,
eb_address_t
msi_base
,
eb_user_data_t
data
,
sdb_callback2_t
cb
);
EB_PUBLIC
eb_status_t
eb_sdb_scan_root2
(
eb_device_t
device
,
eb_user_data_t
data
,
sdb_callback2_t
cb
);
/* These functions are deprecated, use the v2 versions above */
typedef
void
(
*
sdb_callback_t
)(
eb_user_data_t
,
eb_device_t
device
,
const
struct
sdb_table
*
,
eb_status_t
);
EB_PUBLIC
eb_status_t
eb_sdb_scan_bus
(
eb_device_t
device
,
const
struct
sdb_bridge
*
bridge
,
eb_user_data_t
data
,
sdb_callback_t
cb
);
EB_PUBLIC
eb_status_t
eb_sdb_scan_root
(
eb_device_t
device
,
eb_user_data_t
data
,
sdb_callback_t
cb
);
EB_PUBLIC
eb_status_t
eb_sdb_scan_bus
(
eb_device_t
device
,
const
struct
sdb_bridge
*
bridge
,
eb_user_data_t
data
,
sdb_callback_t
cb
)
EB_DEPRECATED
;
EB_PUBLIC
eb_status_t
eb_sdb_scan_root
(
eb_device_t
device
,
eb_user_data_t
data
,
sdb_callback_t
cb
)
EB_DEPRECATED
;
/* Convenience methods for locating / identifying devices.
* These calls are blocking! If you need the power API, use the above methods.
...
...
@@ -637,6 +649,7 @@ EB_PUBLIC eb_status_t eb_sdb_scan_root(eb_device_t device, eb_user_data_t data,
* On success, EB_OK is returned.
* Other failures are possible.
*/
EB_PUBLIC
eb_status_t
eb_sdb_find_by_address2
(
eb_device_t
device
,
eb_address_t
address
,
struct
sdb_device
*
output
,
eb_address_t
*
msi_base
);
EB_PUBLIC
eb_status_t
eb_sdb_find_by_address
(
eb_device_t
device
,
eb_address_t
address
,
struct
sdb_device
*
output
);
/* When scanning by identity, multiple devices may match.
...
...
@@ -645,6 +658,7 @@ EB_PUBLIC eb_status_t eb_sdb_find_by_address(eb_device_t device, eb_address_t ad
* If there are more records than fit in output, they are counted but unwritten.
* On success, EB_OK is returned. Do not forget to check *devices as well!
*/
EB_PUBLIC
eb_status_t
eb_sdb_find_by_identity2
(
eb_device_t
device
,
uint64_t
vendor_id
,
uint32_t
device_id
,
struct
sdb_device
*
output
,
eb_address_t
*
output_msi
,
int
*
devices
);
EB_PUBLIC
eb_status_t
eb_sdb_find_by_identity
(
eb_device_t
device
,
uint64_t
vendor_id
,
uint32_t
device_id
,
struct
sdb_device
*
output
,
int
*
devices
);
...
...
@@ -652,7 +666,8 @@ EB_PUBLIC eb_status_t eb_sdb_find_by_identity(eb_device_t device, uint64_t vendo
* eb_sdb_find_by_identity now supports finding crossbars, use it to find special CBs and use them as
* root node for eb_sdb_find_by_identity_at.
*/
EB_PUBLIC
eb_status_t
eb_sdb_find_by_identity_at
(
eb_device_t
device
,
const
struct
sdb_bridge
*
bridge
,
uint64_t
vendor_id
,
uint32_t
device_id
,
struct
sdb_device
*
output
,
int
*
devices
);
EB_PUBLIC
eb_status_t
eb_sdb_find_by_identity_at2
(
eb_device_t
device
,
const
struct
sdb_bridge
*
bridge
,
eb_address_t
msi_base
,
uint64_t
vendor_id
,
uint32_t
device_id
,
struct
sdb_device
*
output
,
eb_address_t
*
output_msi
,
int
*
devices
);
EB_PUBLIC
eb_status_t
eb_sdb_find_by_identity_at
(
eb_device_t
device
,
const
struct
sdb_bridge
*
bridge
,
uint64_t
vendor_id
,
uint32_t
device_id
,
struct
sdb_device
*
output
,
int
*
devices
)
EB_DEPRECATED
;
#ifdef __cplusplus
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment