
/* main.c */
VOID main(int argc, char **argv);
VOID SPrintf(STRPTR buffer, STRPTR formatString, ...);
BOOL startUp(struct PopData *pd);
VOID shutDown(struct PopData *pd);
BOOL getScreenData(struct PopData *pd);
VOID freeScreenData(struct PopData *pd);
ULONG __saveds __asm serverhook(register __a0 struct Hook *hook, register __a2 APTR data, register __a1 struct ServerProgressData *spd);
ULONG __saveds __asm articlehook(register __a0 struct Hook *hook, register __a2 APTR server, register __a1 struct ArticleDisposition *ad);
ULONG __saveds __asm __interrupt iconhook(register __a0 struct Hook *hook, register __a2 APTR unused, register __a1 struct AppIconRenderMsg *arm);
BOOL initHWindow(struct PopData *pd);
BOOL openHWindow(struct PopData *pd);
VOID closeHWindow(struct PopData *pd);
VOID disposeHWindow(struct PopData *pd);
BOOL handleHWindow(struct PopData *pd);
BOOL initWindow(struct PopData *pd);
BOOL openWindow(struct PopData *pd);
VOID closeWindow(struct PopData *pd);
VOID disposeWindow(struct PopData *pd);
BOOL doPop(struct PopData *pd);
VOID initTimer(struct PopData *pd);
BOOL fromCLI(VOID);
BOOL fromWB(struct WBStartup *args);
VOID requestUser(STRPTR bodytext);

/* arexx.c */
BOOL initARexx(struct PopData *pd);
VOID disposeARexx(struct PopData *pd);
VOID __saveds __asm rexx_Check(register __a0 struct ARexxCmd *ac, register __a1 struct RexxMsg *rm);
VOID __saveds __asm rexx_Quiet(register __a0 struct ARexxCmd *ac, register __a1 struct RexxMsg *rm);
VOID __saveds __asm rexx_Version(register __a0 struct ARexxCmd *ac, register __a1 struct RexxMsg *rm);
VOID __saveds __asm rexx_Quit(register __a0 struct ARexxCmd *ac, register __a1 struct RexxMsg *rm);
VOID __saveds __asm rexx_Author(register __a0 struct ARexxCmd *ac, register __a1 struct RexxMsg *rm);
VOID __saveds __asm rexx_Waiting(register __a0 struct ARexxCmd *ac, register __a1 struct RexxMsg *rm);

/* cx.c */
VOID disposeCx(VOID);
BOOL createCx(struct MsgPort *port);
BOOL processCxMsg(CxMsg *msg);
