1#ifndef __LINUX_FUNCTIONFS_H__ 2#define __LINUX_FUNCTIONFS_H__ 1 3 4#include <uapi/linux/usb/functionfs.h> 5 6 7struct ffs_data; 8struct usb_composite_dev; 9struct usb_configuration; 10 11 12static int functionfs_init(void) __attribute__((warn_unused_result)); 13static void functionfs_cleanup(void); 14 15static int functionfs_bind(struct ffs_data *ffs, struct usb_composite_dev *cdev) 16 __attribute__((warn_unused_result, nonnull)); 17static void functionfs_unbind(struct ffs_data *ffs) 18 __attribute__((nonnull)); 19 20static int functionfs_bind_config(struct usb_composite_dev *cdev, 21 struct usb_configuration *c, 22 struct ffs_data *ffs) 23 __attribute__((warn_unused_result, nonnull)); 24 25 26static int functionfs_ready_callback(struct ffs_data *ffs) 27 __attribute__((warn_unused_result, nonnull)); 28static void functionfs_closed_callback(struct ffs_data *ffs) 29 __attribute__((nonnull)); 30static void *functionfs_acquire_dev_callback(const char *dev_name) 31 __attribute__((warn_unused_result, nonnull)); 32static void functionfs_release_dev_callback(struct ffs_data *ffs_data) 33 __attribute__((nonnull)); 34 35 36#endif 37