#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
/*#include <functions.h>*/
#include <exec/types.h>
#include <exec/memory.h>
#include <exec/ports.h>
#include <exec/exec.h>
#include "dh1:source/doors/romconf/doorheader.h"
#include <clib/exec_protos.h>

#define Chat_Reg   1
#define Chat_Give  2
#define Chat_GetIt 3
#define Chat_UnReg 4
#define Chat_Open  5
#define Chat_Close 6
#define Chat_QueryReg 7
#define Chat_QueryOpen 8

extern struct Library *AEBase;
extern int ChatSignal();
#include "dh0:code/aelib/ae_Pragmas.h"
#define isopen(x) ChatSignal(NULL,NULL,NULL,x,Chat_QueryOpen)
#define isreg(x)  ChatSignal(NULL,NULL,NULL,x,Chat_QueryReg)
#define chatopen(x) ChatSignal(NULL,NULL,NULL,x,Chat_Open)
#define chatclose(x) ChatSignal(NULL,NULL,NULL,x,Chat_Close)
extern int sigkey(void);
void hotkey();
void prompt();
void showfile();
void getuserstring();
void getuserdata();
void showgfile();
void sendmessage();
void sendMessage();
void Drop();
void putuserstring();
VOID Register(int node);
VOID ShutDown(VOID);
VOID CloseOut();
void getcmduserstring(char *ostring,int nl);
struct MsgPort *CreatePrt(char *name,LONG pri);
void getmaxuserstring(char *ostring,int nl);
BOOL PutToPort(struct Message *);
int Editfile(char Name[],int len);
void ConOnly(char mstring[],int nl);

#define NODENUM 10
#define NAMELEN 40
#define sm0(a) sm(a,0)
#define sm1(a) sm(a,1)
#define sm2(a) sm(a,2)
#define CTRL(c) (c-'A'+1)
#define FOREVER for(;;)

#define JH_SM 4
#define JH_PM 5
#define JH_HK 6
#define JH_EF 9
#define JH_CK 500

#define ALL -1

enum Activity {
 IDLE, SPARE, DOWN, STDOWN, UP, STUP, HACK, SYSVIEW, VIEWTXT, BULL, ZOOM, STATS,
 OPCHATREQ, OPCHAT, CHATRQ, CHAT, MESBASE, LOGOFF, COMMOP, ACERR, UNKNOWN, DOOR,
 ACEDIT, EDIT, REMOTE, LOGIN, SNOOP, ATCONF, JCONF, FUCK, SCAN, NOCONN, NODEINF,
 STSCAN, LOSSC, MAIL, INACT
};
enum MesType { MES, QUIT, INFO, REQ, ADD, NEWL };
enum MainArg { NONE, ON, OFF, ERR };

struct MSMes
{
 struct Message Msg;
  char String[40];
  int Type;
  int Data;
  int NodeID;
};

#define ESC 27
#define BS 8
#define CR 13
#define LF 10
#define BELL 7
#define FF 12

#define PURPLE 35
#define GREEN 32
#define RED 31
#define CYAN 36
#define YELLOW 33
#define BLUE 34

#define FRAME GREEN
#define INFRAME GREEN

