/***************************************************************************

                        F I L E - F I N D E R
                       ^^^^^^^^^^^^^^^^^^^^^^^

                        by  Federico Giannici


               ***********   Header file  ***********



                               V 1.5


Routine generalizzata di richiesta del nome di un file.


filefinder( data )
    struct  ffdata *data;          Struttura dati da usare (vedi definizione)


Necessita apertura librerie:
    Intuition.library
    Graphics.library


***************************************************************************/


#ifndef  EXEC_TYPES_H
#include    "exec/types.h"
#endif

#ifndef INTUITION_INTUITION_H
#include    "intuition/intuition.h"
#endif


#define FFOK        0		/*   Valori di ritorno di filefinder()   */
#define FFCANCEL    1
#define FFERROR     2

#define FFFILELEN   30		/*   Lunghezza nome del file   */
#define FFPATHLEN   100		/*   Lunghezza del path   */
#define FFSUFFIXLEN 7		/*   Lunghezza del suffisso   */
#define FFMAXLINE   100		/*   Numero massimo di files   */


struct  ffdataline
    {
    BYTE    name[ FFFILELEN+1 ];
    LONG    size;
    LONG    type;
    };

struct  ffdata
    {
    UBYTE   *title;                                 /* Da inizializzare */
    struct  Screen  *screen;                        /* Da inizializzare */
    UBYTE   file[ FFFILELEN+1 ];                    /* Da inizializzare */
    UBYTE   path[ FFPATHLEN+1 ];                    /* Da inizializzare */
    UBYTE   suffix[ FFSUFFIXLEN+1 ];                /* Da inizializzare */
    UBYTE   complete[ FFPATHLEN+1+FFFILELEN+1 ];    /* path+file+suffix */
    BOOL    valid;             /* se TRUE i dati seguenti sono validi, e   */
    USHORT  shown, showtop;    /* non c'e` bisogno di leggere la directory */
    ULONG   diskfree;
    struct  ffdataline  line[ FFMAXLINE ];
    };


/*****   Proto   *****/

LONG filefinder( struct ffdata * );

