TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags
[wireshark-sm.git] / wsutil / report_message.h
blob6d42664e6774d83af9dc36156a7f839b71cf7522
1 /** @file
2 * Declarations of routines for code that can run in GUI and command-line
3 * environments to use to report errors and warnings to the user (e.g.,
4 * I/O errors, or problems with preference settings) if the message should
5 * be shown as a GUI error in a GUI environment.
7 * The application using libwsutil will register message-reporting
8 * routines, and the routines declared here will call the registered
9 * routines. That way, these routines can be called by code that
10 * doesn't itself know whether to pop up a dialog or print something
11 * to the standard error.
13 * XXX - Should the capture file (_cfile_) routines be moved to libwiretap?
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * SPDX-License-Identifier: GPL-2.0-or-later
22 #ifndef __REPORT_MESSAGE_H__
23 #define __REPORT_MESSAGE_H__
25 #include <wireshark.h>
27 #ifdef __cplusplus
28 extern "C" {
29 #endif /* __cplusplus */
32 * Initialize the report message routines
34 struct report_message_routines {
35 void (*vreport_failure)(const char *, va_list);
36 void (*vreport_warning)(const char *, va_list);
37 void (*report_open_failure)(const char *, int, bool);
38 void (*report_read_failure)(const char *, int);
39 void (*report_write_failure)(const char *, int);
40 void (*report_rename_failure)(const char *, const char *, int);
41 void (*report_cfile_open_failure)(const char *, int, char *);
42 void (*report_cfile_dump_open_failure)(const char *, int, char *, int);
43 void (*report_cfile_read_failure)(const char *, int, char *);
44 void (*report_cfile_write_failure)(const char *, const char *,
45 int, char *, uint64_t, int);
46 void (*report_cfile_close_failure)(const char *, int, char *);
49 WS_DLL_PUBLIC void init_report_message(const char *friendly_program_name,
50 const struct report_message_routines *routines);
53 * Report a general error.
55 WS_DLL_PUBLIC void report_failure(const char *msg_format, ...) G_GNUC_PRINTF(1, 2);
58 * Report a general warning.
60 WS_DLL_PUBLIC void report_warning(const char *msg_format, ...) G_GNUC_PRINTF(1, 2);
63 * Report an error when trying to open a file.
64 * "err" is assumed to be an error code from Wiretap; positive values are
65 * UNIX-style errnos, so this can be used for open failures not from
66 * Wiretap as long as the failure code is just an errno.
68 WS_DLL_PUBLIC void report_open_failure(const char *filename, int err,
69 bool for_writing);
72 * Report an error when trying to read a file.
73 * "err" is assumed to be a UNIX-style errno.
75 WS_DLL_PUBLIC void report_read_failure(const char *filename, int err);
78 * Report an error when trying to write a file.
79 * "err" is assumed to be a UNIX-style errno.
81 WS_DLL_PUBLIC void report_write_failure(const char *filename, int err);
84 * Report an error when trying to rename a file.
85 * "err" is assumed to be a UNIX-style errno.
87 WS_DLL_PUBLIC void report_rename_failure(const char *old_filename,
88 const char *new_filename, int err);
91 * Report an error from opening a capture file for reading.
93 WS_DLL_PUBLIC void report_cfile_open_failure(const char *filename,
94 int err, char *err_info);
97 * Report an error from opening a capture file for writing.
99 WS_DLL_PUBLIC void report_cfile_dump_open_failure(const char *filename,
100 int err, char *err_info, int file_type_subtype);
103 * Report an error from attempting to read from a capture file.
105 WS_DLL_PUBLIC void report_cfile_read_failure(const char *filename,
106 int err, char *err_info);
109 * Report an error from attempting to write to a capture file.
111 WS_DLL_PUBLIC void report_cfile_write_failure(const char *in_filename,
112 const char *out_filename, int err, char *err_info, uint64_t framenum,
113 int file_type_subtype);
116 * Report an error from closing a capture file open for writing.
118 WS_DLL_PUBLIC void report_cfile_close_failure(const char *filename,
119 int err, char *err_info);
122 * Return the "friendly" program name.
124 WS_DLL_PUBLIC const char *get_friendly_program_name(void);
126 #ifdef __cplusplus
128 #endif /* __cplusplus */
130 #endif /* __REPORT_MESSAGE_H__ */