globus_gss_assist  11.5
 All Files Functions Enumerations Enumerator Groups Pages
globus_i_gss_assist.h
1 
2 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
3 
4 #ifndef GLOBUS_I_GSS_ASSIST_H
5 #define GLOBUS_I_GSS_ASSIST_H
6 
13 #include "globus_gss_assist.h"
14 #include "globus_common.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 /* DEBUG MACROS */
21 
22 extern int globus_i_gsi_gss_assist_debug_level;
23 extern FILE * globus_i_gsi_gss_assist_debug_fstream;
24 
25 extern globus_mutex_t globus_i_gsi_gss_assist_mutex;
26 
27 #ifdef BUILD_DEBUG
28 
29 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG(_LEVEL_) \
30  (globus_i_gsi_gss_assist_debug_level >= (_LEVEL_))
31 
32 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) \
33  { \
34  if (GLOBUS_I_GSI_GSS_ASSIST_DEBUG(_LEVEL_)) \
35  { \
36  globus_libc_fprintf _MESSAGE_; \
37  } \
38  }
39 
40 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) \
41  { \
42  if (GLOBUS_I_GSI_GSS_ASSIST_DEBUG(_LEVEL_)) \
43  { \
44  char * _tmp_str_ = \
45  globus_common_create_nstring _MESSAGE_; \
46  globus_libc_fprintf(globus_i_gsi_gss_assist_debug_fstream, \
47  "%s", _tmp_str_); \
48  globus_libc_free(_tmp_str_); \
49  } \
50  }
51 
52 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_PRINT(_LEVEL_, _MESSAGE_) \
53  { \
54  if (GLOBUS_I_GSI_GSS_ASSIST_DEBUG(_LEVEL_)) \
55  { \
56  globus_libc_fprintf(globus_i_gsi_gss_assist_debug_fstream, \
57  _MESSAGE_); \
58  } \
59  }
60 
61 #else
62 
63 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG(_LEVEL_) 0
64 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_FPRINTF(_LEVEL_, _MESSAGE_) {}
65 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_FNPRINTF(_LEVEL_, _MESSAGE_) {}
66 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_PRINT(_LEVEL, _MESSAGE_) {}
67 
68 #endif
69 
70 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_ENTER \
71  GLOBUS_I_GSI_GSS_ASSIST_DEBUG_FPRINTF( \
72  2, (globus_i_gsi_gss_assist_debug_fstream, \
73  "%s entering\n", _function_name_))
74 
75 #define GLOBUS_I_GSI_GSS_ASSIST_DEBUG_EXIT \
76  GLOBUS_I_GSI_GSS_ASSIST_DEBUG_FPRINTF( \
77  2, (globus_i_gsi_gss_assist_debug_fstream, \
78  "%s exiting\n", _function_name_))
79 
80 /* ERROR MACROS */
81 
82 #define GLOBUS_GSI_GSS_ASSIST_ERROR_RESULT(_RESULT_, _ERRORTYPE_, _ERRSTR_) \
83  { \
84  char * _tmp_str_ = \
85  globus_common_create_string _ERRSTR_; \
86  _RESULT_ = globus_i_gsi_gss_assist_error_result(_ERRORTYPE_, \
87  __FILE__, \
88  _function_name_, \
89  __LINE__, \
90  _tmp_str_, \
91  NULL); \
92  globus_libc_free(_tmp_str_); \
93  }
94 
95 #define GLOBUS_GSI_GSS_ASSIST_ERROR_CHAIN_RESULT(_TOP_RESULT_, _ERRORTYPE_) \
96  _TOP_RESULT_ = globus_i_gsi_gss_assist_error_chain_result(_TOP_RESULT_, \
97  _ERRORTYPE_, \
98  __FILE__, \
99  _function_name_, \
100  __LINE__, \
101  NULL, \
102  NULL)
103 
104 #define GLOBUS_GSI_GSS_ASSIST_LONG_ERROR_RESULT(_RESULT_, \
105  _ERRORTYPE_, \
106  _ERRSTR_, \
107  _LONG_DESC_) \
108  { \
109  char * _tmp_str_ = \
110  globus_common_create_string _ERRSTR_; \
111  _RESULT_ = globus_i_gsi_gss_assist_error_result(_ERRORTYPE_, \
112  __FILE__, \
113  _function_name_, \
114  __LINE__, \
115  _tmp_str_, \
116  _LONG_DESC_); \
117  globus_libc_free(_tmp_str_); \
118  }
119 
120 #define GLOBUS_GSI_GSS_ASSIST_LONG_ERROR_CHAIN_RESULT(_TOP_RESULT_, \
121  _ERRORTYPE_, \
122  _LONG_DESC_) \
123  _TOP_RESULT_ = globus_i_gsi_gss_assist_error_chain_result(_TOP_RESULT_, \
124  _ERRORTYPE_, \
125  __FILE__, \
126  _function_name_, \
127  __LINE__, \
128  NULL, \
129  _LONG_DESC_)
130 
131 
132 
133 extern char * globus_l_gsi_gss_assist_error_strings[];
134 
135 globus_result_t
136 globus_i_gsi_gss_assist_error_result(
137  int error_type,
138  const char * filename,
139  const char * function_name,
140  int line_number,
141  const char * short_desc,
142  const char * long_desc);
143 
144 globus_result_t
145 globus_i_gsi_gss_assist_error_chain_result(
146  globus_result_t chain_result,
147  int error_type,
148  const char * filename,
149  const char * function_name,
150  int line_number,
151  const char * short_desc,
152  const char * long_desc);
153 
154 #ifdef __cplusplus
155 }
156 #endif
157 
158 #endif /* GLOBUS_I_GSS_ASSIST_H */
159 
160 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
GSS Assist Header.