Variable: tramp-remote-coding-commands

tramp-remote-coding-commands is a variable defined in tramp-sh.el.gz.

Value

((b64 "base64" "base64 -d -i") (b64 "base64" "base64 -d")
 (b64 "openssl enc -base64" "openssl enc -d -base64")
 (b64 "mimencode -b" "mimencode -u -b")
 (b64 "mmencode -b" "mmencode -u -b")
 (b64 "recode data..base64" "recode base64..data")
 (b64 tramp-perl-encode-with-module tramp-perl-decode-with-module)
 (b64 tramp-perl-encode tramp-perl-decode)
 (b64 tramp-hexdump-awk-encode tramp-awk-decode)
 (b64 tramp-od-awk-encode tramp-awk-decode)
 (uu "uuencode xxx" "uudecode -o /dev/stdout" "test -c /dev/stdout")
 (uu "uuencode xxx" "uudecode -o -") (uu "uuencode xxx" "uudecode -p")
 (uu "uuencode xxx" tramp-uudecode)
 (pack tramp-perl-pack tramp-perl-unpack))

Documentation

List of remote coding commands for inline transfer.

Each item is a list that looks like this:

(FORMAT ENCODING DECODING [TEST])

FORMAT is a symbol describing the encoding/decoding format. It can be b64 for base64 encoding, uu for uu encoding, or pack for simple packing.

ENCODING and DECODING can be strings, giving commands, or symbols, giving variables. If they are strings, then they can contain the "%s" format specifier. If that specifier is present, the input file name will be put into the command line at that spot. If the specifier is not present, the input should be read from standard input.

If they are variables, this variable is a string containing a Perl or Shell implementation for this functionality. This program will be transferred to the remote host, and it is available as shell function with the same name. A "%t" format specifier in the variable value denotes a temporary file.
"%a", "%h" and "%o" format specifiers are replaced by the
respective awk, hexdump and od commands. "%n" is replaced by "2>/dev/null".

The optional TEST command can be used for further tests, whether ENCODING and DECODING are applicable.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp-sh.el.gz
(defconst tramp-remote-coding-commands
  '((b64 "base64" "base64 -d -i")
    ;; "-i" is more robust with older base64 from GNU coreutils.
    ;; However, I don't know whether all base64 versions do supports
    ;; this option.
    (b64 "base64" "base64 -d")
    (b64 "openssl enc -base64" "openssl enc -d -base64")
    (b64 "mimencode -b" "mimencode -u -b")
    (b64 "mmencode -b" "mmencode -u -b")
    (b64 "recode data..base64" "recode base64..data")
    (b64 tramp-perl-encode-with-module tramp-perl-decode-with-module)
    (b64 tramp-perl-encode tramp-perl-decode)
    ;; These are painfully slow, so we put them on the end.
    (b64 tramp-hexdump-awk-encode tramp-awk-decode)
    (b64 tramp-od-awk-encode tramp-awk-decode)
    (uu  "uuencode xxx" "uudecode -o /dev/stdout" "test -c /dev/stdout")
    (uu  "uuencode xxx" "uudecode -o -")
    (uu  "uuencode xxx" "uudecode -p")
    (uu  "uuencode xxx" tramp-uudecode)
    (pack tramp-perl-pack tramp-perl-unpack))
  "List of remote coding commands for inline transfer.
Each item is a list that looks like this:

\(FORMAT ENCODING DECODING [TEST])

FORMAT is a symbol describing the encoding/decoding format.  It can be
`b64' for base64 encoding, `uu' for uu encoding, or `pack' for simple packing.

ENCODING and DECODING can be strings, giving commands, or symbols,
giving variables.  If they are strings, then they can contain
the \"%s\" format specifier.  If that specifier is present, the input
file name will be put into the command line at that spot.  If the
specifier is not present, the input should be read from standard
input.

If they are variables, this variable is a string containing a
Perl or Shell implementation for this functionality.  This
program will be transferred to the remote host, and it is
available as shell function with the same name.  A \"%t\" format
specifier in the variable value denotes a temporary file.
\"%a\", \"%h\" and \"%o\" format specifiers are replaced by the
respective `awk', `hexdump' and `od' commands.  \"%n\" is
replaced by \"2>/dev/null\".

The optional TEST command can be used for further tests, whether
ENCODING and DECODING are applicable.")