diff options
author | Guy Harris <guy@alum.mit.edu> | 2018-12-12 18:16:15 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2018-12-13 03:16:13 +0000 |
commit | 43dfd45faa8af0b239a671b25ab6a398fa32f5c6 (patch) | |
tree | 3ea329a4f3f702e279169382614dcaf553e79431 /version_info.h | |
parent | a34cc98b2ac5a0ad011a1c3a40ce5e59230a9498 (diff) |
Move more version-info-related stuff to version_info.c.
Have a ws_init_version_info() routine that, given an application name
string:
constructs the app-name-and-version-information string, and
saves it;
adds the initial crash information on platforms that support it,
and saves it.
Have show_version() use the saved information and take no arguments.
Add a show_help_header() routine to print the header for --help
command-line options, given a description of the application; it prints
the application name and version information, the description, and the
"See {wireshark.org URL}" line.
Use those routines in various places, including providing the
"application name" string in pcapng SHBs.
Change-Id: I0042a8fcc91aa919ad5c381a8b8674a007ce66df
Reviewed-on: https://code.wireshark.org/review/31029
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Tested-by: Petri Dish Buildbot
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'version_info.h')
-rw-r--r-- | version_info.h | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/version_info.h b/version_info.h index 4dfb74fab2..92857a9f2a 100644 --- a/version_info.h +++ b/version_info.h @@ -19,6 +19,42 @@ extern "C" { #endif /* __cplusplus */ /* + * Initialize information about the program for various purposes, including + * reporting the version and build information for the program, putting + * that information into crash dumps if possible, and giving the program + * name and version information into capture files written by the program + * if possible. + * + * "appname" is a string that appears at the beginning of the information; + * it should include the application name, followed by "(Wireshark)" if + * the program isn't Wireshark. + * + * "prepend_compile_time_info" is called at the start to prepend any + * additional build information before the standard library information. + * + * "append_compile_time_info" is called at the end to append any additional + * build information after the standard library information. This is + * required in order to, for example, put Qt information at the + * end of the string, as we don't use Qt in TShark. + * + * "additional_info" is called at the end to append any additional + * run-time information; this is required in order to, for example, + * put the libcap information at the end of the string, as we currently + * don't use libcap in TShark. + */ +void ws_init_version_info(const char *appname, + void (*prepend_compile_time_info)(GString *), + void (*append_compile_time_info)(GString *), + void (*additional_run_time_info)(GString *)); + +/* + * Get a string giving the application name, as provided to + * ws_init_version_info(), followed by a string giving the + * application version. + */ +const char *get_appname_and_version(void); + +/* * Get various library compile-time versions, put them in a GString, * and return the GString. * @@ -44,8 +80,6 @@ GString *get_compiled_version_info(void (*prepend_info)(GString *), */ GString *get_runtime_version_info(void (*additional_info)(GString *)); -void show_version(const gchar *prog_name, GString *comp_info_str, GString *runtime_info_str); - /* * Return a version number string for Wireshark, including, for builds * from a tree checked out from Wireshark's version control system, @@ -58,6 +92,19 @@ const char *get_ws_vcs_version_info(void); */ void get_ws_version_number(int *major, int *minor, int *micro); +/* + * Show the program name and version number information on the standard + * output; this is used for command-line "show the version" options. + */ +void show_version(void); + +/* + * Show the program name and version number information, a supplied + * description string, and a "See {URL} for more information" message. + * This is used for command-line "help" options. + */ +void show_help_header(const char *description); + #ifdef __cplusplus } #endif /* __cplusplus */ |