VMS Help  —  MRD Library, mrd_initialize, Example
    /*
     *   Example of mrd_initialize(3mrd).  The command usage is:
     *
     *      mrd_init robot_name
     *
     *   It has been observed on an empty TL820 with all the
     *   bin-packs in place that this command takes just under
     *   23 minutes.
     */
    #ifndef   lint
    static   char   SccsId[] = "@(#)mrd_init.c   1.2 3/5/97" ;
    #endif

    #include <stdio.h>
    #include <stdlib.h>

    #include <mrd_common.h>
    #include <mrd_message.h>

    main(int argc, char *argv[])
    {
       int   status ;      /* Status from mrd_inject(3mrd) */
       char   *robot ;      /* The name of the robot */
       char   log_info[MRD_MAX_LOG_STRING+1] ;  /* error string */

       /*
        *   Accept one required argument; robot name
        */
       if( argc < 2 ) {
          printf("usage: %s robot\n", argv[0]) ;
          exit(1) ;
       }

       /*
        *   Just use this directly from the command line.
        */
       robot = argv[1] ;

       /*
        *   Because this routine can take a long time we'll
        *   provide some positive feed-back that is doing
        *   something.
        */
       printf("Reinventory library %s...", robot); fflush(stdout) ;

       /*
        *   Call the function.  Because this routine can take a
        */
       status = mrd_initialize(robot, log_info) ;

       /*
        *   Done.
        */
       putchar('\n') ;

       /*
        *   Print an error message if there is a failure.  The
        *   routine mrd_strstatus(3mrd) will accept an MRD
        *   error status and return the corresponding string.
        *   If the log_info data has something other than a
        *   NULL as the first character print it as well.  It
        *   typically be the SCSI sense data or a operating
        *   system specific message for the error.
        */
       if( status != MRD_STATUS_SUCCESS )
          printf("Initialize failed: %s: %s.\n", mrd_strstatus(status),
             log_info[0] ? log_info : "none") ;

       return 0 ;
    }
Close Help