blob: 9b0da15c19fc290e36c73801b43e70222dbbe970 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/org/chromium/debugd"
xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.chromium.debugd">
<method name="PingStart">
<tp:docstring>
Starts pinging the specified hostname with the specified options, with
output directed to the given output file descriptor. The returned opaque
string functions as a handle for this particular ping. Multiple pings
can be running at once.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send output to.
</tp:docstring>
</arg>
<arg name="destination" type="s" direction="in">
<tp:docstring>
Destination host to connect to.
</tp:docstring>
</arg>
<arg name="options" type="a{sv}" direction="in">
<tp:docstring>
Options to pass to the ping command. Accepted keys include:
broadcast (bool): Send broadcast pings.
count (int default 4): Number of packets to send.
interval (int): Time to wait between packets.
numeric (bool): Print numeric remote hosts.
packetsize (int): Size of each packet sent.
v6 (bool): True for ipv6.
waittime (int): Time to wait for a response.
Unrecognized keys return a DBus error and print no output to the
supplied file descriptor.
</tp:docstring>
</arg>
<arg name="handle" type="s" direction="out">
<tp:docstring>
Opaque handle for this ping.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="PingStop">
<tp:docstring>
Stops a running ping.
</tp:docstring>
<arg name="handle" type="s" direction="in">
Handle to the ping to stop. If an empty string is passed, stops all
running pings.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="SystraceStart">
<tp:docstring>
Start system/kernel tracing. If tracing is already enabled it is
stopped first and any collected events are discarded. The kernel
must have been configured to support tracing.
</tp:docstring>
<arg name="categories" type="s" direction="in">
<tp:docstring>
Trace event categories to enable. If none are specified then
all known events are enabled. Multiple categories are specified
separated by spaces.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SystraceStop">
<tp:docstring>
Stop system/kernel tracing and write the collected event data.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send event data to.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SystraceStatus">
<tp:docstring>
Return current status for system/kernel tracing including whether it
is enabled, the tracing clock, and the set of events enabled.
</tp:docstring>
<arg name="status" type="s" direction="out">
Free-form text reporting status.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="TracePathStart">
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send output to.
</tp:docstring>
</arg>
<arg name="destination" type="s" direction="in">
<tp:docstring>
Destination host[/port] to trace a path to.
</tp:docstring>
</arg>
<arg name="options" type="a{sv}" direction="in">
<tp:docstring>
Options to pass to the tracepath command:
numeric (bool): Print numeric remote hosts.
v6 (bool): True for ipv6.
Unrecognized keys return a DBus error and print no output to the
supplied file descriptor.
</tp:docstring>
</arg>
<arg name="handle" type="s" direction="out">
<tp:docstring>
Opaque handle for this ping.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="TracePathStop">
<tp:docstring>
Stops a running tracepath.
</tp:docstring>
<arg name="handle" type="s" direction="in">
<tp:docstring>
Handle to the tracepath to stop. If an empty string is passed, stops
all running tracepaths.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="GetIpAddresses">
<tp:docstring>
Returns the IP addresses.
</tp:docstring>
<arg name="options" type="a{sv}" direction="in">
<tp:docstring>
Options:
v6 (bool): True for IPv6.
</tp:docstring>
</arg>
<arg name="result" type="as" direction="out">
<tp:docstring>
The list of address output.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetRoutes">
<tp:docstring>
Returns the routing table.
</tp:docstring>
<arg name="options" type="a{sv}" direction="in">
<tp:docstring>
Options:
numeric (bool): Deprecated, numeric hosts are always given.
v6 (bool): True for ipv6.
</tp:docstring>
</arg>
<arg name="result" type="as" direction="out">
<tp:docstring>
The list of routes.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetNetworkStatus">
<tp:docstring>
Returns network information as a JSON string. See the design document
for a rationale.
</tp:docstring>
<arg name="status" type="s" direction="out">
<tp:docstring>
Network information as a JSON string.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetPerfOutput">
<tp:docstring>
Runs system-wide perf profiling. The profile parameters are selected by
perf_args.
</tp:docstring>
<arg name="duration_sec" type="u" direction="in">
<tp:docstring>
Duration to run perf in seconds.
</tp:docstring>
</arg>
<arg name="perf_args" type="as" direction="in">
<tp:docstring>
The perf parameters to pass to quipper, which will forward them to
perf after checking they are safe.
</tp:docstring>
</arg>
<arg name="status" type="i" direction="out">
<tp:docstring>
Status code from running perf and serializing the output.
</tp:docstring>
</arg>
<arg name="perf_data" type="ay" direction="out">
<tp:docstring>
Perf report output data as a protobuf.
</tp:docstring>
</arg>
<arg name="perf_stat" type="ay" direction="out">
<tp:docstring>
Perf stat output data as a protobuf.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="GetPerfOutputFd">
<tp:docstring>
Runs system-wide perf profiling. The profile parameters are selected by
perf_args.
This method runs quipper asynchronously so that debugd isn't blocked for
duration_sec. The DBus client reads the perf output using the file
descriptor. Only one profiler session is allowed to run using this
method. Calling this method while the profiler is running yields a DBus
error. The profiler session can optionally be stopped using method
StopPerf before duration_sec elapses.
</tp:docstring>
<arg name="duration_sec" type="u" direction="in">
<tp:docstring>
Duration to run perf in seconds.
</tp:docstring>
</arg>
<arg name="perf_args" type="as" direction="in">
<tp:docstring>
The perf parameters to pass to quipper, which will forward them to
perf after checking they are safe.
</tp:docstring>
</arg>
<arg name="stdout" type="h" direction="in">
<tp:docstring>
quipper's stdout will be connected to this file descriptor.
</tp:docstring>
</arg>
<arg name="session_id" type="t" direction="out">
<tp:docstring>
The identifier of the profiler session. Will be non-zero if the
profiler is started successfully. It can be used in method
StopPerf to stop the profiler and gather output right away.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="StopPerf">
<tp:docstring>
Stop the existing profiler session and gather perf output right away. If
the collection started by GetPerfOutputFd has finished, calling this
method will silently succeed.
</tp:docstring>
<arg name="session_id" type="t" direction="in">
<tp:docstring>
The profiler session ID returned from the GetPerfOutputFd method. It
is used to stop the existing profiler session.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="DumpDebugLogs">
<tp:docstring>
Packages up system logs into a .tar(.gz) and returns it over the
supplied file descriptor.
</tp:docstring>
<arg name="is_compressed" type="b" direction="in">
<tp:docstring>
If true, output content should be compressed (.tar.gz), otherwise
output content is uncompressed (.tar).
</tp:docstring>
</arg>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to emit the .tar.gz file over.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SetDebugMode">
<tp:docstring>
Enables or disables debug mode for a specified subsystem.
</tp:docstring>
<arg name="subsystem" type="s" direction="in">
<tp:docstring>
Subsystem to change the debug mode of. One of "cellular", "wifi",
"ethernet" or "none".
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetLog">
<tp:docstring>
Fetches the contents of a single system log, identified by name. See
/src/log_tool.cc for a list of valid names.
</tp:docstring>
<arg name="log" type="s" direction="in" />
<arg name="contents" type="s" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetAllLogs">
<tp:docstring>
Returns all the system logs.
</tp:docstring>
<arg name="logs" type="a{ss}" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<!-- GetFeedbackLogs has been replaced by GetBigFeedbackLogs -->
<method name="GetBigFeedbackLogs">
<tp:docstring>
Fills the system logs for feedback reports in the file whose file
descriptor is given. This is used for logs that are so big that they
exceed the limits of D-Bus returning them.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to emit the logs to.
</tp:docstring>
</arg>
<arg name="username" type="s" direction="in">
<tp:docstring>
Username of the user for which the logs are requested.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="BackupArcBugReport">
<tp:docstring>
Retrieves the ARC bug report and saves it in debugd daemon store.
If a backup already exists, it is over-written.
If backup operation fails, an error is logged.
</tp:docstring>
<arg name="username" type="s" direction="in">
<tp:docstring>
Username or hash of the user for which the report is backed up.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="DeleteArcBugReportBackup">
<tp:docstring>
Deletes the backed up ARC bug report saved in daemon store.
If delete operation fails, an error is logged.
</tp:docstring>
<arg name="username" type="s" direction="in">
<tp:docstring>
Username or hash of the user for which the report is backed up.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetJournalLog">
<tp:docstring>
Fills the journal log in export format for feedback reports in the
file whose file descriptor is given.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to emit the logs to.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetExample">
<tp:docstring>
Example method. See /doc/hacking.md.
</tp:docstring>
<arg name="result" type="s" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="CupsAddAutoConfiguredPrinter">
<tp:docstring>
Add a printer that can be auto-configured to CUPS. Immediately attempt
to connect. Returns true if setup was successful.
</tp:docstring>
<arg name="result" type="i" direction="out" />
<arg name="name" type="s" direction="in" />
<arg name="uri" type="s" direction="in" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="CupsAddManuallyConfiguredPrinter">
<tp:docstring>
Add a printer to CUPS using the passed PPD contents. Immediately
attempt to connect. Returns true if setup was successful.
</tp:docstring>
<arg name="result" type="i" direction="out" />
<arg name="name" type="s" direction="in" />
<arg name="uri" type="s" direction="in" />
<arg name="ppd_contents" type="ay" direction="in">
<tp:docstring>
The contents of the CUPS Postscript Printer Driver for this printer.
This data may optionally be gzip compressed.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="CupsRemovePrinter">
<tp:docstring>
Remove a printer from CUPS. Returns true if the printer was removed
successfully.
</tp:docstring>
<arg name="result" type="b" direction="out" />
<arg name="name" type="s" direction="in">
<tp:docstring>
The name of the printer to remove.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetInterfaces">
<tp:docstring>
Returns information about network interfaces as a JSON string.
</tp:docstring>
<arg name="result" type="s" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="TestICMP">
<tp:docstring>
Tests ICMP connectivity to a specified host.
</tp:docstring>
<arg name="host" type="s" direction="in" />
<arg name="result" type="s" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="TestICMPWithOptions">
<tp:docstring>
Tests ICMP connectivity to a specified host (with options).
</tp:docstring>
<arg name="host" type="s" direction="in" />
<arg name="options" type="a{ss}" direction="in" />
<arg name="result" type="s" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="BatteryFirmware">
<tp:docstring>
Runs BatteryFirmware utility.
</tp:docstring>
<arg name="option" type="s" direction="in">
<tp:docstring>
Option to pass to the BatteryFirmware command:
info: Get Battery Firmware Info.
check: Check if AC Adapter is connected.
update: Trigger Battery Firmware Update.
</tp:docstring>
</arg>
<arg name="result" type="s" direction="out">
<tp:docstring>
Battery command output.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="Smartctl">
<tp:docstring>
Runs Smartctl utility.
</tp:docstring>
<arg name="option" type="s" direction="in">
<tp:docstring>
Option to pass to the Smartctl command:
abort_test: aborts the offline test.
attributes: prints device attributes.
capabilities: prints generic smart capabilities.
error: prints device error messages.
health: prints device health status.
selftest: prints offline test results.
short_test: starts a short offline test.
</tp:docstring>
</arg>
<arg name="result" type="s" direction="out">
<tp:docstring>
Smartctl command output.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="Mmc">
<tp:docstring>
Runs mmc utility.
</tp:docstring>
<arg name="option" type="s" direction="in">
<tp:docstring>
Option to pass to the mmc command:
extcsd_read: print extcsd data from root device.
extcsd_dump: print raw extcsd data from root device.
</tp:docstring>
</arg>
<arg name="result" type="s" direction="out">
<tp:docstring>
`mmc` command output.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="Nvme">
<tp:docstring>
Runs nvme utility.
</tp:docstring>
<arg name="option" type="s" direction="in">
<tp:docstring>
Option to pass to the nvme command:
identify_controller: prints nvme device identity data.
short_self_test: launches short-time nvme self-test.
long_self_test: launches long-time nvme self-test.
stop_self_test: stops nvme self-test.
</tp:docstring>
</arg>
<arg name="result" type="s" direction="out">
<tp:docstring>
`nvme` command output.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="NvmeLog">
<tp:docstring>
Runs nvme utility to fetch log message.
</tp:docstring>
<arg name="page_id" type="u" direction="in">
<tp:docstring>
ID of desired log page in NVMe controller.
</tp:docstring>
</arg>
<arg name="length" type="u" direction="in">
<tp:docstring>
Required length of byte-data.
</tp:docstring>
</arg>
<arg name="raw_binary" type="b" direction="in">
<tp:docstring>
Flag to NVMe controller for raw binary output.
</tp:docstring>
</arg>
<arg name="result" type="s" direction="out">
<tp:docstring>
`nvme` command output.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="MemtesterStart">
<tp:docstring>
Starts running memtester.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send output to.
</tp:docstring>
</arg>
<arg name="memory" type="u" direction="in">
<tp:docstring>
The amount of memory to allocate and test in megabytes.
</tp:docstring>
</arg>
<arg name="status" type="s" direction="out">
<tp:docstring>
Opaque handle to the memtester.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="MemtesterStop">
<tp:docstring>
Stops running memtester.
</tp:docstring>
<arg name="handle" type="s" direction="in">
<tp:docstring>
Handle to the memtester to stop. If an empty string is passed, stops
all running memtests.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="BadblocksStart">
<tp:docstring>
Starts running badblocks test.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send output to.
</tp:docstring>
</arg>
<arg name="status" type="s" direction="out">
<tp:docstring>
Opaque handle to the badblocks.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="BadblocksStop">
<tp:docstring>
Stops running badblocks.
</tp:docstring>
<arg name="handle" type="s" direction="in">
<tp:docstring>
Handle to the badblocks to stop. If an empty string is passed, stops
all running badblocks.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="PacketCaptureStart">
<tp:docstring>
Starts a packet capture with the specified options, with diagnostic
status directed to the "statfd" file descriptor and packet capture
data sent to the "outfd" file descriptor. The returned opaque string
functions as a handle for this particular packet capture. Multiple
captures can be running at once. Captures can be initiated on
Ethernet-like devices or WiFi devices in "client mode" (showing only
Ethernet frames) by specifying the "device" parameter (see below).
By specifying a channel, the script will find or create a "monitor
mode" interface if one is available and produce an "over the air"
packet capture. The name of the output packet capture file is sent
to the output file descriptor.
</tp:docstring>
<arg name="statfd" type="h" direction="in">
<tp:docstring>
File descriptor to send status information to.
</tp:docstring>
</arg>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send packet capture output to.
</tp:docstring>
</arg>
<arg name="options" type="a{sv}" direction="in">
<tp:docstring>
Options to pass to the packet capture command. Accepted keys include:
device (string): An existing device to perform a packet capture on.
frequency (int): Radio frequency (in MHz) to perform capture on.
ht_location (string): The string "above" or "below", representing
the offset of any secondary channel used in a 40 MHz HT
(high throughput) caputre.
monitor_connection_on (string): Instead of providing the "frequency"
and "ht_location" parameters above, this paramter specifies the
name of a currently connected 802.11 interface. A packet
capture is initated on the same channel as this connection.
Unrecognized keys return a DBus error and print no output to the
supplied file descriptor.
</tp:docstring>
</arg>
<arg name="handle" type="s" direction="out">
<tp:docstring>
Opaque handle for this packet capture.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="PacketCaptureStop">
<tp:docstring>
Stops a running packet capture.
</tp:docstring>
<arg name="handle" type="s" direction="in">
Handle to the packet capture to stop. If an empty string is passed,
stops all running packet captures.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="LogKernelTaskStates">
<tp:docstring>
Triggers show-task-states(T) SysRq.
See https://www.kernel.org/doc/Documentation/sysrq.txt.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="UploadCrashes">
<tp:docstring>
Triggers uploading of system crashes (the crash_sender program).
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="UploadSingleCrash">
<tp:docstring>
Uploads a single crash report immediately. Crash report data is
contained in the message.
</tp:docstring>
<arg name="files" type="a(sh)" direction="in">
<tp:docstring>
Array of files to include in the crash report. String is the base
file name.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<tp:property name="CrashSenderTestMode" type="b" access="readwrite">
<tp:docstring>
If true, any UploadSingleCrash call will invoke crash_sender with
--test_mode.
</tp:docstring>
</tp:property>
<method name="RemoveRootfsVerification">
<tp:docstring>
Removes rootfs verification. Requires a system reboot before it will
take effect. Restricted to pre-owner dev mode.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="EnableBootFromUsb">
<tp:docstring>
Enables OS booting from a USB image. Restricted to pre-owner dev mode.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="ConfigureSshServer">
<tp:docstring>
Sets up sshd to provide an SSH server immediately and on future reboots.
Also installs the test SSH keys to allow access by cros tools. Requires
that rootfs verification has been removed. Restricted to pre-owner dev
mode.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="SetUserPassword">
<tp:docstring>
Sets both the system and dev mode password for the indicated account.
Restricted to pre-owner dev mode.
</tp:docstring>
<arg name="username" type="s" direction="in">
<tp:docstring>
Username to set the new password for.
</tp:docstring>
</arg>
<arg name="password" type="s" direction="in">
<tp:docstring>
Password to assign.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="EnableChromeRemoteDebugging">
<tp:docstring>
Sets up Chrome for remote debugging. It will take effect after a reboot
and using port 9222.
Requires that rootfs verification has been removed. Restricted to
pre-owner dev mode.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="EnableChromeDevFeatures">
<tp:docstring>
Convenience function to enable a predefined set of tools from the Chrome
UI. Equivalent to calling these functions in order:
1. EnableBootFromUsb()
2. ConfigureSshServer()
3. SetUserPassword("root", root_password)
Requires that rootfs verification has been removed. If any sub-function
fails, this function will exit with an error without attempting any
further configuration or rollback. Restricted to pre-owner dev mode.
</tp:docstring>
<arg name="root_password" type="s" direction="in">
<tp:docstring>
Password to assign to the root user. If the string is empty, it will
default to "test0000".
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="QueryDevFeatures">
<tp:docstring>
Queries which dev features have been enabled. Each dev feature will be
indicated by a bit flag in the return value. Flags are defined in the
DevFeatureFlag enumeration. If the dev tools are unavailable (system is
not in dev mode/pre-login state), the DEV_FEATURES_DISABLED flag will be
set and the rest of the bits will always be set to 0.
</tp:docstring>
<arg name="features" type="i" direction="out">
<tp:docstring>
Feature enabled flags or DEV_FEATURES_DISABLED flag.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<tp:enum name="DevFeatureFlag" type="i">
<tp:docstring>
Bit flags representing individual development features. Currently
dbusxx-xml2cpp does not extract enum values, so any changes here should
be manually flushed to platform/system_api/dbus/service_constants.h.
</tp:docstring>
<tp:enumvalue suffix="DEV_FEATURES_DISABLED" value="0x0001">
<tp:docstring>
Dev features query is unavailable due to access restrictions.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DEV_FEATURE_ROOTFS_VERIFICATION_REMOVED"
value="0x0002">
<tp:docstring>
Rootfs verification has been removed, including the required system
reset.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DEV_FEATURE_BOOT_FROM_USB_ENABLED" value="0x0004">
<tp:docstring>
Booting from USB has been enabled.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DEV_FEATURE_SSH_SERVER_CONFIGURED" value="0x0008">
<tp:docstring>
The SSH server has been configured to auto-start on boot and the test
SSH keys have been installed. Both of these conditions must be met
for this flag to be signaled.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DEV_FEATURE_DEV_MODE_ROOT_PASSWORD_SET"
value="0x0010">
<tp:docstring>
The devmode root account password has been set.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DEV_FEATURE_SYSTEM_ROOT_PASSWORD_SET"
value="0x0020">
<tp:docstring>
The system root account password has been set.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DEV_FEATURE_CHROME_REMOTE_DEBUGGING_ENABLED"
value="0x0040">
<tp:docstring>
The Chrome remote debugging feature has been enabled. Chrome will
be listening on port 9222. The port is not publicly accessible. User
needs to use SSH port forwarding to be able to access it.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
<method name="EnableDevCoredumpUpload">
<tp:docstring>
Allow uploading of device coredump files.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="DisableDevCoredumpUpload">
<tp:docstring>
Disallow uploading of device coredump files.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="SetOomScoreAdj">
<tp:docstring>
Set OOM score by writing scores to procfs /proc/pid/oom_score_adj.
It is an operation which needs root privilege so needs to be handled
carefully:
1. Only user chronos can request the operation.
2. It can only modify processes owned by chronos or run in Android
container.
</tp:docstring>
<arg name="scores" type="a{ii}" direction="in">
<tp:docstring>
Arrays of (pid, score) pairs.
</tp:docstring>
</arg>
<arg name="out" type="s" direction="out">
<tp:docstring>
Output from the helper of the operation. Empty on success.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SwapEnable">
<tp:docstring>
Enable swap file usage via config files.
</tp:docstring>
<arg name="status" type="s" direction="out">
Free-form text reporting status.
</arg>
<arg name="size" type="i" direction="in">
<tp:docstring>
Size (in MB) for the swap file.
</tp:docstring>
</arg>
<arg name="change_now" type="b" direction="in">
<tp:docstring>
Whether to enable immediately, or wait until next reboot.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SwapDisable">
<tp:docstring>
Disable swap file usage via config files.
</tp:docstring>
<arg name="status" type="s" direction="out">
Free-form text reporting status.
</arg>
<arg name="change_now" type="b" direction="in">
<tp:docstring>
Whether to disable immediately, or wait until next reboot.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="KstaledSetRatio">
<tp:docstring>
Sets the ratio to use for kstaled, 0 will disable the feature.
The kstaled ratio is a control of how aggressively kstaled will
attempt to swap, higher values are more aggressive and consume
more CPU.
</tp:docstring>
<arg name="result" type="b" direction="out" />
<arg name="ratio" type="y" direction="in">
<tp:docstring>
The kstaled ratio to use.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="SwapStartStop">
<tp:docstring>
Turn swap usage on/off (leaves config files alone).
</tp:docstring>
<arg name="status" type="s" direction="out">
Free-form text reporting status.
</arg>
<arg name="on" type="b" direction="in">
<tp:docstring>
Whether to turn it on or off.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SwapStatus">
<tp:docstring>
Show current swap status.
</tp:docstring>
<arg name="status" type="s" direction="out">
Free-form text reporting status.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SwapSetParameter">
<tp:docstring>
Persistently change the value of various parameters.
</tp:docstring>
<arg name="status" type="s" direction="out">
Free-form text reporting status.
</arg>
<arg name="command_name" type="s" direction="in">
<tp:docstring>
The name of the swap subcommand, usually set_something.
</tp:docstring>
</arg>
<arg name="value" type="i" direction="in">
<tp:docstring>
The unsigned integer value that some parameter is set to.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SetU2fFlags">
<tp:docstring>
Modify u2fd daemon debugging/override flags.
</tp:docstring>
<arg name="flags" type="s" direction="in">
<tp:docstring>
Flags (comma separated) to force debugging features.
See debugd::u2f_flags in system_api for supported flags.
</tp:docstring>
</arg>
<arg name="status" type="s" direction="out" />
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetU2fFlags">
<tp:docstring>
Get u2fd daemon debugging/override flags.
</tp:docstring>
<arg name="flags" type="s" direction="out">
<tp:docstring>
Flags (comma separated) that are currently set.
See debugd::u2f_flags in system_api for supported flags.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="ContainerStarted">
<tp:docstring>
Notify debugd that a container is starting up.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="ContainerStopped">
<tp:docstring>
Notify debugd that a container has stopped.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SetWifiPowerSave">
<tp:docstring>
Enable/disable WiFi power save mode.
</tp:docstring>
<arg name="enable" type="b" direction="in">
<tp:docstring>
Whether to enable or disable.
</tp:docstring>
</arg>
<arg name="status" type="s" direction="out">
New power save mode, or error.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="GetWifiPowerSave">
<tp:docstring>
Show current WiFi power save mode.
</tp:docstring>
<arg name="status" type="s" direction="out">
Current power save mode.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="RunShillScriptStart">
<tp:docstring>
Run a shill debug script in a sandboxed environment.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to send output to.
</tp:docstring>
</arg>
<arg name="script" type="s" direction="in">
<tp:docstring>
The script to run.
</tp:docstring>
</arg>
<arg name="script_args" type="as" direction="in">
<tp:docstring>
The command line flags to pass to the script.
</tp:docstring>
</arg>
<arg name="handle" type="s" direction="out">
<tp:docstring>
Opaque handle for this run.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="RunShillScriptStop">
<tp:docstring>
Stops a running script.
</tp:docstring>
<arg name="handle" type="s" direction="in">
Handle to the script to stop.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="StartVmPluginDispatcher">
<tp:docstring>
Starts the VM Plugin Dispatcher service. Returns true if the service was
successfully started and is available over dbus, false otherwise.
</tp:docstring>
<arg name="user_id_hash" type="s" direction="in">
Cryptohome ID of the user owning the session that will own this
dispatcher instance.
</arg>
<arg name="lang" type="s" direction="in">
Language that user owning the session has selected for the UI to be
passed to the dispatcher instance.
</arg>
<arg name="status" type="b" direction="out">
Whether the VM Plugin dispatcher service is ready to handle requests.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="async"/>
</method>
<method name="StopVmPluginDispatcher">
<tp:docstring>
Stops the VM Plugin dispatcher service.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="SetRlzPingSent">
<tp:docstring>
Sets should_send_rlz_ping in RW_VPD to 0. Upon success, proceeds to
remove rlz_embargo_end_date in RW_VPD.
</tp:docstring>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="UpdateAndVerifyFWOnUsbStart">
<tp:docstring>
Start updating the GSC FW of the USB-connected device (only if the
device's FW is not up-to-date) and verifying AP and EC RO FW integrity
of the device.
</tp:docstring>
<arg name="outfd" type="h" direction="in">
<tp:docstring>
File descriptor to forward process output to.
</tp:docstring>
</arg>
<arg name="image_file" type="s" direction="in">
<tp:docstring>
Path to the local Cr50 image file.
</tp:docstring>
</arg>
<arg name="ro_db_dir" type="s" direction="in">
<tp:docstring>
Path to the local RO descriptor files folder.
</tp:docstring>
</arg>
<arg name="handle" type="s" direction="out">
<tp:docstring>
Opaque handle for the VerifyRo process.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="UpdateAndVerifyFWOnUsbStop">
<tp:docstring>
Stops a running VerifyRo.
</tp:docstring>
<arg name="handle" type="s" direction="in">
Handle to the VerifyRo process to stop.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="SetSchedulerConfiguration">
<tp:docstring>
Set the scheduler configuration policy.
</tp:docstring>
<arg name="policy" type="s" direction="in">
Either "conservative" or "performance".
</arg>
<arg name="result" type="b" direction="out">
<tp:docstring>
Whether setting the policy was successful.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="EvaluateProbeFunction">
<tp:docstring>
Evaluates a probe statement by the runtime_probe helper with pre-defined
sandbox options in rootfs.
</tp:docstring>
<arg name="probe_statement" type="s" direction="in">
<tp:docstring>
A JSON string representing a probe function which will be executed by
the runtime_probe helper.
</tp:docstring>
</arg>
<arg name="outfd" type="h" direction="out">
<tp:docstring>
File descriptor to send output to.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="SetSchedulerConfigurationV2">
<tp:docstring>
Set the scheduler configuration policy.
</tp:docstring>
<arg name="policy" type="s" direction="in">
Either "conservative" or "performance".
</arg>
<arg name="lock_policy" type="b" direction="in">
Argument to lock the policy till the device is rebooted. Only takes
effect if set to true and policy is "conservative". Results in error if
set to true and the policy is "performance". Has no effect if set to
false.
</arg>
<arg name="result" type="b" direction="out">
<tp:docstring>
Whether setting the policy, and optionally locking it, was successful.
Returns false if locked to "consevative" and the policy argument is
"performance". Returns true if policy was locked to "conservative" and
the policy argument is "conservative".
</tp:docstring>
</arg>
<arg name="num_cores_disabled" type="u" direction="out">
<tp:docstring>
The number of logical CPU cores disabled after the D-Bus call is done.
This is always populated regardless of whether the |result| argument
is true.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="WifiFWDump">
<tp:docstring>
Trigger wifi firmware dump.
</tp:docstring>
<arg name="output" type="s" direction="out">
<tp:docstring>
Output message. Indicates success/failure of the command to the user.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="CollectSmartBatteryMetric">
<tp:docstring>
Runs the ectool i2cread command with pre-defined
sandbox options in rootfs and retrieves the
requested smart battery metric used by cros_healthd.
</tp:docstring>
<arg name="metric_name" type="s" direction="in">
<tp:docstring>
The name of the smart battery cros_healthd wants to collect.
Examples include manufacture_date_smart and temperature_smart.
</tp:docstring>
</arg>
<arg name="output" type="s" direction="out">
<tp:docstring>
Output of the ectool i2cread command.
</tp:docstring>
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="EcGetInventory">
<tp:docstring>
Runs the 'ectool inventory' command with pre-defined
sandbox options in rootfs and returns the output.
</tp:docstring>
<arg name="output" type="s" direction="out">
Returns the output of the 'ectool inventory' command.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="simple"/>
</method>
<method name="CallDmesg">
<tp:docstring>
Runs the command 'dmesg' with the given inputs.
</tp:docstring>
<arg name="options" type="a{sv}" direction="in">
<tp:docstring>
Options to pass to the dmesg command:
show-delta (bool): Display the timestamp and the time delta
spent between messages.
human (bool): Enable human-readable output.
kernel (bool): Print kernel messages.
force-prefix (bool): Add facility, level or timestamp
information to each line of a multi-line message.
raw (bool): Print the raw message buffer.
ctime (bool): Print human-readable timestamps.
notime (bool): Do not print kernel's timestamps.
userspace (bool): Print userspace messages.
decode (bool): Decode facility and level (priority) numbers
to human-readable prefixes.
</tp:docstring>
</arg>
<arg name="output" type="s" direction="out">
Returns the output of the 'dmesg' command.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
<method name="EcTypeCEnterMode">
<tp:docstring>
Runs the 'ectool typeccontrol' command with pre-defined
sandbox options in rootfs to enter a USB Type-C mode on the
specified port.
</tp:docstring>
<arg name="port_num" type="u" direction="in">
<tp:docstring>
The index number of the port for which the enter mode
command will be run. This wil be used in the ectool command
without changes.
</tp:docstring>
</arg>
<arg name="mode" type="u" direction="in">
<tp:docstring>
The mode number argument specifying the mode to be entered.
This will be used in the ectool command directly without changes.
</tp:docstring>
</arg>
<arg name="output" type="s" direction="out">
Returns the output of the 'ectool typeccontrol' command.
</arg>
<annotation name="org.chromium.DBus.Method.Kind" value="normal"/>
</method>
</interface>
</node>