/* RMAKE (h/protos.h) Prototype generation (Version 3.31)
** RMAKE Copyright © 1990,91,92 Mitchell/Ware Systems, Inc.
** RMAKE All Rights Reserved.
**
** This and other files GENERATED by the RMAKE system
** are the sole property of the non-commercial user; however the RMAKE
** System is the sole property of Mitchell/Ware Systems and
** available only for non-commercial use. Commercial versions of
** RMAKE can be obtained by contacting Mitchell/Ware Systems
** at (215)524-9100 or 'f.mitchell' on BIX.
*/


/* Prototypes for functions defined in c/FlagTools.c */
ULONG DoFlagBits(struct KeyMode *kma,
                 UBYTE *str);
ULONG _DoFlagValue(struct KeyMode *kma,
                   UBYTE *str,
                   WORD start,
                   WORD end);
ULONG DoFlagState(struct KeyMode *kma,
                  UBYTE *str);
/* Prototypes for functions defined in c/LibBases.c */
/* Prototypes for functions defined in c/GelTools2.c */
/* Prototypes for functions defined in c/WindowTools.c */
void _InitWT(void);
struct Screen *CreateScreen(SHORT width,
                            SHORT height,
                            SHORT depth,
                            USHORT modes);
void SetScrLeftTop(int left,
                   int top);
void SetScrPens(int detail,
                int block);
void SetScrType(USHORT type);
void SetScrFont(struct TextAttr *font);
void SetScrTitle(UBYTE *title);
void SetScrGadgets(struct Gadget *gadgets);
struct TagItem *AllocScreenTag(ULONG entries);
struct TagItem *SetScreenTag(ULONG tag,
                             ULONG data);
struct Window *CreateWindow(struct Screen *scr,
                            struct Remember **key,
                            SHORT width,
                            SHORT height,
                            UBYTE *title,
                            USHORT maxvectors);
void SetWindowGadgets(struct Gadget *g);
void SetWinLeftTop(int left,
                   int top);
void SetWinIDCMP(ULONG iflags);
void SetWinFlags(ULONG flags);
void SetWinWH(int minwidth,
              int minheight,
              int maxwidth,
              int maxheight);
struct TagItem *AllocWindowTag(ULONG entries);
struct TagItem *SetWindowTag(ULONG tag,
                             ULONG data);
void SetWindowPointer(struct Window *win,
                      struct btp *btp);
void ClearWindowPointer(struct Window *win);
/* Prototypes for functions defined in c/unpacker.c */
BOOL UnPackRow(BYTE **pSource,
               BYTE **pDest,
               WORD srcBytes0,
               WORD dstBytes0);
/* Prototypes for functions defined in c/TokenTools.c */
char *tt_GetToken(char *b,
                  char *tok_buf,
                  struct TTBreak *brk,
                  struct TTBreak **brk_ent,
                  struct TTBreak *kwd,
                  struct TTBreak **kwd_ent,
                  char *kwd_brk);
/* Prototypes for functions defined in c/TextTools.c */
void SetITFrontBack(int front,
                    int back);
void SetITDrawMode(int mode);
struct IntuiText *MakeIText(struct Remember **key,
                            UBYTE *text,
                            int left,
                            int top,
                            struct IntuiText *itchain,
                            struct TextAttr *ta);
struct IntuiText *MakeITList(struct Remember **key,
                             struct ITList *list);
/* Prototypes for functions defined in c/StrFlag.c */
ULONG StrFlag(ULONG *pf,
              char *s);
/* Prototypes for functions defined in c/StrDupVec.c */
char *StrDupVec(char *string);
/* Prototypes for functions defined in c/StateSaveStub.c */
void StateSave(void);
/* Prototypes for functions defined in c/SpriteTools.c */
struct SimpleSprite *BitMapToSprite(struct Remember **key,
                                    struct BitMap *bm,
                                    short left,
                                    short top);
/* Prototypes for functions defined in c/SortTools.c */
void ZSortLT(struct LTList *head,
             long ptr_index,
             long buf_index,
             long buf_size);
/* Prototypes for functions defined in c/ShutDown.c */
void ShutDown(void);
/* Prototypes for functions defined in c/sfix_dec.c */
int fixof(char *s);
int sfix_dec(char *s,
             unsigned int fix,
             long l);
long sdec_fix(char *s,
              unsigned int fix);
