#define ACCOUNT_EDITING      0
#define COMMENT_TO_SYSOP     1
#define DOWNLOAD             2
#define ENTER_MESSAGE        3
#define FILE_LISTINGS        4
#define JOIN_CONFERENCE      5
#define NEW_FILES_SINCE      6
#define PAGE_SYSOP           7
#define READ_MSG             8
#define DISPLAY_USER_STATS   9
#define UPLOAD               10
#define VIEW_A_FILE          11
#define EDIT_USER_INFO       12
#define REMOTE_SHELL         13
#define ZIPPY_TEXT_SEARCH    14
#define OVERRIDE_CHAT        15
#define EDIT_USER_NAME       16
#define EDIT_USER_LOCATION   17
#define EDIT_PHONE_NUMBER    18
#define EDIT_PASSWORD        19
#define SENTBY_FILES         20
#define DEFAULT_CHAT_ON      21
#define CLEAR_SCREEN_MSG     22
#define CAPITOLS_in_FILE     23
#define CHAT_COLOR_SYSOP     24
#define CHAT_COLOR_USER      25
#define VARYING_LINK_RATE    26
#define KEEP_UPLOAD_CREDIT   27
#define ALLOW_FREE_RESUMING  28
#define DO_CALLERSLOG        29
#define DO_UD_LOG            30
#define OVERRIDE_TIMES       41
#define BULLETINS            42
#define SYSOP_READ           43
#define NODE_NUMBER          44
#define SCREEN_TO_FRONT      45
#define ZOO                  46
#define PKAX                 47
#define LHARC                48
#define WARP                 49
#define ZIP                  50
/* Prototypes for functions defined in
acp208.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern struct GadToolsBase *GadToolsBase;

extern struct IntuitionBase *IntuitionBase;

extern struct Library *IconBase;

extern struct Menu *EWinM;

extern int QuietNode[];

extern char StartUpLocation[];

extern char PortName[];

extern struct UserData User_Data;

extern struct ColorSpec ColorSpecs[];

extern struct ColorSpec AmigaSpecs[];

extern struct ColorSpec *Colors;

extern struct UserKeys User_Keys;

extern int Nodes[];

extern int suspend[];

extern int ShowAbout;

extern int EdgeX;

extern int EdgeY;

extern int Width;

extern int Height;

extern int Theight;

extern int DrawPen;

extern int Chat[];

extern int TChat[];

extern int ActiveNodes;

extern int TopOption;

extern struct VisualInfo *VisInfo;

extern Window *EWin;

extern int BM[];

extern struct BUTTON Buttons[];

extern struct Commands *Cmds[];

extern struct StartOption *Sopt[];

extern char ValError[];

extern struct NewMenu *EWinMenu;

extern int Button;

extern int ButtonID;

extern BOOL ShortUp;

extern UBYTE SetOriText[][];

extern struct ACPMessage *msg;

extern struct ACPMessage *cpymsg;

extern long signals;

extern struct MsgPort *mp;

extern struct GfxBase *GfxBase;

extern BOOL ACPError;

extern int Control;

extern int Short;

extern char Blank[];

extern struct User Users[];

extern NewGadget NGAry[];

extern Gadget *Gad_Node_0;

extern Gadget *Gad_Node_1;

extern Gadget *Gad_Node_2;

extern Gadget *Gad_Node_3;

extern Gadget *Gad_Node_4;

extern Gadget *Gad_Node_5;

extern Gadget *Gad_Node_6;

extern Gadget *Gad_Node_7;

extern Gadget *Gad_Node_8;

extern Gadget *Gad_Node_9;

extern Gadget *Gad_Action;

extern Gadget *Gad_User;

extern Gadget *Gad_Location;

extern Gadget *Gad_Baud;

extern Gadget *Gad_ExitNode;

extern Gadget *Gad_NodeOffHook;

extern Gadget *Gad_InstantLogin;

extern Gadget *Gad_AEShell;

extern Gadget *Gad_ToggleChat;

extern Gadget *Gad_SysopLogin;

extern Gadget *Gad_NRAMS;

extern Gadget *Gad_ReserveNode;

extern Gadget *Gad_Accounts;

extern Gadget *Gad_InitModem;

extern Gadget *Gad_LocalLogin;

extern Gadget *Gad_MCP;

extern Gadget *Gad_NodeConfig;

extern Gadget *Gad_NodeChat;

extern Gadget *Gad_SaveWin;

extern Gadget *Gad_Flip;

extern Gadget *Gad_Control;

extern Gadget *Gad_Tops;

extern Gadget *Gad_TopsBox;

extern Gadget *Gad_Short;

extern char *StatAry_Tops[];

extern char **Ary_Tops;

extern Gadget *EGList;

Gadget * InitGads __PROTO((Screen *));

extern int ALine;

extern WORD DIM[];

extern long MasterSig;

extern Screen *Scr;

extern Gadget *gadgets;

extern char StartNode[][];

extern BOOL NodeIdle[];

extern BOOL StartUp;

extern BOOL ZipOn;

extern int notDone;

extern BOOL Down[];

extern UBYTE PublicName[];

extern UWORD Pens[];

int main __PROTO((int , char **));

void CheckMasterSig __PROTO((long ));

void drawborders __PROTO((void));

void FreeGads __PROTO((void));

void OpenMaster __PROTO((void));

void ShutDownMaster __PROTO((void));

void UpdateNode __PROTO((char *, char *, char *, char *, int ));

void HandleEditGadget __PROTO((IMsg *, short ));

void DoButton __PROTO((int , int ));

int Nutton __PROTO((int ));

extern struct ScreenPref Pref;

void LoadScreen __PROTO((void));

void ScreenSave __PROTO((void));

void CallNode __PROTO((int , int ));

void ShowNodes __PROTO((void));

void ClearUsers __PROTO((void));

void DoControl __PROTO((int ));

void ReadStartUp __PROTO((char *));

int CheckConfigNode __PROTO((char *));

void sr __PROTO((char *));

void SetTheGads __PROTO((void));

void ToggleGads __PROTO((void));

void GetCmds __PROTO((int ));

int Validate __PROTO((void));

int TLock __PROTO((char *));

void strlim __PROTO((char *, char *, int ));

void strleft __PROTO((char *, char *));

int atoileft __PROTO((char *));

void ShowQuiet __PROTO((int ));

void Restrict __PROTO((char *));

void Backup __PROTO((char *, int ));

/* Prototypes for functions defined in
AcpCycle.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern char LastUsers[][];

extern char LastUploads[][];

extern char LastDownloads[][];

extern struct NodeUsers NdUser[];

extern struct NodeUsers NdUploads[];

extern struct NodeUsers NdDownloads[];

extern char LastBlank[];

void RegLastUser __PROTO((char *, int ));

void RegNodeUser __PROTO((char *, int ));

void ShowLastUser __PROTO((struct Window *));

void ShowNdLastUser __PROTO((struct Window *, int ));

void RegLastUploads __PROTO((char *, int ));

void RegNodeUploads __PROTO((char *, int ));

void ShowLastUploads __PROTO((struct Window *));

void ShowNdLastUploads __PROTO((struct Window *, int ));

void RegLastDownloads __PROTO((char *, int ));

void RegNodeDownloads __PROTO((char *, int ));

void ShowLastDownloads __PROTO((struct Window *));

void ShowNdLastDownloads __PROTO((struct Window *, int ));

void InitCycles __PROTO((void));

void InitNdCycles __PROTO((void));

extern struct IntuiText t;

void PrintMyText __PROTO((struct RastPort *, char *, int , int ));

/****** FUNCTIONS . H ******/


