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 / src / io / trove / trove-types.h < prev    next >
C/C++ Source or Header  |  2008-11-11  |  6KB  |  142 lines

  1. /*
  2.  * (C) 2001 Clemson University and The University of Chicago
  3.  *
  4.  * See COPYING in top-level directory.
  5.  */
  6.  
  7. /** \addtogroup troveint
  8.  *
  9.  * @{
  10.  */
  11.  
  12. /** \file
  13.  *  Types and other defines used throughout Trove.  Many of the Trove
  14.  *  types are defined in terms of PVFS2 types rather than using the
  15.  *  PVFS2 types themselves.  This is because we wanted to separate the
  16.  *  Trove package, in case it was useful in other projects.  It may be
  17.  *  that at some later date we will make a pass through Trove and
  18.  *  eliminate many of these "extra" types.
  19.  */
  20.  
  21. #ifndef __TROVE_TYPES_H
  22. #define __TROVE_TYPES_H
  23.  
  24. /* PVFS type mappings */
  25. #include "pvfs2-types.h"
  26. #include "pvfs2-storage.h"
  27.  
  28. typedef PVFS_handle                TROVE_handle;
  29. typedef PVFS_handle_extent         TROVE_extent;
  30. typedef PVFS_handle_extent         TROVE_handle_extent;
  31. typedef PVFS_handle_extent_array   TROVE_handle_extent_array;
  32. typedef PVFS_size                  TROVE_size;
  33. typedef PVFS_offset                TROVE_offset;
  34. typedef PVFS_id_gen_t              TROVE_op_id;
  35. typedef PVFS_fs_id                 TROVE_coll_id;
  36. typedef PVFS_ds_type               TROVE_ds_type;
  37. typedef PVFS_vtag                  TROVE_vtag_s;
  38. typedef PVFS_ds_flags              TROVE_ds_flags;
  39. typedef PVFS_ds_keyval             TROVE_keyval_s;
  40. typedef PVFS_ds_keyval_handle_info TROVE_keyval_handle_info;
  41. typedef PVFS_ds_position           TROVE_ds_position;
  42. typedef PVFS_ds_attributes         TROVE_ds_attributes_s;
  43. typedef PVFS_ds_attributes         TROVE_ds_attributes;
  44. typedef PVFS_error                 TROVE_ds_state;
  45. typedef PVFS_context_id            TROVE_context_id;
  46. typedef PVFS_statfs           TROVE_statfs;
  47. typedef PVFS_coll_getinfo_options  TROVE_coll_getinfo_options;
  48. typedef PVFS_object_ref            TROVE_object_ref;
  49.  
  50. typedef enum
  51. {
  52.     TROVE_METHOD_DBPF = 0,
  53.     TROVE_METHOD_DBPF_ALTAIO,
  54.     TROVE_METHOD_DBPF_NULLAIO,
  55.     TROVE_METHOD_DBPF_DIRECTIO
  56. } TROVE_method_id;
  57.  
  58. typedef TROVE_method_id (*TROVE_method_callback)(TROVE_coll_id);
  59.  
  60. #define TROVE_HANDLE_NULL          PVFS_HANDLE_NULL
  61. #define TROVE_COLL_ID_NULL         PVFS_FS_ID_NULL
  62.  
  63. #define trove_ds_attr_to_stored PVFS_ds_attr_to_stored
  64. #define trove_ds_stored_to_attr PVFS_ds_stored_to_attr
  65.  
  66. /* mappings from PVFS errors to TROVE errors */
  67. #define TROVE_EPERM           (PVFS_EPERM | PVFS_ERROR_TROVE)
  68. #define TROVE_ENOENT          (PVFS_ENOENT | PVFS_ERROR_TROVE)
  69. #define TROVE_EINTR           (PVFS_EINTR | PVFS_ERROR_TROVE)
  70. #define TROVE_EIO             (PVFS_EIO | PVFS_ERROR_TROVE)
  71. #define TROVE_ENXIO           (PVFS_ENXIO | PVFS_ERROR_TROVE)
  72. #define TROVE_EBADF           (PVFS_EBADF | PVFS_ERROR_TROVE)
  73. #define TROVE_EAGAIN          (PVFS_EAGAIN | PVFS_ERROR_TROVE)
  74. #define TROVE_ENOMEM          (PVFS_ENOMEM | PVFS_ERROR_TROVE)
  75. #define TROVE_EFAULT          (PVFS_EFAULT | PVFS_ERROR_TROVE)
  76. #define TROVE_EBUSY           (PVFS_EBUSY | PVFS_ERROR_TROVE)
  77. #define TROVE_EEXIST          (PVFS_EEXIST | PVFS_ERROR_TROVE)
  78. #define TROVE_ENODEV          (PVFS_ENODEV | PVFS_ERROR_TROVE)
  79. #define TROVE_ENOTDIR         (PVFS_ENOTDIR | PVFS_ERROR_TROVE)
  80. #define TROVE_EISDIR          (PVFS_EISDIR | PVFS_ERROR_TROVE)
  81. #define TROVE_EINVAL          (PVFS_EINVAL | PVFS_ERROR_TROVE)
  82. #define TROVE_EMFILE          (PVFS_EMFILE | PVFS_ERROR_TROVE)
  83. #define TROVE_EFBIG           (PVFS_EFBIG | PVFS_ERROR_TROVE)
  84. #define TROVE_ENOSPC          (PVFS_ENOSPC | PVFS_ERROR_TROVE)
  85. #define TROVE_EROFS           (PVFS_EROFS | PVFS_ERROR_TROVE)
  86. #define TROVE_EMLINK          (PVFS_EMLINK | PVFS_ERROR_TROVE)
  87. #define TROVE_EPIPE           (PVFS_EPIPE | PVFS_ERROR_TROVE)
  88. #define TROVE_EDEADLK         (PVFS_EDEADLK | PVFS_ERROR_TROVE)
  89. #define TROVE_ENAMETOOLONG    (PVFS_ENAMETOOLONG | PVFS_ERROR_TROVE)
  90. #define TROVE_ENOLCK          (PVFS_ENOLCK | PVFS_ERROR_TROVE)
  91. #define TROVE_ENOSYS          (PVFS_ENOSYS | PVFS_ERROR_TROVE)
  92. #define TROVE_ENOTEMPTY       (PVFS_ENOTEMPTY | PVFS_ERROR_TROVE)
  93. #define TROVE_ELOOP           (PVFS_ELOOP | PVFS_ERROR_TROVE)
  94. #define TROVE_EWOULDBLOCK     (PVFS_EWOULDBLOCK | PVFS_ERROR_TROVE)
  95. #define TROVE_ENOMSG          (PVFS_ENOMSG | PVFS_ERROR_TROVE)
  96. #define TROVE_EUNATCH         (PVFS_EUNATCH | PVFS_ERROR_TROVE)
  97. #define TROVE_EBADR           (PVFS_EBADR | PVFS_ERROR_TROVE)
  98. #define TROVE_EDEADLOCK       (PVFS_EDEADLOCK | PVFS_ERROR_TROVE)
  99. #define TROVE_ENODATA         (PVFS_ENODATA | PVFS_ERROR_TROVE)
  100. #define TROVE_ETIME           (PVFS_ETIME | PVFS_ERROR_TROVE)
  101. #define TROVE_ENONET          (PVFS_ENONET | PVFS_ERROR_TROVE)
  102. #define TROVE_EREMOTE         (PVFS_EREMOTE | PVFS_ERROR_TROVE)
  103. #define TROVE_ECOMM           (PVFS_ECOMM | PVFS_ERROR_TROVE)
  104. #define TROVE_EPROTO          (PVFS_EPROTO | PVFS_ERROR_TROVE)
  105. #define TROVE_EBADMSG         (PVFS_EBADMSG | PVFS_ERROR_TROVE)
  106. #define TROVE_EOVERFLOW       (PVFS_EOVERFLOW | PVFS_ERROR_TROVE)
  107. #define TROVE_ERESTART        (PVFS_ERESTART | PVFS_ERROR_TROVE)
  108. #define TROVE_EMSGSIZE        (PVFS_EMSGSIZE | PVFS_ERROR_TROVE)
  109. #define TROVE_EPROTOTYPE      (PVFS_EPROTOTYPE | PVFS_ERROR_TROVE)
  110. #define TROVE_ENOPROTOOPT     (PVFS_ENOPROTOOPT | PVFS_ERROR_TROVE)
  111. #define TROVE_EPROTONOSUPPORT (PVFS_EPROTONOSUPPORT | PVFS_ERROR_TROVE)
  112. #define TROVE_EOPNOTSUPP      (PVFS_EOPNOTSUPP | PVFS_ERROR_TROVE)
  113. #define TROVE_EADDRINUSE      (PVFS_EADDRINUSE | PVFS_ERROR_TROVE)
  114. #define TROVE_EADDRNOTAVAIL   (PVFS_EADDRNOTAVAIL | PVFS_ERROR_TROVE)
  115. #define TROVE_ENETDOWN        (PVFS_ENETDOWN | PVFS_ERROR_TROVE)
  116. #define TROVE_ENETUNREACH     (PVFS_ENETUNREACH | PVFS_ERROR_TROVE)
  117. #define TROVE_ENETRESET       (PVFS_ENETRESET | PVFS_ERROR_TROVE)
  118. #define TROVE_ENOBUFS         (PVFS_ENOBUFS | PVFS_ERROR_TROVE)
  119. #define TROVE_ETIMEDOUT       (PVFS_ETIMEDOUT | PVFS_ERROR_TROVE)
  120. #define TROVE_ECONNREFUSED    (PVFS_ECONNREFUSED | PVFS_ERROR_TROVE)
  121. #define TROVE_EHOSTDOWN       (PVFS_EHOSTDOWN | PVFS_ERROR_TROVE)
  122. #define TROVE_EHOSTUNREACH    (PVFS_EHOSTUNREACH | PVFS_ERROR_TROVE)
  123. #define TROVE_EALREADY        (PVFS_EALREADY | PVFS_ERROR_TROVE)
  124. #define TROVE_EREMOTEIO       (PVFS_EREMOTEIO | PVFS_ERROR_TROVE)
  125. #define TROVE_ENOMEDIUM       (PVFS_ENOMEDIUM | PVFS_ERROR_TROVE)
  126. #define TROVE_EMEDIUMTYPE     (PVFS_EMEDIUMTYPE | PVFS_ERROR_TROVE)
  127. #define TROVE_ECANCEL         (PVFS_ECANCEL | PVFS_ERROR_TROVE)
  128. #define TROVE_EACCES          (PVFS_EACCES | PVFS_ERROR_TROVE)
  129.  
  130. #endif
  131.  
  132. /* @} */
  133.  
  134. /*
  135.  * Local variables:
  136.  *  c-indent-level: 4
  137.  *  c-basic-offset: 4
  138.  * End:
  139.  *
  140.  * vim: ts=8 sts=4 sw=4 expandtab
  141.  */
  142.