summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-40/man1/varlinkctl.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/fedora-40/man1/varlinkctl.1')
-rw-r--r--upstream/fedora-40/man1/varlinkctl.1324
1 files changed, 324 insertions, 0 deletions
diff --git a/upstream/fedora-40/man1/varlinkctl.1 b/upstream/fedora-40/man1/varlinkctl.1
new file mode 100644
index 00000000..61b4aa3c
--- /dev/null
+++ b/upstream/fedora-40/man1/varlinkctl.1
@@ -0,0 +1,324 @@
+'\" t
+.TH "VARLINKCTL" "1" "" "systemd 255" "varlinkctl"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+varlinkctl \- Introspect with and invoke Varlink services
+.SH "SYNOPSIS"
+.HP \w'\fBvarlinkctl\fR\ 'u
+\fBvarlinkctl\fR [OPTIONS...] info \fIADDRESS\fR
+.HP \w'\fBvarlinkctl\fR\ 'u
+\fBvarlinkctl\fR [OPTIONS...] list\-interfaces \fIADDRESS\fR
+.HP \w'\fBvarlinkctl\fR\ 'u
+\fBvarlinkctl\fR [OPTIONS...] introspect \fIADDRESS\fR \fIINTERFACE\fR
+.HP \w'\fBvarlinkctl\fR\ 'u
+\fBvarlinkctl\fR [OPTIONS...] call \fIADDRESS\fR \fIMETHOD\fR [\fIPARAMETERS\fR]
+.HP \w'\fBvarlinkctl\fR\ 'u
+\fBvarlinkctl\fR [OPTIONS...] validate\-idl [\fIFILE\fR]
+.SH "DESCRIPTION"
+.PP
+\fBvarlinkctl\fR
+may be used to introspect and invoke
+\m[blue]\fBVarlink\fR\m[]\&\s-2\u[1]\d\s+2
+services\&.
+.PP
+Services are referenced by one of the following:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A Varlink service reference starting with the
+"unix:"
+string, followed by an absolute
+\fBAF_UNIX\fR
+path, or by
+"@"
+and an arbitrary string (the latter for referencing sockets in the abstract namespace)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A Varlink service reference starting with the
+"exec:"
+string, followed by an absolute path of a binary to execute\&.
+.RE
+.PP
+For convenience these two simpler (redundant) service address syntaxes are also supported:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A file system path to an
+\fBAF_UNIX\fR
+socket, either absolute (i\&.e\&. begins with
+"/") or relative (in which case it must begin with
+"\&./")\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+A file system path to an executable, either absolute or relative (as above, must begin with
+"/", resp\&.
+"\&./")\&.
+.RE
+.SH "COMMANDS"
+.PP
+The following commands are understood:
+.PP
+\fBinfo\fR \fIADDRESS\fR
+.RS 4
+Show brief information about the specified service, including vendor name and list of implemented interfaces\&. Expects a service address in the formats described above\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBlist\-interfaces\fR \fIADDRESS\fR
+.RS 4
+Show list of interfaces implemented by the specified service\&. Expects a service address in the formats described above\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBintrospect\fR \fIADDRESS\fR \fIINTERFACE\fR
+.RS 4
+Show interface definition of the specified interface provided by the specified service\&. Expects a service address in the formats described above and a Varlink interface name\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBcall\fR \fIADDRESS\fR \fIMETHOD\fR [\fIARGUMENTS\fR]
+.RS 4
+Call the specified method of the specified service\&. Expects a service address in the format described above, a fully qualified Varlink method name, and a JSON arguments object\&. If the arguments object is not specified, it is read from STDIN instead\&. To pass an empty list of parameters, specify the empty object
+"{}"\&.
+.sp
+The reply parameters are written as JSON object to STDOUT\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBvalidate\-idl\fR [\fIFILE\fR]
+.RS 4
+Reads a Varlink interface definition file, parses and validates it, then outputs it with syntax highlighting\&. This checks for syntax and internal consistency of the interface\&. Expects a file name to read the interface definition from\&. If omitted reads the interface definition from STDIN\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fBhelp\fR
+.RS 4
+Show command syntax help\&.
+.sp
+Added in version 255\&.
+.RE
+.SH "OPTIONS"
+.PP
+The following options are understood:
+.PP
+\fB\-\-more\fR
+.RS 4
+When used with
+\fBcall\fR: expect multiple method replies\&. If this flag is set the method call is sent with the
+\fBmore\fR
+flag set, which tells the service to generate multiple replies, if needed\&. The command remains running until the service sends a reply message that indicates it is the last in the series\&. This flag should be set only for method calls that support this mechanism\&.
+.sp
+If this mode is enabled output is automatically switched to JSON\-SEQ mode, so that individual reply objects can be easily discerned\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-oneway\fR
+.RS 4
+When used with
+\fBcall\fR: do not expect a method reply\&. If this flag is set the method call is sent with the
+\fBoneway\fR
+flag set (the command exits immediately after), which tells the service not to generate a reply\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-json=\fR\fIMODE\fR
+.RS 4
+Selects the JSON output formatting, one of
+"pretty"
+(for nicely indented, colorized output) or
+"short"
+(for terse output with minimal whitespace and no newlines), defaults to
+"short"\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-j\fR
+.RS 4
+Equivalent to
+\fB\-\-json=pretty\fR
+when invoked interactively from a terminal\&. Otherwise equivalent to
+\fB\-\-json=short\fR, in particular when the output is piped to some other program\&.
+.sp
+Added in version 255\&.
+.RE
+.PP
+\fB\-\-no\-pager\fR
+.RS 4
+Do not pipe output into a pager\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Print a short help text and exit\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print a short version string and exit\&.
+.RE
+.SH "EXAMPLES"
+.PP
+\fBExample\ \&1.\ \&Investigating a Service\fR
+.PP
+The following three commands inspect the
+"io\&.systemd\&.Resolve"
+service implemented by
+\fBsystemd-resolved.service\fR(8), listing general service information and implemented interfaces, and then displaying the interface definition of its primary interface:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ varlinkctl info /run/systemd/resolve/io\&.systemd\&.Resolve
+ Vendor: The systemd Project
+ Product: systemd (systemd\-resolved)
+ Version: 254 (254\-1522\-g4790521^)
+ URL: https://systemd\&.io/
+Interfaces: io\&.systemd
+ io\&.systemd\&.Resolve
+ org\&.varlink\&.service
+$ varlinkctl list\-interfaces /run/systemd/resolve/io\&.systemd\&.Resolve
+io\&.systemd
+io\&.systemd\&.Resolve
+org\&.varlink\&.service
+$ varlinkctl introspect /run/systemd/resolve/io\&.systemd\&.Resolve io\&.systemd\&.Resolve
+interface io\&.systemd\&.Resolve
+type ResolvedAddress(
+ ifindex: ?int,
+ \&...
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+(Interface definition has been truncated in the example above, in the interest of brevity\&.)
+.PP
+\fBExample\ \&2.\ \&Invoking a Method\fR
+.PP
+The following command resolves a hostname via
+\fBsystemd-resolved.service\fR(8)\*(Aqs
+\fBResolveHostname\fR
+method call\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$ varlinkctl call /run/systemd/resolve/io\&.systemd\&.Resolve io\&.systemd\&.Resolve\&.ResolveHostname \*(Aq{"name":"systemd\&.io","family":2}\*(Aq \-j
+{
+ "addresses" : [
+ {
+ "ifindex" : 2,
+ "family" : 2,
+ "address" : [
+ 185,
+ 199,
+ 111,
+ 153
+ ]
+ }
+ ],
+ "name" : "systemd\&.io",
+ "flags" : 1048577
+}
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBExample\ \&3.\ \&Investigating a Service Executable\fR
+.PP
+The following command inspects the
+/usr/lib/systemd/systemd\-pcrextend
+executable and the IPC APIs it provides\&. It then invokes a method on it:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+# varlinkctl info /usr/lib/systemd/systemd\-pcrextend
+ Vendor: The systemd Project
+ Product: systemd (systemd\-pcrextend)
+ Version: 254 (254\-1536\-g97734fb)
+ URL: https://systemd\&.io/
+Interfaces: io\&.systemd
+ io\&.systemd\&.PCRExtend
+ org\&.varlink\&.service
+# varlinkctl introspect /usr/lib/systemd/systemd\-pcrextend io\&.systemd\&.PCRExtend
+interface io\&.systemd\&.PCRExtend
+
+method Extend(
+ pcr: int,
+ text: ?string,
+ data: ?string
+) \-> ()
+# varlinkctl call /usr/lib/systemd/systemd\-pcrextend io\&.systemd\&.PCRExtend\&.Extend \*(Aq{"pcr":15,"text":"foobar"}\*(Aq
+{}
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+\fBbusctl\fR(1),
+\m[blue]\fBVarlink\fR\m[]\&\s-2\u[1]\d\s+2
+.SH "NOTES"
+.IP " 1." 4
+Varlink
+.RS 4
+\%https://varlink.org/
+.RE