56 lines
1.9 KiB
D
56 lines
1.9 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(cast(UsbExtremeVersion) usbExtremeVersion);
|
|
}
|
|
|
|
extern(C) size_t oue_num_headers(size_t *numHeaders, const(void) *headers, size_t headersLen) {
|
|
auto result = oueNumHeaders(headers[0..headersLen]);
|
|
*numHeaders = result;
|
|
return result;
|
|
}
|
|
|
|
extern(C) size_t 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) size_t oue_read(UsbExtremeFilestat* filestat, const(UsbExtremeHeaders) headers, int filestatsLen) {
|
|
auto result = oueRead(filestat[0..filestatsLen], headers);
|
|
return result.length;
|
|
}
|
|
|
|
extern(C) void oue_get_name(char* dest, size_t length, const(UsbExtremeHeaders) headers, size_t offset) {
|
|
oueGetName(dest[0..length], headers, offset);
|
|
}
|
|
|
|
extern(C) void oue_filename(char* buffer, size_t length, const(UsbExtremeHeaders) headers, size_t offset) {
|
|
oueFilename(buffer[0..length], headers, offset);
|
|
}
|
|
|
|
extern(C) size_t oue_part_size(const(UsbExtremeHeaders) headers, size_t offset) {
|
|
return ouePartSize(headers, offset);
|
|
}
|