home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Programming Contest / Test Code Folder / Shared Test Code / ProblemUtils.h < prev   
Encoding:
C/C++ Source or Header  |  1998-06-08  |  2.1 KB  |  56 lines  |  [TEXT/CWIE]

  1. #ifndef __PROBLEMUTILS_H__
  2. #define __PROBLEMUTILS_H__
  3.  
  4. // Do not modify this file
  5.  
  6. #include <stdio.h>
  7. #include <MacTypes.h>
  8. #include <Files.h>
  9. #include <Errors.h>
  10. #include <Resources.h>
  11. #include <PLStringFuncs.h>
  12.  
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif // __cplusplus
  16.  
  17. pascal OSErr ProblemFSRead( short rn, long reqsize, long *resultsize, char *data );
  18. pascal OSErr ProblemFSMustRead( short rn, long reqsize, char *data );
  19. pascal OSErr ProblemFSWrite( short rn, long reqsize, char *data );
  20. pascal OSErr ProblemCopyData( short frn, short trn );
  21. pascal OSErr ProblemDuplicateFile( const FSSpec *from, const FSSpec *to );
  22. pascal OSErr ProblemDiffData( short rn1, short rn2 );
  23. pascal Boolean ProblemDiffFiles( const FSSpec *file1, const FSSpec *file2 );
  24. pascal OSErr ProblemGetTestDirectoryFSSpec( FSSpec *spec );
  25. pascal OSErr ProblemGetTestSpecs( const FSSpec *testspec, long test, 
  26.     FSSpec *inputspec, FSSpec *correctspec, FSSpec *savedspec, FSSpec *outputspec );
  27. pascal void ProblemLogError( OSErr err, const char *function );
  28.  
  29. typedef pascal OSErr RunFileTestProc( const FSSpec* infile, const FSSpec* outfile );
  30. pascal void ProblemRunFileTests( RunFileTestProc runtest );
  31.  
  32. typedef pascal OSErr RunSingleFileTestProc( const FSSpec* infile, const FSSpec* outfile, Boolean *result );
  33. pascal void ProblemRunSingleFileTests( RunSingleFileTestProc runtest );
  34.  
  35. pascal OSErr ProblemFileRead( const FSSpec* infile, Handle *data );
  36. pascal OSErr ProblemFileWrite( const FSSpec* outfile, Handle data );
  37. pascal Boolean ProblemReadLineFromHandle( Handle data, char *line, long linelen );
  38. pascal OSErr ProblemWriteLineToHandle( Handle data, char *line );
  39. pascal OSErr ProblemWriteStringToHandle( Handle data, char *line );
  40.  
  41. const int MAX_LINE_LEN = 250;
  42.  
  43. pascal void ProblemP2CString( void *line );
  44. pascal void ProblemC2PString( void *line );
  45.  
  46. pascal Boolean ProblemGetUInt32( char **line, UInt32 *number );
  47. pascal Boolean ProblemGetSInt32( char **line, SInt32 *number );
  48. pascal void ProblemGetString( char **line, StringPtr field );
  49. pascal void ProblemGetCString( char **line, char *field, long fieldlen );
  50.  
  51. #ifdef __cplusplus
  52. }
  53. #endif // __cplusplus
  54.  
  55. #endif // __PROBLEMUTILS_H__
  56.