/*** Funcs in AcpCycle.c ***/

void RegLastUser(char *,int node);
void InitCycles(void);
void GetMyFont(void);
void CloseMyFont(void);
int StartProcess(char *s,ULONG Stack);
void GetIconNodeInfo(int i);
void GetIconBBSInfo(int MaxNodes);
void InitNdCycles(void);
void ShowLastUser(struct Window *);
void RegNodeUser(char *name,int node);
void ShowNdLastUser(struct Window *Win,int node);
void ShowLastDownloads(struct Window *);
void RegNodeDownloads(char *name,int node);
void ShowNdLastDownloads(struct Window *Win,int node);
void ShowLastUploads(struct Window *);
void RegNodeUploads(char *name,int node);
void ShowNdLastUploads(struct Window *Win,int node);
void PrintMyText(struct RastPort *EWin,char *text,int x,int y);

/*
 * DH0:TPL/ACP_defs.h
 *
 * MACHINE GENERATED
 * Dec 03 1991 21:16:29
 */

#include <exec/types.h>
#include <exec/lists.h>
#include <intuition/intuition.h>
#include <intuition/screens.h>
#include <intuition/gadgetclass.h>
#include <libraries/gadtools.h>
#include <clib/gadtools_protos.h>

#define NULPTR    ((void *)0L)
#define Prototype extern       /* DICE special */
typedef struct Gadget        Gadget;
typedef struct Menu          Menu;
typedef struct MenuItem      MenuItem;
typedef struct Window        Window;
typedef struct Screen        Screen;
typedef struct NewGadget     NewGadget;
typedef struct NewMenu       NewMenu;
typedef struct IntuiMessage  IMsg;
typedef struct List          MaxList;
typedef struct Node          MaxNode;
typedef struct TextFont      TextFont;
typedef struct TextAttr      TextAttr;
typedef struct MsgPort       MsgPort;
typedef struct RastPort      RastPort;
typedef struct StringInfo    StringInfo;
typedef struct FileRequester FileRequester;
typedef struct MinList       List;
typedef struct MinNode       Node;

