44 lines
1.4 KiB
D
44 lines
1.4 KiB
D
module cabi;
|
|
import std.stdint;
|
|
import usbextreme;
|
|
|
|
extern(C) int is_oue(const(void)* headers, size_t headersLen) {
|
|
return isOue(headers[0..headersLen]);
|
|
}
|
|
|
|
extern(C) UsbExtremeVersion get_version(uint8_t usbExtremeVersion) {
|
|
return getVersion(usbExtremeVersion);
|
|
}
|
|
|
|
extern(C) int oue_num_headers(int *numHeaders, const(void) *headers, size_t headersLen) {
|
|
auto result = oueNumHeaders(headers[0..headersLen]);
|
|
*numHeaders = result;
|
|
return result;
|
|
}
|
|
|
|
extern(C) int oue_point_headers(const(UsbExtremeBase)** headers, const(void)* rawHeaders, size_t headersLen) {
|
|
auto len = headersLen / UsbExtremeBase.sizeof;
|
|
const(UsbExtremeBase)[] headersArr = (*headers)[0..len];
|
|
return ouePointHeaders(headersArr, rawHeaders[0..headersLen]);
|
|
}
|
|
|
|
extern(C) int oue_version(UsbExtremeVersion* oueVersion, const(void) *headers, size_t headersLen) {
|
|
auto result = oueHeadersVersion(headers[0..headersLen]);
|
|
|
|
if (result == UsbExtremeVersion.Unknown) {
|
|
return -1;
|
|
}
|
|
|
|
*oueVersion = result;
|
|
return 1;
|
|
}
|
|
|
|
extern(C) int oue_read_headers(UsbExtremeHeaders* headers, const(void)* rawHeaders, size_t headersLen) {
|
|
return oueReadHeaders(*headers, rawHeaders[0..headersLen]);
|
|
}
|
|
|
|
extern(C) int oue_read(UsbExtremeFilestat* filestat, const(UsbExtremeHeaders) headers, int filestatsLen) {
|
|
auto result = oueRead(filestat[0..filestatsLen], headers);
|
|
return cast(int) result.length;
|
|
}
|