/*
 * Header file for the PFiler.
 */
				/* These are the defines for the Flags field 			*/
#define FSB_NOINFO     0	/* Don't want to see '.info' files				*/
#define FSB_NOFILE     1	/* Don't want to see files					*/
#define FSB_NODIR      2	/* Don't want to see dirs					*/
#define FSB_NODRIVE    3	/* Don't want to see drives					*/
#define FSB_NOVOL      4	/* Don't want to see volumes					*/
#define FSB_NOASSIGN   5	/* Don't want to see logical devices				*/
#define FSB_NOFILESIZE 6	/* Don't want to see file-sizes					*/

#define FSF_NOINFO     (1<<FSB_NOINFO)
#define FSF_NOFILE     (1<<FSB_NOFILE)
#define FSF_NODIR      (1<<FSB_NODIR)
#define FSF_NODRIVE    (1<<FSB_NODRIVE)
#define FSF_NOVOL      (1<<FSB_NOVOL)
#define FSF_NOASSIGN   (1<<FSB_NOASSIGN)
#define FSF_NODEV      FSF_NODRIVE+FSF_NOVOL+FSF_NOASSIGN
#define FSF_NOFILESIZE (1<<FSB_NOFILESIZE)

				/* Results codes returned by FileSelect				*/
#define FSENoMem  -3		/* Could not get memory for internal use			*/
#define FSENoWin  -2		/* Could not open window					*/
#define FSENoLib  -1		/* Could not open either dos/graphics/intuition.library		*/
#define FSENeg    0		/* No file has been selected					*/
#define FSEPos    1		/* A file has been selected					*/

				/* The FileRequest is what the					*/
				/* user has to pass as the only parameter			*/
struct FileRequest
{
  WORD LeftEdge;		/* Initial x position of the window				*/
  WORD TopEdge;			/* Initial y position of the window				*/
  WORD Flags;			/* See below							*/
  WORD PathChars;		/* Number of bytes in PathBuffer				*/
  WORD FileChars;		/* Number of bytes in FileBuffer (Should be at least 32)	*/
  UBYTE *PathBuffer;		/* Ptr to buffer of size PathChars (in bytes)			*/
  UBYTE *FileBuffer;		/* Ptr to buffer of size FileChars (in bytes)			*/
  UBYTE *TitleTxt;		/* Text to use as window-title (0L for 'Select a file'		*/
  UBYTE *PosTxt;		/* Text to put in the 'Ok' gadget (Max. 6 bytes+NULL)	  or 0L	*/
  UBYTE *NegTxt;		/* Text to put in the 'Cancel' gadget (Max. 6 bytes+NULL) or 0L	*/
  struct Screen *Screen;	/* Screen to open requester on or 0L for WBenchScreen 		*/
/* These are -PRIVATE-. The user SHOULDN'T modify them. Only set them to 0			*/
/* or call FreeFileSelect() before the first call to FileSelect() with this structure	*/
  LONG Priv1[2];
  WORD Priv2[6];
};