typedef unsigned char  ubyte;
typedef unsigned short uword;
typedef unsigned long  ulong;

/* *** Window pos & size *** */
#define WLEF	  0
#define WTOP	  0
#define WWID	640
#define WHEI	200


#define GLEF_0	  5
#define GTOP_0	 24
#define GWID_0	 55
#define GHEI_0	 11

#define GLEF_1	  5
#define GTOP_1	 35
#define GWID_1	 55
#define GHEI_1	 11

#define GLEF_2	  5
#define GTOP_2	 46
#define GWID_2	 55
#define GHEI_2	 11

#define GLEF_3	  5
#define GTOP_3	 57
#define GWID_3	 55
#define GHEI_3	 11

#define GLEF_4	  5
#define GTOP_4	 68
#define GWID_4	 55
#define GHEI_4	 11

#define GLEF_5	  5
#define GTOP_5	 79
#define GWID_5	 55
#define GHEI_5	 11

#define GLEF_6	  5
#define GTOP_6	 90
#define GWID_6	 55
#define GHEI_6	 11

#define GLEF_7	  5
#define GTOP_7	 101
#define GWID_7	 55
#define GHEI_7	 11

#define GLEF_8	  5
#define GTOP_8	112
#define GWID_8	 55
#define GHEI_8	 11

#define GLEF_9	  5
#define GTOP_9	123
#define GWID_9	 55
#define GHEI_9  11

#define GLEF_Action	435
#define GTOP_Action	 12
#define GWID_Action	133
#define GHEI_Action	 11

#define GLEF_User	 67
#define GTOP_User	 12
#define GWID_User	183
#define GHEI_User	 11

/* *** Gadget Test_11 *** */
#define GLEF_Location	251
#define GTOP_Location	 12
#define GWID_Location	183
#define GHEI_Location	 11

/* *** Gadget Test_11 *** */
#define GLEF_Baud	569
#define GTOP_Baud	 12
#define GWID_Baud	 65
#define GHEI_Baud	 11

/* *** Gadget Cmds *** */
#define GLEF_ExitNode	 4
#define GTOP_ExitNode	188
#define GWID_ExitNode	109
#define GHEI_ExitNode	 10

/* *** Gadget Cmds_12 *** */
#define GLEF_NodeOffHook	114
#define GTOP_NodeOffHook	188
#define GWID_NodeOffHook	109
#define GHEI_NodeOffHook	 10

/* *** Gadget Cmds_13 *** */
#define GLEF_InstantLogin	 4
#define GTOP_InstantLogin	158
#define GWID_InstantLogin	109
#define GHEI_InstantLogin	 10

/* *** Gadget Cmds_14 *** */
#define GLEF_AEShell	 4
#define GTOP_AEShell	168
#define GWID_AEShell	109
#define GHEI_AEShell	 10

/* *** Gadget Cmds_15 *** */
#define GLEF_ToggleChat	 4
#define GTOP_ToggleChat	178
#define GWID_ToggleChat	109
#define GHEI_ToggleChat	 10

/* *** Gadget Cmds_12_16 *** */
#define GLEF_SysopLogin	 4
#define GTOP_SysopLogin	148
#define GWID_SysopLogin	109
#define GHEI_SysopLogin	 10

/* *** Gadget Disabled *** */
#define GLEF_NRAMS	224
#define GTOP_NRAMS	188
#define GWID_NRAMS	109
#define GHEI_NRAMS	 10

/* *** Gadget Cmds_12_18 *** */
#define GLEF_ReserveNode	114
#define GTOP_ReserveNode	158
#define GWID_ReserveNode	109
#define GHEI_ReserveNode	 10

/* *** Gadget Cmds_12_19 *** */
#define GLEF_Accounts	114
#define GTOP_Accounts	168
#define GWID_Accounts	109
#define GHEI_Accounts	 10

