home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <exec/lists.h>
- #include <dos/dos.h>
- #include "split.h"
-
- #include <proto/exec.h>
-
- /* for debug purposes */
- #include <stdio.h>
-
- /* in commodity.c */
- extern ULONG brokerSig;
- extern BOOL setUpCommodity(int,char**);
- extern void removeCommodity( void );
- extern void handleBrokerSig( void );
-
- /* in window.c */
- extern ULONG windowSig;
- extern void handleWindowSig( void );
- extern void openGUI( void );
- extern void closeGUI( void );
- extern void updateVolumeList( UWORD );
- extern void quit( void );
-
- /* in diskhandler.c */
- extern ULONG diskSig;
- extern BOOL setDiskHandler( void );
- extern void removeDiskHandler( void );
-
- /* in handler.s */
- extern void patchDOSlibrary( void );
-
- /* in locale.c */
- extern void initLocale( void );
- extern void flushLocale( void );
-
- /* in split.c */
- extern void readyChunkList( void );
- extern void goIdle( void );
-
- /* end of external definitions */
-
- char *ver = "$VER: Split 1.0 "__AMIGADATE__;
-
- VolumeList *vlist = NULL;
-
- BOOL stay = TRUE;
-
- void main( int argc, char **argv )
- {
- initLocale();
- if ( setUpCommodity( argc, argv ) )
- {
- if ( setDiskHandler() )
- {
- ULONG signal;
-
- patchDOSlibrary();
- readyChunkList();
- goIdle();
- openGUI();
- while( stay )
- {
- signal = Wait( SIGBREAKF_CTRL_C | windowSig | brokerSig | diskSig );
-
- if ( signal & SIGBREAKF_CTRL_C )
- quit();
-
- if ( signal & brokerSig )
- handleBrokerSig();
-
- if ( signal & windowSig )
- handleWindowSig();
-
- if ( signal & diskSig )
- updateVolumeList( (UWORD)~0 );
- }
- closeGUI();
- removeDiskHandler();
- }
- removeCommodity();
- }
- flushLocale();
- }
-