00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00023 #ifndef GLOBUS_GRAM_JOBMANAGER_CALLOUT_ERROR_H
00024 #define GLOBUS_GRAM_JOBMANAGER_CALLOUT_ERROR_H
00025
00026
00027 #include "globus_common.h"
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00077 #define GLOBUS_GRAM_JOBMANAGER_CALLOUT_ERROR_MODULE (&globus_i_gram_jobmanager_callout_error_module)
00078
00079 extern
00080 globus_module_descriptor_t globus_i_gram_jobmanager_callout_error_module;
00081
00092 typedef enum
00093 {
00095 GLOBUS_GRAM_JOBMANAGER_CALLOUT_BAD_CREDS = 0,
00097 GLOBUS_GRAM_JOBMANAGER_CALLOUT_AUTHZ_SYSTEM_ERROR = 1,
00099 GLOBUS_GRAM_JOBMANAGER_CALLOUT_AUTHZ_DENIED = 2,
00101 GLOBUS_GRAM_JOBMANAGER_CALLOUT_AUTHZ_DENIED_INVALID_JOB = 3,
00103 GLOBUS_GRAM_JOBMANAGER_CALLOUT_AUTHZ_DENIED_BAD_EXECUTABLE = 4,
00105 GLOBUS_GRAM_JOBMANAGER_CALLOUT_ERROR_LAST = 5
00106 }
00107 globus_gram_jobmanager_callout_error_t;
00108
00109 extern char * globus_i_gram_jobmanager_callout_error_strings[];
00110
00111 #define GLOBUS_GRAM_JOBMANAGER_CALLOUT_ERROR(__RESULT, __TYPE, __ERRSTR) \
00112 { \
00113 char * _tmp_str_ = \
00114 globus_common_create_string __ERRSTR; \
00115 (__RESULT) = globus_error_put( \
00116 globus_error_construct_error( \
00117 GLOBUS_GRAM_JOBMANAGER_CALLOUT_ERROR_MODULE, \
00118 (__RESULT) ? globus_error_get(__RESULT) : NULL, \
00119 __TYPE, \
00120 __FILE__, \
00121 "GRAM Authorization Callout", \
00122 __LINE__, \
00123 "%s%s%s", \
00124 globus_i_gram_jobmanager_callout_error_strings[__TYPE], \
00125 _tmp_str_ ? ": " : "", \
00126 _tmp_str_ ? _tmp_str_ : "")); \
00127 if(_tmp_str_) free(_tmp_str_); \
00128 }
00129
00130
00131 #ifdef __cplusplus
00132 }
00133 #endif
00134
00135 #endif