/* *** Gadget Cmds_12_20 *** */
#define GLEF_InitModem	114
#define GTOP_InitModem	178
#define GWID_InitModem	109
#define GHEI_InitModem	 10

/* *** Gadget Cmds_12_17_21 *** */
#define GLEF_LocalLogin	114
#define GTOP_LocalLogin	148
#define GWID_LocalLogin	109
#define GHEI_LocalLogin	 10

/* *** Gadget Cmds_12_17_22 *** */
#define GLEF_MCP	224
#define GTOP_MCP    148
#define GWID_MCP	109
#define GHEI_MCP	 10

/* *** Gadget Cmds_12_17_23 *** */
#define GLEF_NodeConfig	224
#define GTOP_NodeConfig	158
#define GWID_NodeConfig	109
#define GHEI_NodeConfig	 10

/* *** Gadget NodeChat *** */
#define GLEF_NodeChat	224
#define GTOP_NodeChat	168
#define GWID_NodeChat	109
#define GHEI_NodeChat	 10

/* *** Gadget Cmds_12_17_25 *** */
#define GLEF_SaveWin	224
#define GTOP_SaveWin	178
#define GWID_SaveWin	109
#define GHEI_SaveWin	 10

#define GLEF_Flip	 4
#define GTOP_Flip	137
#define GWID_Flip	14
#define GHEI_Flip	  10

/* *** Gadget CommandStat_26 *** */
#define GLEF_Control	 19
#define GTOP_Control	137
#define GWID_Control	314
#define GHEI_Control	  10

/* *** Gadget Tops *** */
#define GLEF_Tops	335
#define GTOP_Tops	136
#define GWID_Tops	300
#define GHEI_Tops	 12

/* *** Gadget Short *** */
#define GLEF_Short	 10
#define GTOP_Short	 12
#define GWID_Short	 37
#define GHEI_Short	  9


/* *** BevelBox Stats *** */
#define BLEF_0	 66
#define BTOP_0	 24
#define BWID_0	569
#define BHEI_0	110

/* *** BevelBox Tops *** */
#define BLEF_TopsBox	335
#define BTOP_TopsBox	148
#define BWID_TopsBox	300
#define BHEI_TopsBox	 50



#define GAD_SysopLogin	 0
#define GAD_InstantLogin	 1
#define GAD_AEShell	      2
#define GAD_ToggleChat	 3
#define GAD_ExitNode	 4
#define GAD_LocalLogin	 5
#define GAD_ReserveNode	 6
#define GAD_Accounts	 7
#define GAD_InitModem	 8
#define GAD_NodeOffHook	 9
#define GAD_MCP	      10
#define GAD_NodeConfig	 11
#define GAD_NodeChat	 12
#define GAD_SaveWin	 13
#define GAD_NRAMS	 14
#define GAD_Flip     15
#define GAD_Control	 16
#define GAD_Action	      17
#define GAD_User	      18
#define GAD_Location	 19
#define GAD_Baud          20
#define GAD_Tops	 21
#define GAD_TopsBox  22
#define GAD_Short    23
#define GAD_Node_0	       24
#define GAD_Node_1	       25
#define GAD_Node_2	       26
#define GAD_Node_3	       27
#define GAD_Node_4	       28
#define GAD_Node_5	       29
#define GAD_Node_6	       30
#define GAD_Node_7	       31
#define GAD_Node_8	       32
#define GAD_Node_9	       33
#define ALLGADS	 34

#define NG_Node_0	     (NGAry + GAD_Node_0)
#define NG_Node_1	     (NGAry + GAD_Node_1)
#define NG_Node_2	     (NGAry + GAD_Node_2)
#define NG_Node_3	     (NGAry + GAD_Node_3)
#define NG_Node_4	     (NGAry + GAD_Node_4)
#define NG_Node_5	     (NGAry + GAD_Node_5)
#define NG_Node_6	     (NGAry + GAD_Node_6)
#define NG_Node_7	     (NGAry + GAD_Node_7)
#define NG_Node_8	     (NGAry + GAD_Node_8)
#define NG_Node_9	     (NGAry + GAD_Node_9)
#define NG_Action	     (NGAry + GAD_Action)
#define NG_User	     (NGAry + GAD_User)
#define NG_Location	     (NGAry + GAD_Location)
#define NG_Baud          (NGAry + GAD_Baud)
#define NG_ExitNode	     (NGAry + GAD_ExitNode)
#define NG_NodeOffHook	(NGAry + GAD_NodeOffHook)
#define NG_InstantLogin	(NGAry + GAD_InstantLogin)
#define NG_AEShell	     (NGAry + GAD_AEShell)
#define NG_ToggleChat	(NGAry + GAD_ToggleChat)
#define NG_SysopLogin	(NGAry + GAD_SysopLogin)
#define NG_NRAMS	     (NGAry + GAD_NRAMS)
#define NG_ReserveNode	(NGAry + GAD_ReserveNode)
#define NG_Accounts	     (NGAry + GAD_Accounts)
#define NG_InitModem	(NGAry + GAD_InitModem)
#define NG_LocalLogin	(NGAry + GAD_LocalLogin)
#define NG_MCP	          (NGAry + GAD_MCP)
#define NG_NodeConfig	(NGAry + GAD_NodeConfig)
#define NG_NodeChat	     (NGAry + GAD_NodeChat)
#define NG_SaveWin	     (NGAry + GAD_SaveWin)
#define NG_Flip          (NGAry + GAD_Flip)
#define NG_Control	     (NGAry + GAD_Control)
#define NG_Tops	     (NGAry + GAD_Tops)
#define NG_TopsBox       (NGAry + GAD_TopsBox)
#define NG_Short	     (NGAry + GAD_Short)

#define SV_UNICONIFY      153
#define SV_SYSOPLOG       154
#define SV_LOCALLOG       155
#define SV_ACCOUNTS       156
#define SV_CHAT           157
#define SV_NODEOFFHOOK    158
#define SV_EXITNODE       159
#define SV_INITMODEM      160
#define SV_WHATSUP        161
#define SV_INSTANT        170
#define SV_RESERVE        171
#define SV_CHATTOGGLE     172
#define SV_TOPS           173
#define SV_AESHELL        174
#define SV_START          176
#define SV_NEWMSG         177
#define SV_QUIETNODE      178
#define SV_SETNRAMS       179
/* Prototypes for functions defined in
date.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern char *VerStr;

extern char *MyVerStr;

extern char *ACPVer;

char * GetDate __PROTO((void));

/* Prototypes for functions defined in
IconInfo.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern struct FileLock *pdir;

extern struct FileInfoBlock *dir_info;

void GetIconBBSInfo __PROTO((int ));

void GetIconNodeInfo __PROTO((int ));

int GetFileName __PROTO((char *, char *));

void free_pdir __PROTO((void));

/* Prototypes for functions defined in
mymenus.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern char __chip Version[];

extern int menuset;

void CreateCustomMenus __PROTO((int ));

void MaddNodes __PROTO((int ));

void MaddItem __PROTO((UBYTE , char *, char *, UWORD , LONG , APTR ));

void MaddRem __PROTO((void));

/* Prototypes for functions defined in
parse.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


int ParseImage __PROTO((char *, struct PSTR *));

struct SemiNodestat
{
  char Status;
  char info;
};
struct NodeInfo
{
  char Handle[31];
  ULONG StartTime;
  int ChatColor;
  int Channel;
  int Private;
  struct SemiNodestat Stats[10];
  APTR t;
  APTR s;
  unsigned long tasksignal;
};

struct MultiPort
{
  struct SignalSemaphore semi;
  struct MinList sl_List;
  struct NodeInfo MyNode[10];
  UBYTE SemiName[20];
};

struct SinglePort
{
  struct SignalSemaphore semi;
  struct MinList sl_List;
  APTR  *MultiCom;
  UBYTE SemiName[20];
  int Status;
  char Handle[31];
  char Location[31];
  char Misc1[100];
  char Misc2[100];
};
/* Prototypes for functions defined in
semis.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern struct MultiPort *SemiNodes;

extern struct SinglePort *SingleNode;

extern char MultiName[];

extern char SingleName[];

void CreateSemaphores __PROTO((void));

void InitSemaSemiNodes __PROTO((struct MultiPort *));

void ShutDownSemis __PROTO((void));

/* Prototypes for functions defined in
sercon.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern struct MsgPort *Nport;

extern struct MsgPort *replymp;

extern char NPortName[];

extern char MasterPort[];

extern long sersig;

int Register __PROTO((int ));

void ShutDown __PROTO((void));

BOOL PutToPort __PROTO((struct Message *));

void getuserstring __PROTO((char *, int ));

/* Prototypes for functions defined in
StartProcess.c
 */


#ifndef __NOPROTO

#ifndef __PROTO
#define __PROTO(a) a
#endif

#else
#ifndef __PROTO
#define __PROTO(a) ()

#endif
#endif


extern struct TagItem tags[];

int StartProcess __PROTO((char *, ULONG ));

