Merge "Move minadb over to new API."
This commit is contained in:
@@ -20,6 +20,7 @@ LOCAL_CFLAGS := $(minadbd_cflags)
|
||||
LOCAL_CONLY_FLAGS := -Wimplicit-function-declaration
|
||||
LOCAL_C_INCLUDES := bootable/recovery system/core/adb
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := libadbd
|
||||
LOCAL_STATIC_LIBRARIES := libbase
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
||||
@@ -26,13 +26,10 @@
|
||||
#include "fuse_adb_provider.h"
|
||||
#include "fuse_sideload.h"
|
||||
|
||||
int read_block_adb(void* cookie, uint32_t block, uint8_t* buffer,
|
||||
uint32_t fetch_size) {
|
||||
struct adb_data* ad = (struct adb_data*)cookie;
|
||||
int read_block_adb(void* data, uint32_t block, uint8_t* buffer, uint32_t fetch_size) {
|
||||
adb_data* ad = reinterpret_cast<adb_data*>(data);
|
||||
|
||||
char buf[10];
|
||||
snprintf(buf, sizeof(buf), "%08u", block);
|
||||
if (!WriteStringFully(ad->sfd, buf)) {
|
||||
if (!WriteFdFmt(ad->sfd, "%08u", block)) {
|
||||
fprintf(stderr, "failed to write to adb host: %s\n", strerror(errno));
|
||||
return -EIO;
|
||||
}
|
||||
@@ -45,20 +42,18 @@ int read_block_adb(void* cookie, uint32_t block, uint8_t* buffer,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void close_adb(void* cookie) {
|
||||
struct adb_data* ad = (struct adb_data*)cookie;
|
||||
|
||||
WriteStringFully(ad->sfd, "DONEDONE");
|
||||
static void close_adb(void* data) {
|
||||
adb_data* ad = reinterpret_cast<adb_data*>(data);
|
||||
WriteFdExactly(ad->sfd, "DONEDONE");
|
||||
}
|
||||
|
||||
int run_adb_fuse(int sfd, uint64_t file_size, uint32_t block_size) {
|
||||
struct adb_data ad;
|
||||
struct provider_vtab vtab;
|
||||
|
||||
adb_data ad;
|
||||
ad.sfd = sfd;
|
||||
ad.file_size = file_size;
|
||||
ad.block_size = block_size;
|
||||
|
||||
provider_vtab vtab;
|
||||
vtab.read_block = read_block_adb;
|
||||
vtab.close = close_adb;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user