/* util.h
* Utility definitions
*
- * $Id: util.h,v 1.11 1999/08/18 02:59:05 guy Exp $
+ * $Id: util.h,v 1.22 2000/10/11 07:35:00 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
extern "C" {
#endif /* __cplusplus */
-/* Dialog type. */
-#define ESD_TYPE_INFO 0
-#define ESD_TYPE_WARN 1
-#define ESD_TYPE_CRIT 2
+/*
+ * Given a pathname, return:
+ *
+ * the errno, if an attempt to "stat()" the file fails;
+ *
+ * EISDIR, if the attempt succeeded and the file turned out
+ * to be a directory;
+ *
+ * 0, if the attempt succeeded and the file turned out not
+ * to be a directory.
+ */
+int test_for_directory(const char *);
+
+/*
+ * Given a pathname, return a pointer to the last pathname separator
+ * character in the pathname, or NULL if the pathname contains no
+ * separators.
+ */
+char *find_last_pathname_separator(char *);
-/* Which buttons to display. */
-#define ESD_BTN_OK 0
-#define ESD_BTN_CANCEL 1
+/*
+ * Given a pathname, return the last component.
+ */
+char *get_basename(char *);
-#if __GNUC__ == 2
-void simple_dialog(gint, gint *, gchar *, ...)
- __attribute__((format (printf, 3, 4)));
-#else
-void simple_dialog(gint, gint *, gchar *, ...);
-#endif
+/*
+ * Given a pathname, return a string containing everything but the
+ * last component. NOTE: this overwrites the pathname handed into
+ * it....
+ */
+char *get_dirname(char *);
int create_tempfile(char *, int, const char *);
+/* Returns the user's home directory, via the HOME environment
+ * variable, or a default directory if HOME is not set */
+const char* get_home_dir(void);
+
+/*
+ * Collect command-line arguments as a string consisting of the arguments,
+ * separated by spaces.
+ */
+char *get_args_as_string(int argc, char **argv, int optind);
+
+void ASCII_to_EBCDIC(guint8 *buf, guint bytes);
+guint8 ASCII_to_EBCDIC1(guint8 c);
+void EBCDIC_to_ASCII(guint8 *buf, guint bytes);
+guint8 EBCDIC_to_ASCII1(guint8 c);
+
+#ifdef HAVE_LIBPCAP
+
+GList *get_interface_list(int *err, char *err_str);
+
+/* Error values from "get_interface_list()". */
+#define CANT_GET_INTERFACE_LIST 0 /* error getting list */
+#define NO_INTERFACES_FOUND 1 /* list is empty */
+
+void free_interface_list(GList *if_list);
+
+#endif
+
+/* Compute the difference between two seconds/microseconds time stamps. */
+void compute_timestamp_diff(gint *, gint *, guint32, guint32, guint32, guint32);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */