VSTP(1)

πŸ’– VSTP β€” the VisioBraille file-transfer besties πŸ’–

okay so this is the manual for vstpg and vstpp, from the BrlAPI User's Manual era (iykyk). Two lil tools, one big job: moving files to and from a VisioBraille terminal πŸ¦‹


✨ SYNOPSIS ✨

vstpg [-ifbnd] [-s socketport] [-k keyname] [-o configname] file ...

🌸 DESCRIPTION 🌸

So basically: vstpg gets files from a VisioBraille terminal, and vstpp puts files onto one. G and P, get and put, iconic naming honestly πŸ’…

To actually talk to the terminal, you gotta launch brltty with the BrlNet driver, and tell BrlNet to use the VisioBraille driver. No driver, no chat, no transfer, periodt.

Before putting onto the terminal, file names get truncated to 8 characters, with no extension at all. That's the vibe, that's the limit 😭

Before getting from the terminal, the leading path and the trailing extensions are stripped off... but they get put back for the local filename. So it's not losing your stuff, it's just doing a little costume change πŸŽ€


πŸ‘‘ COMMAND-LINE OPTIONS πŸ‘‘

  • -i β€” asks for confirmation of the transfer, for each file, on the terminal itself. Consent first, always 🫢
  • -f β€” don't ask for that confirmation. This is the default btw.
  • -b β€” if they exist, recursively rename the old files with an added .x suffix, just like logrotate does. Backup brain energy ✨
  • -n β€” do not keep such a backup file. This is the default.
  • -s socketport β€” use socketport as the port number instead of the default one for connecting to BrlNet.
  • -k filename β€” use filename as the key path instead of the default, for reading BrlNet's authentication key πŸ”‘
  • -d β€” use the current directory rather than the download directory (peep vbs_dir below πŸ‘‡).
  • -o filename β€” also read filename as a config file.

πŸŽ€ CONFIG FILE πŸŽ€

Both vstpg and vstpp read a config file at $HOME/.vstprc, and it's full of keywords or equalities, one per line. Anything after a # is ignored β€” that's your comment, bestie πŸ’¬

You can make them also read any other file thanks to the -o option. More files, more power.

Here are the keywords:

  • backup β€” make the -b option the default.
  • nobackup β€” make the -f option the default.

...and the equalities:

  • keyname = filename β€” use this file instead of the default, to find BrlNet's authentication key.
  • socketport = port β€” use this port number, instead of the default, to connect to BrlNet.
  • vbs_ext = .ext β€” use .ext as an extension for downloaded files (.vis by default). This gets overridden on the command line if an extension is provided in the file name.
  • vbs_dir = path β€” use path instead of the current directory for putting files... except when you're using the -d option, or if the filename begins with '.'. Rude little exception but okay 🌸

⭐ RETURNED VALUE ⭐

  • 1 β€” syntax error on command line
  • 2 β€” connection with BrlNet error
  • 3 β€” Unix file error
  • 4 β€” Protocol error
  • 16 β€” interrupted by user

πŸ’€ SHELL EXPANSIONS πŸ’€

okay bestie this is the part where you pay attention, because your shell is out here doing globbing whether you asked or not πŸ™ˆ

Watch out for special chars: * and . are often expanded by your shell. So vstpp * will probably do what you want, putting every file existing in the current directory onto the terminal. Cute, right?

But vstpg * may not do what you want: it'll only get every file which already exists in the current directory, skipping all the ones you just created on your terminal! 😭 The shell already turned that * into a local list before vstpg ever saw it.

If you want to get every file which exists in the terminal, you should use vstpg '*' or something similar (please read your shell manual, fr fr).

The same warning applies to other special chars, such as $, ~, &,... which should be protected by surrounding arguments with quotes (') or by using single backslashes (\) just before them (please read your shell manual).

πŸ¦‹ BUGS πŸ¦‹

The one we could find has been corrected :) slay πŸ’…


🫢 AUTHOR 🫢

Samuel Thibault <samuel.thibault@ens-lyon.org> and Sebastien Hinderer <sebastien.hinderer@ens-lyon.fr>


and that's the whole page, bestie πŸŽ€ this one came from the BrlAPI crew and it's dated 2002-07-15 β€” an absolute classic, no cap. go forth and transfer those files πŸ‘‘βœ¨