
/* GUI.c */
void About ( void );
void OpenRefWindow ( void );
void OpenScanStatWindow ( void );
void CloseScanStatWindow ( void );
void GiveHelp ( LONG id , struct Screen *scr );
void LockGUI ( void );
void UnlockGUI ( void );
void AttachMainList ( struct List *newlist );
void DetachMainList ( void );
void AttachRefList ( void );
void DetachRefList ( void );
void DeleteSelectedFile ( void );
void DeleteSelectedReference ( void );
void RescanAllFiles ( void );
void UpdateMain ( void );
void UpdateRef ( void );
void UpdateOptions ( void );
void UpdateOptionsGhost ( void );
void UpdateSettingsStruct ( void );
void HandleGUI ( void );
void HandleListViewClick ( struct TR_Message *m );
void HandleMenu ( struct TR_Message *m );
void HandleMainIDCMP ( struct TR_Message *m );
void HandleRefIDCMP ( struct TR_Message *m );
void HandleOptionsIDCMP ( struct TR_Message *m );
void HandleScanStatIDCMP ( struct TR_Message *m );
ULONG NumOfNodes ( struct List *l );
struct FileEntry *SelectedMain ( void );
struct RefsEntry *SelectedRef ( void );
void GoGUI ( void );
void CloseGUI ( void );

/* Lists.c */
void StartTimer ( void );
void StopTimer ( void );
void LoadData ( STRPTR name );
void SaveData ( STRPTR name );
void IndexFileList ( STRPTR path , struct rtFileList *lst );
void IndexRecursive ( STRPTR path , STRPTR dir );
void IndexFile ( STRPTR dir , STRPTR filename );
void StartScanning ( void );
void StopScanning ( BOOL force );
LONG FileType ( STRPTR buf , LONG bufsize );
LONG FileLength ( BPTR lock );
STRPTR FindKeyword ( STRPTR buf , STRPTR keyword , LONG size );
STRPTR FullName ( STRPTR path );
UBYTE *JoinPath ( STRPTR dir , STRPTR name );
void ADocToList ( struct FileEntry *list , STRPTR buf , STRPTR end );
void CToList ( struct FileEntry *list , STRPTR buf , STRPTR end );
void EToList ( struct FileEntry *list , STRPTR buf , STRPTR end );
void AsmToList ( struct FileEntry *list , STRPTR buf , STRPTR end );
STRPTR FindStructUnion ( STRPTR ptr , STRPTR end , LONG *l );
STRPTR PickName ( STRPTR buf , STRPTR ptr );
BOOL IsAlphaNum ( UBYTE c );
BOOL SortCompareFunc ( struct FileEntry *a , struct FileEntry *b , ULONG data );
struct FileEntry *AddFileToList ( STRPTR name );
struct RefsEntry *AddRefToList ( struct FileEntry *fileentry , LONG offset , LONG length , WORD gotoline , STRPTR name );
struct FileEntry *IsFileInList ( BPTR newlock , STRPTR filepart );
void FreeFile ( struct FileEntry *f );
void FreeRef ( struct RefsEntry *r );
void InitializeFileList ( void );
void FreeFileList ( void );

/* Main.c */
__stkargs LONG _main ( LONG argc , STRPTR argv );
void CloseAll ( LONG error , ...);
void LoadSettings ( STRPTR file );
void SaveSettings ( STRPTR file );
void PostMessage ( STRPTR fmt , ...);
void chkabort ( void );
