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.xsuffix, just likelogrotatedoes. Backup brain energy β¨-nβ do not keep such a backup file. This is the default.-ssocketportβ usesocketportas the port number instead of the default one for connecting to BrlNet.-kfilenameβ usefilenameas the key path instead of the default, for reading BrlNet's authentication key π-dβ use the current directory rather than the download directory (peepvbs_dirbelow π).-ofilenameβ also readfilenameas 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-boption the default.nobackupβ make the-foption 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.extas an extension for downloaded files (.visby default). This gets overridden on the command line if an extension is provided in the file name.vbs_dir = pathβ usepathinstead of the current directory for putting files... except when you're using the-doption, or if the filename begins with'.'. Rude little exception but okay πΈ
β RETURNED VALUE β
1β syntax error on command line2β connection with BrlNet error3β Unix file error4β Protocol error16β 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 πβ¨
π¦ where this page comes from
- alpine 3.24: brltty-doc 6.8-r2 Β· LGPL-2.1-or-later
- arch rolling: brltty 6.9.1-3 Β· LGPL-2.1-or-later
- centos-stream 10: brlapi 0.8.5-16.el10 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later
- centos-stream 9: brlapi 0.8.2-4.el9 Β· LGPLv2+
- centos-stream 9: brlapi 0.8.2-4.el9 Β· LGPLv2+
- debian bookworm: brltty 6.5-7+deb12u1
- debian trixie: brltty 6.7-3.1+deb13u3
- fedora 43: brlapi 0.8.7-4.fc43 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later
- fedora 43: brlapi 0.8.7-4.fc43 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later
- fedora 44: brlapi 0.8.7-8.fc44 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later
- fedora 44: brlapi 0.8.7-8.fc44 Β· LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-or-later
- nixos 26.05: brltty 6.9.1
- nixpkgs unstable: brltty 6.9.1
- opensuse-leap 16.0: brltty-utils 6.8-160000.2.2 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: brltty-utils 6.8-160000.2.2 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: brltty-utils 6.8-160000.2.2 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: brltty-utils 6.8-160000.2.2 Β· LGPL-2.1-or-later
- ubuntu jammy: brltty 6.4-4ubuntu2
- ubuntu jammy: brltty 6.4-4ubuntu3
- ubuntu noble: brltty 6.6-4ubuntu5
- ubuntu questing: brltty 6.7-1ubuntu3
- ubuntu resolute: brltty 6.7-1ubuntu6
- ubuntu stonking: brltty 6.9.1+repack-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms