/*************************************************************************
* ARPfilereq.h
*  Extracted from ARPbase.h, Copyright (c) 1987/1988/1989 by Scott Ballantyne
*
*  This header file contains what is necessary to use the ARP file requestor.
*  It is for use with Lattice, Inc. C v5.xx compiler.
*
*                    by Bob Alston  11-25-89
*                    thanks to Mike Paul for the example program
*************************************************************************/

#include <exec/types.h>
#include <intuition/intuition.h>
#include <libraries/dos.h>
#include <libraries/dosextens.h>
#include <graphics/gfxbase.h>
#include	<proto/exec.h>
#include	<proto/dos.h>

#define  ArpName     "arp.library"     /* Name of library... */
#pragma	libcall		ArpBase	FileRequest		0126	801

/*************************************************************************
*  The ARP file requester data structure...
*************************************************************************/

struct FileRequester {
   BYTE     *fr_Hail;                  /* Hailing text                  */
   BYTE     *fr_File;                  /* Filename array (FCHARS + 1)   */
   BYTE     *fr_Dir;                   /* Directory array (DSIZE + 1)   */
   struct   Window   *fr_Window;       /* Window requesting or NULL     */
   UBYTE    fr_FuncFlags;              /* Set bitdef's (in ARPbase.h)   */
   UBYTE    fr_Flags2;                 /* New flags...                  */
   VOID     (*fr_Function)();          /* Your function, see bitdef's   */
   WORD     fr_LeftEdge;               /* To be used later...           */
   WORD     fr_TopEdge;
};

/* The FR2B_ bits are for fr_Flags2 in the file requester structure */

#define  FR2B_LongPath  0L /* Specify the fr_Dir buffer is 256 bytes long */
#define  FR2F_LongPath  (1L << FR2B_LongPath)

/* The sizes of the different buffers... */

#define  FCHARS      32L   /* Filename size                             */
#define  DSIZE       33L   /* Directory name size if not FR2B_LongPath  */
#define  LONG_DSIZE  254L  /* If FR2B_LongPath is set, use LONG_DSIZE   */

/* the function declatarion */

BYTE           *FileRequest (struct FileRequester *);
