__must_check int strwidth(const char *s, size_t *result);
__must_check int sanitize_str(const char *src, size_t max_width,
char **result, size_t *width);
+/**
+ * Return the single line git version string.
+ *
+ * This is what the version subcommands of para_server and para_audiod output.
+ * The function is defined in an auto-generated .c file which gets updated by
+ * the build system when the git version changes.
+ *
+ * \return A pointer to a constant string. Don't free!
+ */
const char *paraslash_version(void);
+
+/**
+ * Return multi-line version information (license, links, etc.).
+ *
+ * All paraslash executables output this when run with -V. Also the version
+ * subcommands of para_server and para_audiod send this string to the client if
+ * the verbose flag was given. The function is defined in the same
+ * auto-generated file as \ref paraslash_version().
+ *
+ * \return A pointer to a constant string. Don't free!
+ */
const char *paraslash_info(void);
+
const char *version_single_line(const char *pfx);
const char *version_text(const char *pfx);
void version_handle_flag(const char *pfx, bool flag);