00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00022 #ifndef GLOBUS_ERROR_ERRNO_H
00023 #define GLOBUS_ERROR_ERRNO_H
00024
00042 #include "globus_common_include.h"
00043 #include "globus_object.h"
00044 #include "globus_module.h"
00045
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049
00066 #define GLOBUS_ERROR_TYPE_ERRNO (&GLOBUS_ERROR_TYPE_ERRNO_DEFINITION)
00067
00068 extern const globus_object_type_t GLOBUS_ERROR_TYPE_ERRNO_DEFINITION;
00069
00070 #ifndef DOXYGEN
00071
00072 globus_object_t *
00073 globus_error_construct_errno_error(
00074 globus_module_descriptor_t * base_source,
00075 globus_object_t * base_cause,
00076 const int system_errno);
00077
00078 globus_object_t *
00079 globus_error_initialize_errno_error(
00080 globus_object_t * error,
00081 globus_module_descriptor_t * base_source,
00082 globus_object_t * base_cause,
00083 const int system_errno);
00084
00085 #endif
00086
00098 #ifndef DOXYGEN
00099
00100 int
00101 globus_error_errno_get_errno(
00102 globus_object_t * error);
00103
00104 void
00105 globus_error_errno_set_errno(
00106 globus_object_t * error,
00107 const int system_errno);
00108
00109 #endif
00110
00122 #ifndef DOXYGEN
00123
00124 globus_bool_t
00125 globus_error_errno_match(
00126 globus_object_t * error,
00127 globus_module_descriptor_t * module,
00128 int system_errno);
00129
00130 int
00131 globus_error_errno_search(
00132 globus_object_t * error);
00133
00134 globus_object_t *
00135 globus_error_wrap_errno_error(
00136 globus_module_descriptor_t * base_source,
00137 int system_errno,
00138 int type,
00139 const char * source_file,
00140 const char * source_func,
00141 int source_line,
00142 const char * short_desc_format,
00143 ...);
00144
00145 #endif
00146
00147 #ifdef __cplusplus
00148 }
00149 #endif
00150
00151 #endif