type hal_dumpstate_default, domain;
hal_server_domain(hal_dumpstate_default, hal_dumpstate)

type hal_dumpstate_default_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_dumpstate_default)
