home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / desk / examples / Desk / Examples / OSBuffer / Sources / c / Main
Encoding:
Text File  |  1997-05-20  |  1.4 KB  |  47 lines

  1. #include "swis.h"
  2.  
  3. #include "Desk.Debug.h"
  4. #include "Desk.Error2.h"
  5.  
  6. #include "Desk.OSBuffer.h"
  7.  
  8.  
  9. int    main( void)
  10.     {
  11.     volatile int        bufferhandle = -1;
  12.     Desk_osbuffer_block*    osbuffer;
  13.     
  14.     Desk_Error2_Init_JumpSig();
  15.     
  16.     Desk_Error2_Try    {
  17.         int    i;
  18.         
  19.         Desk_Error2_CheckOS( _swix( Buffer_Create, _INR(0,2)|_OUT(0), 0, 5, -1, &bufferhandle));
  20.         Desk_Debug_Printf( "Created buffer, handle=%i\n", bufferhandle);
  21.         osbuffer = Desk_OSBuffer_Init( bufferhandle);
  22.         
  23.         for ( i=0; i<10; i++)    {
  24.             Desk_Debug_Printf( "Putting byte to buffer returns %i\n", Desk_OSBuffer_InsertByte( osbuffer, i));
  25.             Desk_Debug_Printf( "Putting byte to buffer returns %i\n", Desk_OSBuffer_InsertByte( osbuffer, i));
  26.             Desk_Debug_Printf( "Getting byte from buffer returns %i\n", Desk_OSBuffer_RemoveByte( osbuffer));
  27.             Desk_Debug_Printf( "Getting byte from buffer returns %i\n", Desk_OSBuffer_RemoveByte( osbuffer));
  28.             }
  29.         
  30.         Desk_Debug_Printf( "Putting block to buffer returns %i\n", Desk_OSBuffer_InsertBlock( osbuffer, "abcdefghijklm", 6));
  31.             {
  32.             char    buffer[ 256] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
  33.             int    n = Desk_OSBuffer_RemoveBlock( osbuffer, buffer, 9);
  34.             Desk_Debug_Printf( "Getting block returns %i, contents '%s'\n", n, buffer);
  35.             }
  36.         
  37.         Desk_OSBuffer_Final( osbuffer);
  38.         }
  39.     Desk_Error2_Catch    {
  40.         }
  41.     Desk_Error2_EndCatch
  42.     
  43.     if ( bufferhandle != -1)    _swix( Buffer_Remove, _IN(0), bufferhandle);
  44.     
  45.     return 0;
  46.     }
  47.