#ifndef USB_F_MASS_STORAGE_H
#define USB_F_MASS_STORAGE_H
#include <linux/usb/composite.h>
#include "storage_common.h"
struct fsg_module_parameters { … };
#define _FSG_MODULE_PARAM_ARRAY(prefix, params, name, type, desc) …
#define _FSG_MODULE_PARAM(prefix, params, name, type, desc) …
#define __FSG_MODULE_PARAMETERS(prefix, params) …
#ifdef CONFIG_USB_GADGET_DEBUG_FILES
#define FSG_MODULE_PARAMETERS(prefix, params) …
#else
#define FSG_MODULE_PARAMETERS …
#endif
struct fsg_common;
struct fsg_lun_opts { … };
struct fsg_opts { … };
struct fsg_lun_config { … };
struct fsg_config { … };
static inline struct fsg_opts *
fsg_opts_from_func_inst(const struct usb_function_instance *fi)
{ … }
void fsg_common_set_sysfs(struct fsg_common *common, bool sysfs);
int fsg_common_set_num_buffers(struct fsg_common *common, unsigned int n);
void fsg_common_free_buffers(struct fsg_common *common);
int fsg_common_set_cdev(struct fsg_common *common,
struct usb_composite_dev *cdev, bool can_stall);
void fsg_common_remove_lun(struct fsg_lun *lun);
void fsg_common_remove_luns(struct fsg_common *common);
int fsg_common_create_lun(struct fsg_common *common, struct fsg_lun_config *cfg,
unsigned int id, const char *name,
const char **name_pfx);
int fsg_common_create_luns(struct fsg_common *common, struct fsg_config *cfg);
void fsg_common_set_inquiry_string(struct fsg_common *common, const char *vn,
const char *pn);
void fsg_config_from_params(struct fsg_config *cfg,
const struct fsg_module_parameters *params,
unsigned int fsg_num_buffers);
#endif