/* Prototypes for functions defined in c/RequesterTools.c */
void SetReqBackFill(int n);
void SetIdleRoutine(void (*id)(void));
int DoRequest(struct Remember **pkey,
              struct BitMap *bmap,
              struct RTGList *rlist,
              struct ITList *ilist,
              struct Window *window,
              int left,
              int top,
              int width,
              int height,
              void *udata);
int UpdateStringEntry(struct RTGList *r);
void AllocateReqStrBuffs(struct Remember **pkey,
                         struct RTGList *r);
void ClearSelect(struct RTGList *rtg);
void ClearGadgets(struct RTGList *rtg);
int _MutualExclude(struct RTGList *rlist,
                   struct RTGList *r,
                   struct Window *win,
                   struct Requester *req);
void DoRugTopRequest(struct Remember **pkey,
                     struct RTGList *rlist,
                     struct ITList *ilist,
                     struct Window *win,
                     struct Requester *req);
void RugPullRequest(struct RTGList *rlist,
                    struct Window *win,
                    struct Requester *req);
void UpdateRTGList(struct RTGList *r);
short RegisterCGC(short class,
                  BOOL (*create)(void),
                  BOOL (*handler)(void),
                  BOOL (*remove)(void),
                  BOOL (*refresh)(void),
                  BOOL (*update)(void),
                  BOOL (*idle)(void));
/* Prototypes for functions defined in c/RastPortTools.c */
BOOL ClipRastPort(struct RastPort *rp,
                  short left,
                  short top,
                  short width,
                  short height);
void UnclipRastPort(struct RastPort *rp,
                    short left,
                    short top);
/* Prototypes for functions defined in c/PString.c */
long PString(char *dest,
             char *parm,
             char *keys,
             void *arg, ...);
long _PString(char *dest,
              char *parm,
              struct keys *keys,
              void **arr);
/* Prototypes for functions defined in c/ProportionalTools.c */
struct Gadget *MakeVertProp(struct Remember **key,
                            struct Gadget *gadlist);
struct Gadget *MakeHorizProp(struct Remember **key,
                             struct Gadget *gadlist);
struct Gadget *MakeProps(struct Remember **key,
                         struct Gadget *gadlist);
struct Gadget *MakeIndHorizProp(struct Remember **key,
                                struct Image *im,
                                int Left,
                                int Top,
                                int Length,
                                ULONG Flags,
                                ULONG Activation);
struct Gadget *MakeIndVertProp(struct Remember **key,
                               struct Image *im,
                               int Left,
                               int Top,
                               int Length,
                               ULONG Flags,
                               ULONG Activation);
/* Prototypes for functions defined in c/packer.c */
BYTE *PutDump(BYTE *dest,
              int nn);
BYTE *PutRun(BYTE *dest,
             int nn,
             int cc);
LONG PackRow(BYTE **pSource,
             BYTE **pDest,
             LONG rowSize);
/* Prototypes for functions defined in c/MenuTools.c */
struct MenuPac *InitMP(void);
void SetMenuHeight(struct MenuPac *m,
                   short height);
void SetMenuWidth(struct MenuPac *m,
                  short width);
void SetMenuFrontPen(struct MenuPac *m,
                     int num);
void SetMenuBackPen(struct MenuPac *m,
                    int num);
void SetMenuDrawMode(struct MenuPac *m,
                     ULONG flag);
void SetMenuHelpDirectory(struct MenuPac *pac,
                          char *directory);
void SetMenuHelpDisplay(struct MenuPac *pac,
                        void (*funct)(void));
void DInitMP(struct MenuPac *pac);
struct Menu *SetMenu(struct MenuPac *pac,
                     char *name,
                     int sep);
struct MenuPac *_FindMenu(struct MenuPac *pac,
                          int num);
struct MenuItem *_FindMenuItem(struct MenuItem *mi,
                               int num);
struct IntuiText *_CreateIText(struct MenuPac *m,
                               struct Remember **key,
                               char *text);
struct MenuItemExt *SetMenuItem(struct MenuPac *pac,
                                char *name,
                                USHORT flags,
                                LONG exc,
                                UBYTE cmd,
                                int width,
                                BOOL (*mfunct)(void),
                                ULONG itemdata,
                                char *help,
                                void (*helpfunct)(void));
struct MenuItemExt *SetSubItem(struct MenuPac *pac,
                               char *name,
                               USHORT flags,
                               LONG exc,
                               UBYTE cmd,
                               int width,
                               BOOL (*mfunct)(void),
                               ULONG itemdata,
                               char *help,
                               void (*helpfunct)(void));
