type hal_usb_gadget_default, domain;
hal_server_domain(hal_usb_gadget_default, hal_usb_gadget)

type hal_usb_gadget_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_usb_gadget_default)
