GridLab
Grid Application Toolkit

A simple API for Grid Applications
GAT

Menu



next up previous contents
Next: A ls -l of Up: Some Useful Programs Previous: Wow Your Friends with   Contents

From rm to RM

When you end up running out of hard drive space,``Of course I haven't downloaded avi versions of all the Star Trek episodes!'', one of the most useful programs to have is the Unix program rm. The program rm is used to remove files. So, for example, to remove the file file from the hard drive rm would be used as follows

% rm file

Our next program will be, in line with our previous creations, a ``grid enabled'' rm. The full program is here

#include <stdio.h>
#include "GAT.h"

int main( int argc, char *argv[] )
{
  GATResult result;
  GATFile sourceFile;
  GATContext context;
  GATLocation sourceLocation;
  
  /* Check command line syntax */
  if( 2 != argc )
  {
     printf("usage: %s file\n", argv[0]);
     
     return 1;
  }
  
  /* Set result to a memory failure */
  result = GAT_MEMORYFAILURE;
  
  /* Create GATLocation sourceLocation */
  sourceLocation = GATLocation_Create( argv[1] );
  
  /* Check previous GATLocation creation */
  if( NULL != sourceLocation )
  {
      /* Create GATContext context */
      context = GATContext_Create();
      
      /* Check previous GATContext creation */
      if( NULL != context )
      {
        /* Create GATFile sourceFile */
        sourceFile = GATFile_Create( context, sourceLocation, NULL );
        
        /* Check GATFile creation */
        if( NULL != sourceFile )
        {
          /* Delete sourceFile */
          result = GATFile_Delete( sourceFile );
          
          /* Destroy GATFile sourceFile */
          GATFile_Destroy( &sourceFile );
        }
        
        /* Destroy GATContext context */
        GATContext_Destroy( &context );
      }
      
    /* Destroy GATLocation sourceLocation */
    GATLocation_Destroy( &sourceLocation );
  }
  
  /* Check result for success and print error */
  if( GAT_FAILED( result) )
  {
    printf( "An error has occurred during the delete operation\n");
    
    return 1;
  }
  
  return 0;
}

This entire program contains no novel code; so, we will not examine it line by line.



Andre Merzky 2004-05-13