void EnableMenu(struct MenuPac *mp,
                struct Window *win,
                UBYTE *s);
void EnableMenuItem(struct MenuPac *mp,
                    struct Window *win,
                    int mno,
                    UBYTE *s);
void EnableSubItem(struct MenuPac *mp,
                   struct Window *win,
                   int mno,
                   int ino,
                   UBYTE *s);
BOOL DoMenu(struct MenuPac *mp,
            ULONG code,
            APTR data1,
            APTR data2,
            BOOL boolhelp);
/* Prototypes for functions defined in c/ListTools.c */
struct LTList *InitLTHead(struct LTList *h);
struct LTList *AddLTHead(struct LTList *h,
                         struct LTList *l);
struct LTList *AddLTTail(struct LTList *h,
                         struct LTList *l);
struct LTList *DeleteLT(struct LTList *l);
void JoinLTLists(struct LTList *h1,
                 struct LTList *h2);
void FSplitLTLists(struct LTList *h1,
                   struct LTList *h2);
/* Prototypes for functions defined in c/LinkTools.c */
void *AddLinkHead(struct Link *head,
                  struct Link *link,
                  void *container);
void *AddLinkTail(struct Link *head,
                  struct Link *link,
                  void *container);
/* Prototypes for functions defined in c/Librarian.c */
void SetLibraryVersion(int ver);
BOOL Librarian(UBYTE *s);
void _CloseLib(struct Lib *lib);
void CloseLibrarian(UBYTE *s);
/* Prototypes for functions defined in c/keyStrDup.c */
/* Prototypes for functions defined in c/ImageTools.c */
BOOL _AllZeroBits(UBYTE *p,
                  int s);
BOOL _AllOneBits(UBYTE *p,
                 int s);
struct Image *BitMapToImage(struct Remember **key,
                            struct BitMap *bm,
                            int left,
                            int top);
/* Prototypes for functions defined in c/Ifunctions.c */
void ISetScale(long o);
int Icircle(int div);
int Iinit(void);
void Dinit(void);
long Isin(register  int degrees);
long Icos(register  int degrees);
ULONG Isqrt(ULONG n);
long Ipow(long x,
          long n);
ULONG I2floor(ULONG n);
ULONG Ilog2(ULONG n);
ULONG I2rnd(ULONG n);
/* Prototypes for functions defined in c/GelTools.c */
void border_dummy(void);
int ReadyGels(struct Remember **k,
              struct GelsInfo *g,
              struct RastPort *r);
struct VSprite *MakeVSprite(struct Remember **k,
                            struct Image *i,
                            WORD *colorset,
                            SHORT flags);
struct Bob *MakeBob(struct Remember **k,
                    struct Image *i,
                    SHORT flags);
struct Bob *DoubleBob(struct Remember **k,
                      struct Bob *bob);
/* Prototypes for functions defined in c/GadgetTools.c */
void SetGadgetIDCounter(int n);
struct Gadget *MakeBGadget(struct Remember **k,
                           struct Image *i,
                           struct Image *a,
                           int LeftEdge,
                           int TopEdge,
                           USHORT flags,
                           USHORT activation);
struct Gadget *MakeCRBGadget(struct Remember **k,
                             int left,
                             int top,
                             int width,
                             int height,
                             ULONG flags,
                             ULONG activation);
struct Gadget *MakeRTGList(struct Remember **key,
                           struct RTGList *list,
                           struct CustomGadgetClass *cgc);
void RefreshRTGList(struct RTGList *list,
                    struct Window *win,
                    struct Requester *req);
void RefreshRGList(struct RTGList *list,
                   struct Window *win,
                   struct Requester *req);
struct Gadget *MakePropGadget(struct Remember **key,
                              struct Image *knob_image,
                              int left,
                              int top,
                              int width,
                              int height,
                              ULONG flags,
                              ULONG prop_flags,
                              ULONG activation);
struct Gadget *MakeStrGadget(struct Remember **key,
                             int LeftEdge,
                             int TopEdge,
                             int Width,
                             int Height,
                             int MaxChars,
                             UBYTE *buf,
                             UBYTE *undo,
                             ULONG Flags,
                             ULONG Activation,
                             ULONG Type);
struct Border *_MakeABorder(struct Remember **key,
                            short vectors,
                            short left,
                            short top,
                            short front,
                            short back,
                            short draw);
