38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
|
// 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
|