/*-----------------------------------------------------------------------------
  CUSTSERV 
*/

#ifndef CUSTSERV_H
#define CUSTSERV_H

#ifdef CUSTSERV_ALLOCATE
#define EXTERN
#else
#define EXTERN extern
#endif
#define CUST_SERV_FILE_FORMAT  "customize_server_file_format_12_3_97"
#define MAX_CUST_SERV 15
struct CustServ{
   char  checkFileFormat[100];
   UINT4 numOfServ;
   char  aliasName[MAX_CUST_SERV][30];
   char  aliasNameMnemonic[MAX_CUST_SERV];
   char  hostName[MAX_CUST_SERV][30];
   SINT4 hostAlive[MAX_CUST_SERV];
   UINT4 currentHostConnectIdx;
   UINT2 lAutoConnect;
   UINT2 lAutoUpdateAvailServ;
};
EXTERN struct CustServ custServ;
EXTERN UINT2 lProbeServersDone;

/* Widget & callbacks */
EXTERN Widget  custserv_main_c;
EXTERN Widget custserv_lab;
EXTERN Widget custserv_lst;

EXTERN Widget custserv_aliaslab, custserv_aliastxt;

EXTERN Widget custserv_hostlab, custserv_hosttxt;

EXTERN Widget custserv_nservlab, custserv_nservtxt;

EXTERN Widget custserv_autoconnectlab, custserv_autoconnecttgl;
EXTERN Widget custserv_autoconnecttxt;

EXTERN Widget custserv_autoavailservlab, custserv_autoavailservtgl;

EXTERN Widget availserv_lab;
EXTERN Widget availserv_lst;

void  create_custserv(void);
UINT4 load_custserv(void);
void  save_custserv(void);
void  probe_avail_servers(void);
void  update_avail_servers(void);


#undef EXTERN
#endif
