" Input: { (target) - if specified, use info from 'machine' module (host_os) - host OS (detect, if omitted) (os) or (target_os) - OS module to check (if omitted, analyze host) (device_id) - device id if remote (such as adb) (skip_device_init) - if 'yes', do not initialize device (print_device_info) - if 'yes', print extra device info (skip_info_collection) - if 'yes', do not collect info (particularly for remote) (exchange) - if 'yes', exchange info with some repo (by default, remote-ck) (share) - the same as 'exchange' (exchange_repo) - which repo to record/update info (remote-ck by default) (exchange_subrepo) - if remote, remote repo UOA (exchange_locally) - if 'yes', exchange locally (extra_info) - extra info about author, etc (see add from CK kernel) (return_multi_devices) - if 'yes' and multiple devices detected, return error=32 and devices (platform_init_uoa) - if !='', use these platform.init scripts (quiet) - if 'yes', do not ask questions (TBD: need to check that fully works) } Output: { return - return code = 0, if successful > 0, if error (error) - error text if return > 0 host_os_uoa - host OS UOA host_os_uid - host OS UID host_os_dict - host OS meta os_uoa - target OS UOA os_uid - target OS UID os_dict - target OS meta features = { os - OS features (properties), unified os_misc - assorted OS features (properties), platform dependent } (devices) - return devices if device_id=='' (device_id) - if device_id=='' and only 1 device, select it (host_add_path) - list of paths to add before executing host tools ... (host_add_path_string) - adding paths to PATH environment in a host OS format (target_add_path) - list of paths to add before executing target tools ... (target_add_path_string) - adding paths to PATH environment in a target OS format (update_platform_init) - update platform.init scripts (ask user) } "