int MakeRTGBorders(struct Remember **key,
                   struct RTGList *rlist);
int GadgetCount(struct Gadget *g);
/* Prototypes for functions defined in c/GadgetIntTools.c */
struct Gadget *MakeIntGEList(struct Remember **key,
                             struct IntGEActive *list,
                             struct CustomGadgetClass *cgc);
void RefreshIntGEList(struct IntGEActive *list,
                      struct Window *win);
int MakeIntGEBorders(struct Remember **key,
                     struct IntGEActive *iga);
/* Prototypes for functions defined in c/Fuckup.c */
BOOL fuckup(char *m);
BOOL fuckup2(char *m,
             char *n);
BOOL fuckup3(char *m,
             char *n,
             char *o);
BOOL screwup(char *m);
BOOL screwup2(char *m,
              char *n);
BOOL screwup3(char *m,
              char *n,
              char *o);
/* Prototypes for functions defined in c/FatalRequest_warning3.c */
BOOL warning3(char *m,
              char *n,
              char *o);
/* Prototypes for functions defined in c/FatalRequest_warning2.c */
BOOL warning2(char *m,
              char *n);
/* Prototypes for functions defined in c/FatalRequest_warning.c */
BOOL warning(char *m);
/* Prototypes for functions defined in c/FatalRequest_notice.c */
void notice(char *f, ...);
/* Prototypes for functions defined in c/FatalRequest_fatal3.c */
BOOL fatal3(char *m,
            char *n,
            char *o);
/* Prototypes for functions defined in c/FatalRequest_fatal2.c */
BOOL fatal2(char *m,
            char *n);
/* Prototypes for functions defined in c/FatalRequest_fatal.c */
BOOL fatal(char *m);
/* Prototypes for functions defined in c/FatalRequest_BusyWait.c */
void *BusyWait(char *text);
long BusyCheck(void *handle,
               long progress,
               long goal);
void BusyClear(void *handle);
/* Prototypes for functions defined in c/FatalRequest_ask3.c */
BOOL ask3(char *m,
          char *n,
          char *o);
/* Prototypes for functions defined in c/FatalRequest_ask2.c */
BOOL ask2(char *m,
          char *n);
/* Prototypes for functions defined in c/FatalRequest_ask.c */
BOOL ask(char *m);
/* Prototypes for functions defined in c/FatalRequest.c */
struct Library *_SetIntuition(void);
void _UndoIntuition(struct Library *IntuitionBase);
void SetFatalWindow(struct Window *win);
int _GetResponse(struct Library *IntuitionBase,
                 struct Window *win);
struct Window *_FRBuildEasyRequest(struct Library *IntuitionBase,
                                   struct Window *win,
                                   struct EasyStruct *es,
                                   ULONG idcmp, ...);
/* Prototypes for functions defined in c/EdTools.c */
struct RPLineEd *LEInit(struct Window *win,
                        struct TextFont *font,
                        void (*exfun)(void),
                        void (*helpfun)(void));
void LEDInit(struct RPLineEd *r);
void _disp_cur(struct RPLineEd *r);
BOOL _is_cur_visible(struct RPLineEd *r);
char *_finish_up(struct RPLineEd *r);
void _raw_process(struct RPLineEd *r);
void _vanilla_process(struct RPLineEd *r);
char *LineEd(struct RPLineEd *r,
             short x,
             short y,
             char *str,
             short chpos);
/* Prototypes for functions defined in c/DiskTools.c */
BOOL _GetPathname(ULONG lock,
                  UBYTE **pbuf,
                  ULONG *psiz);
BOOL GetPathname(ULONG lock,
                 UBYTE *buf,
                 ULONG size);
/* Prototypes for functions defined in c/BSTRtoSTR.c */
UBYTE *BSTRtoSTR(ULONG b);
/* Prototypes for functions defined in c/BSTRcptoSTR.c */
void BSTRcptoSTR(UBYTE *bstr,
                 UBYTE *buf);
/* Prototypes for functions defined in c/amtopm.c */
void amtopm(UBYTE *to,
            UBYTE *from);
/* Prototypes for functions defined in c/AlertTools.c */
void AlertInit(void);
void AlertBuild(int x,
                int y,
                char *mess);
BOOL AlertActivate(ULONG alertnum);
/* Prototypes for functions defined in c/AddVectorBuffs.c */
BOOL AddVectorBuffs(struct Remember **key,
                    struct RastPort *rp,
                    long num);
