home *** CD-ROM | disk | FTP | other *** search
/ ftp.parl.clemson.edu / 2015-02-07.ftp.parl.clemson.edu.tar / ftp.parl.clemson.edu / pub / pvfs2 / orangefs-2.8.3-20110323.tar.gz / orangefs-2.8.3-20110323.tar / orangefs / test / io / dev / dev-test.c < prev    next >
C/C++ Source or Header  |  2004-07-28  |  2KB  |  99 lines

  1. /*
  2.  * (C) 2001 Clemson University and The University of Chicago
  3.  *
  4.  * See COPYING in top-level directory.
  5.  */
  6.  
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #include <string.h>
  10.  
  11. #include "gossip.h"
  12. #include "pint-dev.h"
  13.  
  14. int main(int argc, char **argv)    
  15. {
  16.     int ret = 1;
  17.     int outcount = 0;
  18.     struct PINT_dev_unexp_info unexp_array[2];
  19.     char buf1[] = "Hello ";
  20.     char buf2[] = "World.";
  21.     void* buffer_list[2];
  22.     int size_list[2];
  23.  
  24.     ret = PINT_dev_initialize("/dev/pvfs2-req", 0);
  25.     if(ret < 0)
  26.     {
  27.     PVFS_perror("PINT_dev_initialize", ret);
  28.     return(-1);
  29.     }
  30.  
  31.     /* try reading out a single unexpected message */
  32.     ret = PINT_dev_test_unexpected(1, &outcount, unexp_array, 5);
  33.     if(ret != 1 || outcount != 1)
  34.     {
  35.     fprintf(stderr, "Error: PINT_dev_testunexpected().\n");
  36.     return(-1);
  37.     }
  38.  
  39.     printf("Got message: size: %d, tag: %d, payload: %s\n", 
  40.     unexp_array[0].size, (int)unexp_array[0].tag, 
  41.     (char*)unexp_array[0].buffer);
  42.  
  43.     PINT_dev_release_unexpected(unexp_array);
  44.  
  45.     /* try reading out two messages */
  46.     ret = PINT_dev_test_unexpected(2, &outcount, unexp_array, 5);
  47.     if(ret != 1 || outcount != 2)
  48.     {
  49.     fprintf(stderr, "Error: PINT_dev_testunexpected().\n");
  50.     return(-1);
  51.     }
  52.  
  53.     printf("Got message: size: %d, tag: %d, payload: %s\n", 
  54.     unexp_array[0].size, (int)unexp_array[0].tag, 
  55.     (char*)unexp_array[0].buffer);
  56.     printf("Got message: size: %d, tag: %d, payload: %s\n", 
  57.     unexp_array[1].size, (int)unexp_array[0].tag, 
  58.     (char*)unexp_array[1].buffer);
  59.  
  60.     PINT_dev_release_unexpected(&unexp_array[0]);
  61.     PINT_dev_release_unexpected(&unexp_array[1]);
  62.  
  63.     /* try writing a message */
  64.     ret = PINT_dev_write(buf1, (strlen(buf1) + 1), PINT_DEV_EXT_ALLOC,
  65.     7);
  66.     if(ret != 0)
  67.     {
  68.     fprintf(stderr, "Error: PINT_dev_write().\n");
  69.     return(-1);
  70.     }
  71.  
  72.     /* try writing a list message */
  73.     buffer_list[0] = buf1;
  74.     buffer_list[1] = buf2;
  75.     size_list[0] = strlen(buf1);
  76.     size_list[1] = strlen(buf1) + 1;
  77.  
  78.     ret = PINT_dev_write_list(buffer_list, size_list, 2, (strlen(buf1) +
  79.     strlen(buf2) + 1), PINT_DEV_EXT_ALLOC, 7);
  80.     if(ret != 0)
  81.     {
  82.     fprintf(stderr, "Error: PINT_dev_write_list().\n");
  83.     return(-1);
  84.     }
  85.  
  86.     PINT_dev_finalize();
  87.  
  88.     return(0);
  89. }
  90.  
  91. /*
  92.  * Local variables:
  93.  *  c-indent-level: 4
  94.  *  c-basic-offset: 4
  95.  * End:
  96.  *
  97.  * vim: ts=8 sts=4 sw=4 expandtab
  98.  */
  99.