+2007-01-21 [colin] 2.7.1cvs45
+
+ * src/crash.c
+ * src/exporthtml.c
+ * src/exporthtml.h
+ * src/exportldif.c
+ * src/exportldif.h
+ * src/folder.c
+ * src/folder.h
+ * src/folder_item_prefs.c
+ * src/folder_item_prefs.h
+ * src/folderview.c
+ * src/folderview.h
+ * src/gedit-print.c
+ * src/gedit-print.h
+ * src/main.c
+ * src/main.h
+ * src/common/socket.c
+ * src/common/socket.h
+ * src/gtk/gtkaspell.c
+ * src/gtk/gtkaspell.h
+ * src/gtk/quicksearch.c
+ * src/gtk/quicksearch.h
+ Same
+
2007-01-21 [colin] 2.7.1cvs44
* src/common/utils.c
( cvs diff -u -r 1.13.2.8 -r 1.13.2.9 src/addritem.c; cvs diff -u -r 1.12.2.6 -r 1.12.2.7 src/addritem.h; ) > 2.7.1cvs42.patchset
( cvs diff -u -r 1.3.2.6 -r 1.3.2.7 src/addrselect.c; cvs diff -u -r 1.1.14.5 -r 1.1.14.6 src/addrselect.h; cvs diff -u -r 1.65.2.53 -r 1.65.2.54 src/codeconv.c; cvs diff -u -r 1.15.2.17 -r 1.15.2.18 src/codeconv.h; cvs diff -u -r 1.382.2.354 -r 1.382.2.355 src/compose.c; cvs diff -u -r 1.50.2.30 -r 1.50.2.31 src/compose.h; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/etpan/Makefile.am; cvs diff -u -r -1.1.4.5 -r -1.1.4.6 src/etpan/etpan-log.c; cvs diff -u -r -1.1.4.3 -r -1.1.4.4 src/etpan/etpan-log.h; cvs diff -u -r 1.2.2.15 -r 1.2.2.16 src/gtk/colorlabel.c; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/gtk/colorlabel.h; cvs diff -u -r 1.9.2.14 -r 1.9.2.15 src/gtk/sslcertwindow.c; cvs diff -u -r 1.6.2.5 -r 1.6.2.6 src/gtk/sslcertwindow.h; ) > 2.7.1cvs43.patchset
( cvs diff -u -r 1.36.2.96 -r 1.36.2.97 src/common/utils.c; cvs diff -u -r 1.20.2.43 -r 1.20.2.44 src/common/utils.h; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/etpan/etpan-thread-manager.c; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/etpan/etpan-thread-manager.h; ) > 2.7.1cvs44.patchset
+( cvs diff -u -r 1.23.2.20 -r 1.23.2.21 src/crash.c; cvs diff -u -r 1.5.2.17 -r 1.5.2.18 src/exporthtml.c; cvs diff -u -r 1.1.14.4 -r 1.1.14.5 src/exporthtml.h; cvs diff -u -r 1.1.4.15 -r 1.1.4.16 src/exportldif.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/exportldif.h; cvs diff -u -r 1.213.2.132 -r 1.213.2.133 src/folder.c; cvs diff -u -r 1.87.2.36 -r 1.87.2.37 src/folder.h; cvs diff -u -r 1.2.2.18 -r 1.2.2.19 src/folder_item_prefs.c; cvs diff -u -r 1.2.2.7 -r 1.2.2.8 src/folder_item_prefs.h; cvs diff -u -r 1.207.2.145 -r 1.207.2.146 src/folderview.c; cvs diff -u -r 1.20.2.17 -r 1.20.2.18 src/folderview.h; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/gedit-print.c; cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/gedit-print.h; cvs diff -u -r 1.115.2.129 -r 1.115.2.130 src/main.c; cvs diff -u -r 1.7.2.8 -r 1.7.2.9 src/main.h; cvs diff -u -r 1.13.2.25 -r 1.13.2.26 src/common/socket.c; cvs diff -u -r 1.13.2.10 -r 1.13.2.11 src/common/socket.h; cvs diff -u -r 1.9.2.49 -r 1.9.2.50 src/gtk/gtkaspell.c; cvs diff -u -r 1.5.2.10 -r 1.5.2.11 src/gtk/gtkaspell.h; cvs diff -u -r 1.1.2.59 -r 1.1.2.60 src/gtk/quicksearch.c; cvs diff -u -r 1.1.2.11 -r 1.1.2.12 src/gtk/quicksearch.h; ) > 2.7.1cvs45.patchset
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=44
+EXTRA_VERSION=45
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
return sock_write_all(sock, buf, strlen(buf));
}
-gint fd_read(gint fd, gchar *buf, gint len)
+static gint fd_read(gint fd, gchar *buf, gint len)
{
if (fd_check_io(fd, G_IO_IN) < 0)
return -1;
return ret;
}
-gint fd_getline(gint fd, gchar **str)
+static gint fd_getline(gint fd, gchar **str)
{
gchar buf[BUFFSIZE];
gint len;
gint fd_open_unix (const gchar *path);
gint fd_accept (gint sock);
-gint fd_read (gint sock, gchar *buf, gint len);
gint fd_write (gint sock, const gchar *buf, gint len);
gint fd_write_all (gint sock, const gchar *buf, gint len);
gint fd_gets (gint sock, gchar *buf, gint len);
-gint fd_getline (gint sock, gchar **str);
gint fd_close (gint sock);
/* Functions for SSL */
# include <gnu/libc-version.h>
#endif
-#ifdef SIGTERM
#include "main.h"
-#endif
#include "claws.h"
#include "crash.h"
#include "utils.h"
*/
static void crash_cleanup_exit(void)
{
- extern gchar *get_socket_name(void);
- const char *filename = get_socket_name();
+ const char *filename = claws_get_socket_name();
g_unlink(filename);
}
return retVal;
}
-void exporthtml_set_path( ExportHtmlCtl *ctl, const gchar *value ) {
- g_return_if_fail( ctl != NULL );
- ctl->path = mgu_replace_string( ctl->path, value );
- g_strstrip( ctl->path );
-}
-void exporthtml_set_file_html( ExportHtmlCtl *ctl, const gchar *value ) {
- g_return_if_fail( ctl != NULL );
- ctl->fileHtml = mgu_replace_string( ctl->fileHtml, value );
- g_strstrip( ctl->fileHtml );
-}
-void exporthtml_set_encoding( ExportHtmlCtl *ctl, const gchar *value ) {
- g_return_if_fail( ctl != NULL );
- ctl->encoding = mgu_replace_string( ctl->encoding, value );
- g_strstrip( ctl->encoding );
-}
void exporthtml_set_stylesheet( ExportHtmlCtl *ctl, const gint value ) {
g_return_if_fail( ctl != NULL );
ctl->stylesheet = value;
/* Function prototypes */
ExportHtmlCtl *exporthtml_create( void );
void exporthtml_free ( ExportHtmlCtl *ctl );
-void exporthtml_set_path ( ExportHtmlCtl *ctl,
- const gchar *value );
-void exporthtml_set_file_html ( ExportHtmlCtl *ctl,
- const gchar *value );
-void exporthtml_set_encoding ( ExportHtmlCtl *ctl,
- const gchar *value );
void exporthtml_set_stylesheet ( ExportHtmlCtl *ctl,
const gint value );
void exporthtml_set_name_format ( ExportHtmlCtl *ctl,
g_free( ctl );
}
-/**
- * Specify full file specification of LDIF file.
- * \param ctl Export control data.
- * \param value Full file specification.
- */
-void exportldif_set_path( ExportLdifCtl *ctl, const gchar *value ) {
- g_return_if_fail( ctl != NULL );
- ctl->path = mgu_replace_string( ctl->path, value );
- g_strstrip( ctl->path );
-}
-
/**
* Specify suffix to be used for creating DN entries.
* \param ctl Export control data.
/* Function prototypes */
ExportLdifCtl *exportldif_create ( void );
void exportldif_free ( ExportLdifCtl *ctl );
-void exportldif_set_path ( ExportLdifCtl *ctl,
- const gchar *value );
void exportldif_set_file_html ( ExportLdifCtl *ctl,
const gchar *value );
void exportldif_set_suffix ( ExportLdifCtl *ctl,
void folder_init (Folder *folder,
const gchar *name);
+static gchar *folder_item_get_cache_file (FolderItem *item);
+static gchar *folder_item_get_mark_file (FolderItem *item);
static gchar *folder_get_list_path (void);
static GNode *folder_get_xml_node (Folder *folder);
static Folder *folder_get_from_xml (GNode *node);
gint folder_item_scan_full (FolderItem *item, gboolean filtering);
static void folder_item_update_with_msg (FolderItem *item, FolderItemUpdateFlags update_flags,
MsgInfo *msg);
+static GHashTable *folder_persist_prefs_new (Folder *folder);
+static void folder_persist_prefs_free (GHashTable *pptable);
+static void folder_item_restore_persist_prefs (FolderItem *item, GHashTable *pptable);
+
void folder_system_init(void)
{
return NULL;
}
-gchar *folder_get_identifier(Folder *folder)
+static gchar *folder_get_identifier(Folder *folder)
{
gchar *type_str;
return name;
}
-Folder *folder_get_default_folder(void)
-{
- return folder_list ? FOLDER(folder_list->data) : NULL;
-}
-
gboolean folder_have_mailbox (void)
{
GList *cur;
return folder->klass->is_msg_changed(folder, item, msginfo);
}
-gchar *folder_item_get_cache_file(FolderItem *item)
+static gchar *folder_item_get_cache_file(FolderItem *item)
{
gchar *path;
gchar *file;
return file;
}
-gchar *folder_item_get_mark_file(FolderItem *item)
+static gchar *folder_item_get_mark_file(FolderItem *item)
{
gchar *path;
gchar *file;
* (note that in claws other options are in the folder_item_prefs_RC
* file, so those don't need to be included in PersistPref yet)
*/
-GHashTable *folder_persist_prefs_new(Folder *folder)
+static GHashTable *folder_persist_prefs_new(Folder *folder)
{
GHashTable *pptable;
return pptable;
}
-void folder_persist_prefs_free(GHashTable *pptable)
+static void folder_persist_prefs_free(GHashTable *pptable)
{
g_return_if_fail(pptable);
g_hash_table_foreach_remove(pptable, persist_prefs_free, NULL);
g_hash_table_destroy(pptable);
}
-const PersistPrefs *folder_get_persist_prefs(GHashTable *pptable, const char *name)
+static const PersistPrefs *folder_get_persist_prefs(GHashTable *pptable, const char *name)
{
if (pptable == NULL || name == NULL) return NULL;
return g_hash_table_lookup(pptable, name);
}
-void folder_item_restore_persist_prefs(FolderItem *item, GHashTable *pptable)
+static void folder_item_restore_persist_prefs(FolderItem *item, GHashTable *pptable)
{
const PersistPrefs *pp;
gchar *id = folder_item_get_identifier(item);
FolderClass *folder_get_class_from_string (const gchar *str);
FolderItem *folder_find_child_item_by_name (FolderItem *item,
const gchar *name);
-gchar *folder_get_identifier (Folder *folder);
gchar *folder_item_get_identifier (FolderItem *item);
FolderItem *folder_find_item_from_identifier (const gchar *identifier);
gchar *folder_item_get_name (FolderItem *item);
-Folder *folder_get_default_folder (void);
FolderItem *folder_get_default_inbox (void);
FolderItem *folder_get_default_outbox (void);
FolderItem *folder_get_default_draft (void);
gboolean folder_item_is_msg_changed (FolderItem *item,
MsgInfo *msginfo);
/* return value is locale chaset */
-gchar *folder_item_get_cache_file (FolderItem *item);
-gchar *folder_item_get_mark_file (FolderItem *item);
gchar * folder_item_get_identifier (FolderItem * item);
-GHashTable *folder_persist_prefs_new (Folder *folder);
-void folder_persist_prefs_free (GHashTable *pptable);
-const PersistPrefs *folder_get_persist_prefs
- (GHashTable *pptable, const char *name);
-
-void folder_item_restore_persist_prefs (FolderItem *item, GHashTable *pptable);
void folder_clean_cache_memory (FolderItem *protected_item);
void folder_clean_cache_memory_force (void);
void folder_item_write_cache (FolderItem *item);
*/
}
-void folder_item_prefs_set_config(FolderItem * item,
- int sort_type, gint sort_mode)
-{
- g_assert(item);
- g_warning("folder_item_prefs_set_config() should never be called\n");
- item->sort_key = sort_type;
- item->sort_type = sort_mode;
-}
-
static FolderItemPrefs *folder_item_prefs_clear(FolderItemPrefs *prefs)
{
prefs->sort_by_number = FALSE;
g_free(prefs);
}
-gint folder_item_prefs_get_sort_mode(FolderItem * item)
-{
- g_assert(item != NULL);
- g_warning("folder_item_prefs_get_sort_mode() should never be called\n");
- return item->sort_key;
-}
-
-gint folder_item_prefs_get_sort_type(FolderItem * item)
-{
- g_assert(item != NULL);
- g_warning("folder_item_prefs_get_sort_type() should never be called\n");
- return item->sort_type;
-}
-
#define SAFE_STRING(str) \
(str) ? (str) : ""
void folder_item_prefs_read_config(FolderItem * item);
void folder_item_prefs_save_config(FolderItem * item);
-void folder_item_prefs_set_config(FolderItem * item,
- int sort_type, gint sort_mode);
FolderItemPrefs *folder_item_prefs_new(void);
void folder_item_prefs_free(FolderItemPrefs * prefs);
-gint folder_item_prefs_get_sort_type(FolderItem * item);
-gint folder_item_prefs_get_sort_mode(FolderItem * item);
void folder_item_prefs_copy_prefs(FolderItem * src, FolderItem * dest);
#endif /* FOLDER_ITEM_PREFS_H */
static GdkPixmap *readxpm;
static GdkBitmap *readxpmmask;
-
static void folderview_select_node (FolderView *folderview,
GtkCTreeNode *node);
static void folderview_set_folders (FolderView *folderview);
return gtk_ctree_node_get_row_data(ctree, folderview->selected);
}
-void folderview_update_msg_num(FolderView *folderview, GtkCTreeNode *row)
-{
- GtkCTree *ctree = GTK_CTREE(folderview->ctree);
- static GtkCTreeNode *prev_row = NULL;
- FolderItem *item;
- gint new, unread, total;
- gchar *new_str, *unread_str, *total_str;
- gint *col_pos = folderview->col_pos;
-
- if (!row) return;
-
- item = gtk_ctree_node_get_row_data(ctree, row);
- if (!item) return;
-
- gtk_ctree_node_get_text(ctree, row, col_pos[F_COL_NEW], &new_str);
- gtk_ctree_node_get_text(ctree, row, col_pos[F_COL_UNREAD], &unread_str);
- gtk_ctree_node_get_text(ctree, row, col_pos[F_COL_TOTAL], &total_str);
- new = atoi(new_str);
- unread = atoi(unread_str);
- total = atoi(total_str);
-
- prev_row = row;
-
- folderview_update_node(folderview, row);
-}
-
-void folderview_append_item(FolderItem *item)
-{
- GList *list;
-
- g_return_if_fail(item != NULL);
- g_return_if_fail(item->folder != NULL);
- if (folder_item_parent(item)) return;
-
- for (list = folderview_list; list != NULL; list = list->next) {
- FolderView *folderview = (FolderView *)list->data;
- GtkCTree *ctree = GTK_CTREE(folderview->ctree);
- GtkCTreeNode *node, *child;
- gint *col_pos = folderview->col_pos;
-
- node = gtk_ctree_find_by_row_data(ctree, NULL,
- folder_item_parent(item));
- if (node) {
- child = gtk_ctree_find_by_row_data(ctree, node, item);
- if (!child) {
- gchar *text[N_FOLDER_COLS] =
- {NULL, "0", "0", "0"};
-
- gtk_clist_freeze(GTK_CLIST(ctree));
-
- text[col_pos[F_COL_FOLDER]] = item->name;
- child = gtk_sctree_insert_node
- (ctree, node, NULL, text,
- FOLDER_SPACING,
- folderxpm, folderxpmmask,
- folderopenxpm, folderopenxpmmask,
- FALSE, FALSE);
- gtk_ctree_node_set_row_data(ctree, child, item);
- gtk_ctree_expand(ctree, node);
- folderview_update_node(folderview, child);
- folderview_sort_folders(folderview, node,
- item->folder);
-
- gtk_clist_thaw(GTK_CLIST(ctree));
- }
- }
- }
-}
-
static void folderview_set_folders(FolderView *folderview)
{
GList *list;
return FALSE;
}
-static void folderview_update_item_foreach_func(gpointer key, gpointer val,
- gpointer data)
-{
- /* CLAWS: share this joy with other hook functions ... */
- folder_item_update((FolderItem *)key,
- (FolderItemUpdateFlags)GPOINTER_TO_INT(data));
-}
-
-void folderview_update_item_foreach(GHashTable *table, gboolean update_summary)
-{
- GList *list;
- FolderItemUpdateFlags flags;
-
- flags = update_summary ? F_ITEM_UPDATE_CONTENT | F_ITEM_UPDATE_MSGCNT
- : 0;
- for (list = folderview_list; list != NULL; list = list->next)
- g_hash_table_foreach(table, folderview_update_item_foreach_func,
- GINT_TO_POINTER(flags));
-}
-
static gboolean folderview_gnode_func(GtkCTree *ctree, guint depth,
GNode *gnode, GtkCTreeNode *cnode,
gpointer data)
FolderItem *folderview_get_selected_item(FolderView *folderview);
-void folderview_update_msg_num (FolderView *folderview,
- GtkCTreeNode *row);
-
-void folderview_append_item (FolderItem *item);
-
void folderview_rescan_tree (Folder *folder,
gboolean rebuild);
void folderview_fast_rescan_tree (Folder *folder);
gint folderview_check_new (Folder *folder);
void folderview_check_new_all (void);
-void folderview_update_item_foreach (GHashTable *table,
- gboolean update_summary);
void folderview_update_all_updated (gboolean update_summary);
void folderview_move_folder (FolderView *folderview,
}
}
-void
-gedit_print_preview (GtkTextView *view)
-{
- GeditPrintJobInfo *pji;
- GtkTextIter start, end;
-
- gedit_debug (DEBUG_PRINT, "");
-
- g_return_if_fail (view != NULL);
-
- pji = gedit_print_job_info_new (view);
-
- gtk_text_buffer_get_bounds (pji->doc, &start, &end);
-
- pji->preview = PREVIEW;
- gedit_print_preview_real (pji, &start, &end,
- GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (view))));
-}
-
static GeditPrintJobInfo *
gedit_print_job_info_new (GtkTextView* view)
{
#include <gtk/gtktextview.h>
void gedit_print (GtkTextView* view);
-void gedit_print_preview (GtkTextView* view);
#endif
#endif /* __GEDIT_PRINT_H__ */
/******************************************************************************/
static gint get_textview_buffer_charcount(GtkTextView *view);
+static void gtkaspell_free_dictionary_list (GSList *list);
+static GSList* gtkaspell_get_dictionary_list (const char *aspell_path,
+ gint refresh);
+
+static void gtkaspell_uncheck_all (GtkAspell *gtkaspell);
+
static gint get_textview_buffer_charcount(GtkTextView *view)
{
GtkTextBuffer *buffer;
return TRUE;
}
-guchar *gtkaspell_get_dict(GtkAspell *gtkaspell)
-{
-
- g_return_val_if_fail(gtkaspell->gtkaspeller->config, NULL);
- g_return_val_if_fail(gtkaspell->gtkaspeller->dictionary, NULL);
-
- return (guchar *)g_strdup(gtkaspell->gtkaspeller->dictionary->dictname);
-}
-
-guchar *gtkaspell_get_path(GtkAspell *gtkaspell)
-{
- guchar *path;
- Dictionary *dict;
-
- g_return_val_if_fail(gtkaspell->gtkaspeller->config, NULL);
- g_return_val_if_fail(gtkaspell->gtkaspeller->dictionary, NULL);
-
- dict = gtkaspell->gtkaspeller->dictionary;
- path = (guchar *)g_strndup(dict->fullname, dict->dictname - dict->fullname);
-
- return path;
-}
-
/* set_sug_mode_cb() - Menu callback: Set the suggestion mode */
static void set_sug_mode_cb(GtkMenuItem *w, GtkAspell *gtkaspell)
{
gtk_widget_show_all(dialog);
}
-void gtkaspell_uncheck_all(GtkAspell * gtkaspell)
+static void gtkaspell_uncheck_all(GtkAspell * gtkaspell)
{
GtkTextView *gtktext;
GtkTextBuffer *buffer;
}
/* gtkaspell_get_dictionary_list() - returns list of dictionary names */
-GSList *gtkaspell_get_dictionary_list(const gchar *aspell_path, gint refresh)
+static GSList *gtkaspell_get_dictionary_list(const gchar *aspell_path, gint refresh)
{
GSList *list;
Dictionary *dict;
return list;
}
-void gtkaspell_free_dictionary_list(GSList *list)
+static void gtkaspell_free_dictionary_list(GSList *list)
{
Dictionary *dict;
GSList *walk;
void gtkaspell_delete (GtkAspell *gtkaspell);
-guchar* gtkaspell_get_dict (GtkAspell *gtkaspell);
gboolean gtkaspell_change_dict (GtkAspell *gtkaspell,
const gchar* dictionary,
gboolean gtkaspell_change_alt_dict (GtkAspell *gtkaspell,
const gchar* alt_dictionary);
-guchar* gtkaspell_get_path (GtkAspell *gtkaspell);
gboolean gtkaspell_set_sug_mode (GtkAspell *gtkaspell,
gint themode);
-GSList* gtkaspell_get_dictionary_list (const char *aspell_path,
- gint refresh);
-
-void gtkaspell_free_dictionary_list (GSList *list);
-
void gtkaspell_check_forwards_go (GtkAspell *gtkaspell);
void gtkaspell_check_backwards (GtkAspell *gtkaspell);
void gtkaspell_check_all (GtkAspell *gtkaspell);
-void gtkaspell_uncheck_all (GtkAspell *gtkaspell);
void gtkaspell_highlight_all (GtkAspell *gtkaspell);
GtkWidget* gtkaspell_dictionary_option_menu_new (const gchar *aspell_path);
static void quicksearch_set_running(QuickSearch *quicksearch, gboolean run);
static void quicksearch_set_active(QuickSearch *quicksearch, gboolean active);
static void quicksearch_reset_folder_items(QuickSearch *quicksearch, FolderItem *folder_item);
+static gchar *expand_search_string(const gchar *str);
gboolean quicksearch_is_fast(QuickSearch *quicksearch)
{
}
/* allow Mutt-like patterns in quick search */
-gchar *expand_search_string(const gchar *search_string)
+static gchar *expand_search_string(const gchar *search_string)
{
int i = 0;
gchar term_char, save_char;
QuickSearchExecuteCallback callback,
gpointer data);
gboolean quicksearch_match(QuickSearch *quicksearch, MsgInfo *msginfo);
-gchar *expand_search_string(const gchar *str);
gboolean quicksearch_is_running(QuickSearch *quicksearch);
gboolean quicksearch_has_focus(QuickSearch *quicksearch);
void quicksearch_pass_key(QuickSearch *quicksearch, guint val, GdkModifierType mod);
gint source,
GdkInputCondition condition);
-gchar *get_socket_name (void);
-
-
static void open_compose_new (const gchar *address,
GPtrArray *attach_files);
* CLAWS: want this public so crash dialog can delete the
* lock file too
*/
-gchar *get_socket_name(void)
+gchar *claws_get_socket_name(void)
{
static gchar *filename = NULL;
gint uxsock;
gchar *path;
- path = get_socket_name();
+ path = claws_get_socket_name();
uxsock = fd_connect_unix(path);
if (uxsock < 0) {
g_unlink(path);
gdk_input_remove(lock_socket_tag);
}
fd_close(lock_socket);
- filename = get_socket_name();
+ filename = claws_get_socket_name();
g_unlink(filename);
#endif
gboolean clean_quit (gpointer data);
gboolean claws_is_exiting(void);
gboolean claws_is_starting(void);
+gchar *claws_get_socket_name(void);
#endif /* __MAIN_H__ */