xperable-fork/fbusb.h

38 lines
1.1 KiB
C
Raw Normal View History

// SPDX-License-Identifier: GPL-3.0-or-later
/*
* fbusb.h - helper functions for fastboot usb protocol
*
* Copyright (C) 2025 j4nn at xdaforums
*/
#ifndef FBUSB_H
#define FBUSB_H
struct fbusb;
struct fbusb *fbusb_init(int vid, int pid, int iface, int ep_in, int ep_out);
void fbusb_exit(struct fbusb *dev);
void fbusb_set_maxsize(struct fbusb *dev, int maxsize);
void fbusb_set_timeout(struct fbusb *dev, int timeout_ms);
void fbusb_inc_verbosity(struct fbusb *dev);
void fbusb_dec_verbosity(struct fbusb *dev);
int fbusb_send(struct fbusb *dev, void *buff, int size);
int fbusb_recv(struct fbusb *dev, void *buff, int size);
enum {
FASTBOOT_OKAY,
FASTBOOT_FAIL,
FASTBOOT_DATA,
FASTBOOT_INFO,
FASTBOOT_UNKNOWN
};
int fbusb_bufcmd(struct fbusb *dev, void *req, int reqsz, void *rsp, int *rspsz);
int fbusb_bufrcv(struct fbusb *dev, void *rcv, int rcvsz, void *rsp, int *rspsz);
int fbusb_bufcmd_resp(struct fbusb *dev, void *rsp, int *rspsz);
int fbusb_strcmd(struct fbusb *dev, const char *req, char *rsp, int rspmaxsize);
int fbusb_strcmd_resp(struct fbusb *dev, char *rsp, int rspmaxsize);
#endif