Skip to content
Snippets Groups Projects
dongle.h 1.56 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jakob Olsson's avatar
    Jakob Olsson committed
    struct USB {
    	char *product;
    	char *product_id;
    	char *vendor_id;
    	char *if_name;
    };
    
    struct device {
    	struct list_head list;
    	struct ubus_object *ubus_obj;
    
    Jakob Olsson's avatar
    Jakob Olsson committed
    	struct USB usb;
    	char *ip;
    	int missing; //counter
    	bool present;
    };
    
    void uloop_add_get_devices(struct uloop_timeout *t);
    int get_devices(void);
    int devices_status(struct uloop_timeout *t);
    int tag_missing_devices(void);
    int add_device(struct device *new_dev);
    int delete_all_devices(void);
    int delete_device_by_name(char *name);
    int delete_device(struct device *dev);
    void free_device(struct device *dev);
    void free_usb(struct USB *usb);
    struct device *search_list(char *name);
    char *lexer(char **input, char *delimiter);
    void remove_newline(char *input);
    char *get_usb_stat(char *path, char *dir, char *stat);
    char *get_device_name(char *dir_name);
    char *get_device_ip(char *device_name);
    
    int list_to_blob(struct blob_buf *bb);
    
    Jakob Olsson's avatar
    Jakob Olsson committed
    int print_list(struct ubus_context *ctx, struct ubus_object *obj,
    			   struct ubus_request_data *req, const char *method,
    			   struct blob_attr *msg);
    int clear(struct ubus_context *ctx, struct ubus_object *obj,
    		  struct ubus_request_data *req, const char *method,
    		  struct blob_attr *msg);
    int test(struct ubus_context *ctx, struct ubus_object *obj,
    		 struct ubus_request_data *req, const char *method,
    		 struct blob_attr *msg);
    int remove_device(struct ubus_context *ctx, struct ubus_object *obj,
    				  struct ubus_request_data *req, const char *method,
    				  struct blob_attr *msg);
    void init_ubus(void);
    int publish_object(struct ubus_context *ctx);