/*
 * $Id: status,v 1.8 1999/12/28 00:56:25 joseph Exp $
 *
 */

#ifndef H_status_H
#define H_status_H

#include "defines.h"

typedef struct status_info *status_handle;

status_handle status_create(void);
void status_free(status_handle);

/* Set display fields */
void status_show_misc(status_handle, const char *msg);
void status_show_user(status_handle, const char *name, const char *server);

/* Status window title */
void status_settitle(status_handle, const char *);

/* Total number of messages */
void status_count_total(status_handle, int);

/* Current message */
void status_count(status_handle, int);

#ifndef FEATURE_NOSTATUS
void status_init(int winhan);
void status_close_handler( int winhan );
int status_click( int winhan, int icon, int but );

/* Show status window at user request */
void status_openmanual( void );

/* Set User/Sending label */
void status_set_label(status_handle, const char *);

/* Total bytes in this message */
/* Optional, but call after status_count if used */
void status_bytes_total(status_handle, int);

/* Bytes of this message transferred so far */
void status_bytes(status_handle, int);

/* Total bytes to transfer */
void status_total_total(status_handle, int);

#else
/* no status window */
#define status_init(winhan) {if (winhan) {}}
#define status_close_handler(winhan)
#define status_click(winhan,icon,but) (0)
#define status_openmanual()
#define status_set_label(status,label)
#define status_bytes_total(status,bytestotal)
#define status_bytes(status,bytes) { status_handle h; int x; h= status; x = bytes; }
#define status_total_total(status,total)
#endif

#endif
