xref: /PHP-8.3/ext/odbc/odbc_arginfo.h (revision 038b2ae2)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 0417b68a519527b0ee916bad75116ffe4a3ad304 */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close_all, 0, 0, IS_VOID, 0)
5 ZEND_END_ARG_INFO()
6 
7 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_binmode, 0, 2, _IS_BOOL, 0)
8 	ZEND_ARG_INFO(0, statement)
9 	ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
10 ZEND_END_ARG_INFO()
11 
12 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_longreadlen, 0, 2, _IS_BOOL, 0)
13 	ZEND_ARG_INFO(0, statement)
14 	ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
15 ZEND_END_ARG_INFO()
16 
17 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_prepare, 0, 0, 2)
18 	ZEND_ARG_INFO(0, odbc)
19 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
20 ZEND_END_ARG_INFO()
21 
22 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_execute, 0, 1, _IS_BOOL, 0)
23 	ZEND_ARG_INFO(0, statement)
24 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 0, "[]")
25 ZEND_END_ARG_INFO()
26 
27 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_cursor, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
28 	ZEND_ARG_INFO(0, statement)
29 ZEND_END_ARG_INFO()
30 
31 #if defined(HAVE_SQLDATASOURCES)
32 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_data_source, 0, 2, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE)
33 	ZEND_ARG_INFO(0, odbc)
34 	ZEND_ARG_TYPE_INFO(0, fetch_type, IS_LONG, 0)
35 ZEND_END_ARG_INFO()
36 #endif
37 
38 #define arginfo_odbc_exec arginfo_odbc_prepare
39 
40 #define arginfo_odbc_do arginfo_odbc_prepare
41 
42 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
43 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_fetch_object, 0, 1, stdClass, MAY_BE_FALSE)
44 	ZEND_ARG_INFO(0, statement)
45 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 0, "-1")
46 ZEND_END_ARG_INFO()
47 #endif
48 
49 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
50 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_fetch_array, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
51 	ZEND_ARG_INFO(0, statement)
52 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 0, "-1")
53 ZEND_END_ARG_INFO()
54 #endif
55 
56 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_fetch_into, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
57 	ZEND_ARG_INFO(0, statement)
58 	ZEND_ARG_INFO(1, array)
59 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 0, "0")
60 ZEND_END_ARG_INFO()
61 
62 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_fetch_row, 0, 1, _IS_BOOL, 0)
63 	ZEND_ARG_INFO(0, statement)
64 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 1, "null")
65 ZEND_END_ARG_INFO()
66 
67 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_result, 0, 2, MAY_BE_STRING|MAY_BE_BOOL|MAY_BE_NULL)
68 	ZEND_ARG_INFO(0, statement)
69 	ZEND_ARG_TYPE_MASK(0, field, MAY_BE_STRING|MAY_BE_LONG, NULL)
70 ZEND_END_ARG_INFO()
71 
72 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_result_all, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
73 	ZEND_ARG_INFO(0, statement)
74 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, format, IS_STRING, 0, "\"\"")
75 ZEND_END_ARG_INFO()
76 
77 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_free_result, 0, 1, _IS_BOOL, 0)
78 	ZEND_ARG_INFO(0, statement)
79 ZEND_END_ARG_INFO()
80 
81 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_connect, 0, 0, 3)
82 	ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0)
83 	ZEND_ARG_TYPE_INFO(0, user, IS_STRING, 0)
84 	ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
85 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cursor_option, IS_LONG, 0, "SQL_CUR_USE_DRIVER")
86 ZEND_END_ARG_INFO()
87 
88 #define arginfo_odbc_pconnect arginfo_odbc_connect
89 
90 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close, 0, 1, IS_VOID, 0)
91 	ZEND_ARG_INFO(0, odbc)
92 ZEND_END_ARG_INFO()
93 
94 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_num_rows, 0, 1, IS_LONG, 0)
95 	ZEND_ARG_INFO(0, statement)
96 ZEND_END_ARG_INFO()
97 
98 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
99 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_next_result, 0, 1, _IS_BOOL, 0)
100 	ZEND_ARG_INFO(0, statement)
101 ZEND_END_ARG_INFO()
102 #endif
103 
104 #define arginfo_odbc_num_fields arginfo_odbc_num_rows
105 
106 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_name, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
107 	ZEND_ARG_INFO(0, statement)
108 	ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
109 ZEND_END_ARG_INFO()
110 
111 #define arginfo_odbc_field_type arginfo_odbc_field_name
112 
113 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_len, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
114 	ZEND_ARG_INFO(0, statement)
115 	ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
116 ZEND_END_ARG_INFO()
117 
118 #define arginfo_odbc_field_precision arginfo_odbc_field_len
119 
120 #define arginfo_odbc_field_scale arginfo_odbc_field_len
121 
122 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_num, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
123 	ZEND_ARG_INFO(0, statement)
124 	ZEND_ARG_TYPE_INFO(0, field, IS_STRING, 0)
125 ZEND_END_ARG_INFO()
126 
127 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_autocommit, 0, 1, MAY_BE_LONG|MAY_BE_BOOL)
128 	ZEND_ARG_INFO(0, odbc)
129 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 1, "null")
130 ZEND_END_ARG_INFO()
131 
132 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_commit, 0, 1, _IS_BOOL, 0)
133 	ZEND_ARG_INFO(0, odbc)
134 ZEND_END_ARG_INFO()
135 
136 #define arginfo_odbc_rollback arginfo_odbc_commit
137 
138 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_error, 0, 0, IS_STRING, 0)
139 	ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, odbc, "null")
140 ZEND_END_ARG_INFO()
141 
142 #define arginfo_odbc_errormsg arginfo_odbc_error
143 
144 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_setoption, 0, 4, _IS_BOOL, 0)
145 	ZEND_ARG_INFO(0, odbc)
146 	ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0)
147 	ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
148 	ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
149 ZEND_END_ARG_INFO()
150 
151 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tables, 0, 0, 1)
152 	ZEND_ARG_INFO(0, odbc)
153 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
154 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
155 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, table, IS_STRING, 1, "null")
156 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, types, IS_STRING, 1, "null")
157 ZEND_END_ARG_INFO()
158 
159 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columns, 0, 0, 1)
160 	ZEND_ARG_INFO(0, odbc)
161 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
162 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
163 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, table, IS_STRING, 1, "null")
164 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_STRING, 1, "null")
165 ZEND_END_ARG_INFO()
166 
167 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_gettypeinfo, 0, 0, 1)
168 	ZEND_ARG_INFO(0, odbc)
169 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, data_type, IS_LONG, 0, "0")
170 ZEND_END_ARG_INFO()
171 
172 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_primarykeys, 0, 0, 4)
173 	ZEND_ARG_INFO(0, odbc)
174 	ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
175 	ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
176 	ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
177 ZEND_END_ARG_INFO()
178 
179 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
180 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedurecolumns, 0, 0, 1)
181 	ZEND_ARG_INFO(0, odbc)
182 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
183 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
184 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, procedure, IS_STRING, 1, "null")
185 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_STRING, 1, "null")
186 ZEND_END_ARG_INFO()
187 #endif
188 
189 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
190 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedures, 0, 0, 1)
191 	ZEND_ARG_INFO(0, odbc)
192 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
193 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
194 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, procedure, IS_STRING, 1, "null")
195 ZEND_END_ARG_INFO()
196 #endif
197 
198 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
199 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_foreignkeys, 0, 0, 7)
200 	ZEND_ARG_INFO(0, odbc)
201 	ZEND_ARG_TYPE_INFO(0, pk_catalog, IS_STRING, 1)
202 	ZEND_ARG_TYPE_INFO(0, pk_schema, IS_STRING, 0)
203 	ZEND_ARG_TYPE_INFO(0, pk_table, IS_STRING, 0)
204 	ZEND_ARG_TYPE_INFO(0, fk_catalog, IS_STRING, 0)
205 	ZEND_ARG_TYPE_INFO(0, fk_schema, IS_STRING, 0)
206 	ZEND_ARG_TYPE_INFO(0, fk_table, IS_STRING, 0)
207 ZEND_END_ARG_INFO()
208 #endif
209 
210 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_specialcolumns, 0, 0, 7)
211 	ZEND_ARG_INFO(0, odbc)
212 	ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
213 	ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
214 	ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
215 	ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
216 	ZEND_ARG_TYPE_INFO(0, scope, IS_LONG, 0)
217 	ZEND_ARG_TYPE_INFO(0, nullable, IS_LONG, 0)
218 ZEND_END_ARG_INFO()
219 
220 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_statistics, 0, 0, 6)
221 	ZEND_ARG_INFO(0, odbc)
222 	ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
223 	ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
224 	ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
225 	ZEND_ARG_TYPE_INFO(0, unique, IS_LONG, 0)
226 	ZEND_ARG_TYPE_INFO(0, accuracy, IS_LONG, 0)
227 ZEND_END_ARG_INFO()
228 
229 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
230 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tableprivileges, 0, 0, 4)
231 	ZEND_ARG_INFO(0, odbc)
232 	ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
233 	ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
234 	ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
235 ZEND_END_ARG_INFO()
236 #endif
237 
238 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
239 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columnprivileges, 0, 0, 5)
240 	ZEND_ARG_INFO(0, odbc)
241 	ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
242 	ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
243 	ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
244 	ZEND_ARG_TYPE_INFO(0, column, IS_STRING, 0)
245 ZEND_END_ARG_INFO()
246 #endif
247 
248 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_connection_string_is_quoted, 0, 1, _IS_BOOL, 0)
249 	ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
250 ZEND_END_ARG_INFO()
251 
252 #define arginfo_odbc_connection_string_should_quote arginfo_odbc_connection_string_is_quoted
253 
254 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_connection_string_quote, 0, 1, IS_STRING, 0)
255 	ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
256 ZEND_END_ARG_INFO()
257 
258 
259 ZEND_FUNCTION(odbc_close_all);
260 ZEND_FUNCTION(odbc_binmode);
261 ZEND_FUNCTION(odbc_longreadlen);
262 ZEND_FUNCTION(odbc_prepare);
263 ZEND_FUNCTION(odbc_execute);
264 ZEND_FUNCTION(odbc_cursor);
265 #if defined(HAVE_SQLDATASOURCES)
266 ZEND_FUNCTION(odbc_data_source);
267 #endif
268 ZEND_FUNCTION(odbc_exec);
269 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
270 ZEND_FUNCTION(odbc_fetch_object);
271 #endif
272 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
273 ZEND_FUNCTION(odbc_fetch_array);
274 #endif
275 ZEND_FUNCTION(odbc_fetch_into);
276 ZEND_FUNCTION(odbc_fetch_row);
277 ZEND_FUNCTION(odbc_result);
278 ZEND_FUNCTION(odbc_result_all);
279 ZEND_FUNCTION(odbc_free_result);
280 ZEND_FUNCTION(odbc_connect);
281 ZEND_FUNCTION(odbc_pconnect);
282 ZEND_FUNCTION(odbc_close);
283 ZEND_FUNCTION(odbc_num_rows);
284 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
285 ZEND_FUNCTION(odbc_next_result);
286 #endif
287 ZEND_FUNCTION(odbc_num_fields);
288 ZEND_FUNCTION(odbc_field_name);
289 ZEND_FUNCTION(odbc_field_type);
290 ZEND_FUNCTION(odbc_field_len);
291 ZEND_FUNCTION(odbc_field_scale);
292 ZEND_FUNCTION(odbc_field_num);
293 ZEND_FUNCTION(odbc_autocommit);
294 ZEND_FUNCTION(odbc_commit);
295 ZEND_FUNCTION(odbc_rollback);
296 ZEND_FUNCTION(odbc_error);
297 ZEND_FUNCTION(odbc_errormsg);
298 ZEND_FUNCTION(odbc_setoption);
299 ZEND_FUNCTION(odbc_tables);
300 ZEND_FUNCTION(odbc_columns);
301 ZEND_FUNCTION(odbc_gettypeinfo);
302 ZEND_FUNCTION(odbc_primarykeys);
303 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
304 ZEND_FUNCTION(odbc_procedurecolumns);
305 #endif
306 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
307 ZEND_FUNCTION(odbc_procedures);
308 #endif
309 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
310 ZEND_FUNCTION(odbc_foreignkeys);
311 #endif
312 ZEND_FUNCTION(odbc_specialcolumns);
313 ZEND_FUNCTION(odbc_statistics);
314 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
315 ZEND_FUNCTION(odbc_tableprivileges);
316 #endif
317 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
318 ZEND_FUNCTION(odbc_columnprivileges);
319 #endif
320 ZEND_FUNCTION(odbc_connection_string_is_quoted);
321 ZEND_FUNCTION(odbc_connection_string_should_quote);
322 ZEND_FUNCTION(odbc_connection_string_quote);
323 
324 
325 static const zend_function_entry ext_functions[] = {
326 	ZEND_FE(odbc_close_all, arginfo_odbc_close_all)
327 	ZEND_FE(odbc_binmode, arginfo_odbc_binmode)
328 	ZEND_FE(odbc_longreadlen, arginfo_odbc_longreadlen)
329 	ZEND_FE(odbc_prepare, arginfo_odbc_prepare)
330 	ZEND_FE(odbc_execute, arginfo_odbc_execute)
331 	ZEND_FE(odbc_cursor, arginfo_odbc_cursor)
332 #if defined(HAVE_SQLDATASOURCES)
333 	ZEND_FE(odbc_data_source, arginfo_odbc_data_source)
334 #endif
335 	ZEND_FE(odbc_exec, arginfo_odbc_exec)
336 	ZEND_FALIAS(odbc_do, odbc_exec, arginfo_odbc_do)
337 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
338 	ZEND_FE(odbc_fetch_object, arginfo_odbc_fetch_object)
339 #endif
340 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
341 	ZEND_FE(odbc_fetch_array, arginfo_odbc_fetch_array)
342 #endif
343 	ZEND_FE(odbc_fetch_into, arginfo_odbc_fetch_into)
344 	ZEND_FE(odbc_fetch_row, arginfo_odbc_fetch_row)
345 	ZEND_FE(odbc_result, arginfo_odbc_result)
346 	ZEND_DEP_FE(odbc_result_all, arginfo_odbc_result_all)
347 	ZEND_FE(odbc_free_result, arginfo_odbc_free_result)
348 	ZEND_FE(odbc_connect, arginfo_odbc_connect)
349 	ZEND_FE(odbc_pconnect, arginfo_odbc_pconnect)
350 	ZEND_FE(odbc_close, arginfo_odbc_close)
351 	ZEND_FE(odbc_num_rows, arginfo_odbc_num_rows)
352 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
353 	ZEND_FE(odbc_next_result, arginfo_odbc_next_result)
354 #endif
355 	ZEND_FE(odbc_num_fields, arginfo_odbc_num_fields)
356 	ZEND_FE(odbc_field_name, arginfo_odbc_field_name)
357 	ZEND_FE(odbc_field_type, arginfo_odbc_field_type)
358 	ZEND_FE(odbc_field_len, arginfo_odbc_field_len)
359 	ZEND_FALIAS(odbc_field_precision, odbc_field_len, arginfo_odbc_field_precision)
360 	ZEND_FE(odbc_field_scale, arginfo_odbc_field_scale)
361 	ZEND_FE(odbc_field_num, arginfo_odbc_field_num)
362 	ZEND_FE(odbc_autocommit, arginfo_odbc_autocommit)
363 	ZEND_FE(odbc_commit, arginfo_odbc_commit)
364 	ZEND_FE(odbc_rollback, arginfo_odbc_rollback)
365 	ZEND_FE(odbc_error, arginfo_odbc_error)
366 	ZEND_FE(odbc_errormsg, arginfo_odbc_errormsg)
367 	ZEND_FE(odbc_setoption, arginfo_odbc_setoption)
368 	ZEND_FE(odbc_tables, arginfo_odbc_tables)
369 	ZEND_FE(odbc_columns, arginfo_odbc_columns)
370 	ZEND_FE(odbc_gettypeinfo, arginfo_odbc_gettypeinfo)
371 	ZEND_FE(odbc_primarykeys, arginfo_odbc_primarykeys)
372 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
373 	ZEND_FE(odbc_procedurecolumns, arginfo_odbc_procedurecolumns)
374 #endif
375 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
376 	ZEND_FE(odbc_procedures, arginfo_odbc_procedures)
377 #endif
378 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
379 	ZEND_FE(odbc_foreignkeys, arginfo_odbc_foreignkeys)
380 #endif
381 	ZEND_FE(odbc_specialcolumns, arginfo_odbc_specialcolumns)
382 	ZEND_FE(odbc_statistics, arginfo_odbc_statistics)
383 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
384 	ZEND_FE(odbc_tableprivileges, arginfo_odbc_tableprivileges)
385 #endif
386 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
387 	ZEND_FE(odbc_columnprivileges, arginfo_odbc_columnprivileges)
388 #endif
389 	ZEND_FE(odbc_connection_string_is_quoted, arginfo_odbc_connection_string_is_quoted)
390 	ZEND_FE(odbc_connection_string_should_quote, arginfo_odbc_connection_string_should_quote)
391 	ZEND_FE(odbc_connection_string_quote, arginfo_odbc_connection_string_quote)
392 	ZEND_FE_END
393 };
394 
register_odbc_symbols(int module_number)395 static void register_odbc_symbols(int module_number)
396 {
397 	REGISTER_STRING_CONSTANT("ODBC_TYPE", PHP_ODBC_TYPE, CONST_PERSISTENT);
398 	REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", PHP_ODBC_BINMODE_PASSTHRU, CONST_PERSISTENT);
399 	REGISTER_LONG_CONSTANT("ODBC_BINMODE_RETURN", PHP_ODBC_BINMODE_RETURN, CONST_PERSISTENT);
400 	REGISTER_LONG_CONSTANT("ODBC_BINMODE_CONVERT", PHP_ODBC_BINMODE_CONVERT, CONST_PERSISTENT);
401 	REGISTER_LONG_CONSTANT("SQL_ODBC_CURSORS", SQL_ODBC_CURSORS, CONST_PERSISTENT);
402 	REGISTER_LONG_CONSTANT("SQL_CUR_USE_DRIVER", SQL_CUR_USE_DRIVER, CONST_PERSISTENT);
403 	REGISTER_LONG_CONSTANT("SQL_CUR_USE_IF_NEEDED", SQL_CUR_USE_IF_NEEDED, CONST_PERSISTENT);
404 	REGISTER_LONG_CONSTANT("SQL_CUR_USE_ODBC", SQL_CUR_USE_ODBC, CONST_PERSISTENT);
405 	REGISTER_LONG_CONSTANT("SQL_CONCURRENCY", SQL_CONCURRENCY, CONST_PERSISTENT);
406 	REGISTER_LONG_CONSTANT("SQL_CONCUR_READ_ONLY", SQL_CONCUR_READ_ONLY, CONST_PERSISTENT);
407 	REGISTER_LONG_CONSTANT("SQL_CONCUR_LOCK", SQL_CONCUR_LOCK, CONST_PERSISTENT);
408 	REGISTER_LONG_CONSTANT("SQL_CONCUR_ROWVER", SQL_CONCUR_ROWVER, CONST_PERSISTENT);
409 	REGISTER_LONG_CONSTANT("SQL_CONCUR_VALUES", SQL_CONCUR_VALUES, CONST_PERSISTENT);
410 	REGISTER_LONG_CONSTANT("SQL_CURSOR_TYPE", SQL_CURSOR_TYPE, CONST_PERSISTENT);
411 	REGISTER_LONG_CONSTANT("SQL_CURSOR_FORWARD_ONLY", SQL_CURSOR_FORWARD_ONLY, CONST_PERSISTENT);
412 	REGISTER_LONG_CONSTANT("SQL_CURSOR_KEYSET_DRIVEN", SQL_CURSOR_KEYSET_DRIVEN, CONST_PERSISTENT);
413 	REGISTER_LONG_CONSTANT("SQL_CURSOR_DYNAMIC", SQL_CURSOR_DYNAMIC, CONST_PERSISTENT);
414 	REGISTER_LONG_CONSTANT("SQL_CURSOR_STATIC", SQL_CURSOR_STATIC, CONST_PERSISTENT);
415 	REGISTER_LONG_CONSTANT("SQL_KEYSET_SIZE", SQL_KEYSET_SIZE, CONST_PERSISTENT);
416 	REGISTER_LONG_CONSTANT("SQL_FETCH_FIRST", SQL_FETCH_FIRST, CONST_PERSISTENT);
417 	REGISTER_LONG_CONSTANT("SQL_FETCH_NEXT", SQL_FETCH_NEXT, CONST_PERSISTENT);
418 	REGISTER_LONG_CONSTANT("SQL_CHAR", SQL_CHAR, CONST_PERSISTENT);
419 	REGISTER_LONG_CONSTANT("SQL_VARCHAR", SQL_VARCHAR, CONST_PERSISTENT);
420 	REGISTER_LONG_CONSTANT("SQL_LONGVARCHAR", SQL_LONGVARCHAR, CONST_PERSISTENT);
421 	REGISTER_LONG_CONSTANT("SQL_DECIMAL", SQL_DECIMAL, CONST_PERSISTENT);
422 	REGISTER_LONG_CONSTANT("SQL_NUMERIC", SQL_NUMERIC, CONST_PERSISTENT);
423 	REGISTER_LONG_CONSTANT("SQL_BIT", SQL_BIT, CONST_PERSISTENT);
424 	REGISTER_LONG_CONSTANT("SQL_TINYINT", SQL_TINYINT, CONST_PERSISTENT);
425 	REGISTER_LONG_CONSTANT("SQL_SMALLINT", SQL_SMALLINT, CONST_PERSISTENT);
426 	REGISTER_LONG_CONSTANT("SQL_INTEGER", SQL_INTEGER, CONST_PERSISTENT);
427 	REGISTER_LONG_CONSTANT("SQL_BIGINT", SQL_BIGINT, CONST_PERSISTENT);
428 	REGISTER_LONG_CONSTANT("SQL_REAL", SQL_REAL, CONST_PERSISTENT);
429 	REGISTER_LONG_CONSTANT("SQL_FLOAT", SQL_FLOAT, CONST_PERSISTENT);
430 	REGISTER_LONG_CONSTANT("SQL_DOUBLE", SQL_DOUBLE, CONST_PERSISTENT);
431 	REGISTER_LONG_CONSTANT("SQL_BINARY", SQL_BINARY, CONST_PERSISTENT);
432 	REGISTER_LONG_CONSTANT("SQL_VARBINARY", SQL_VARBINARY, CONST_PERSISTENT);
433 	REGISTER_LONG_CONSTANT("SQL_LONGVARBINARY", SQL_LONGVARBINARY, CONST_PERSISTENT);
434 	REGISTER_LONG_CONSTANT("SQL_DATE", SQL_DATE, CONST_PERSISTENT);
435 	REGISTER_LONG_CONSTANT("SQL_TIME", SQL_TIME, CONST_PERSISTENT);
436 	REGISTER_LONG_CONSTANT("SQL_TIMESTAMP", SQL_TIMESTAMP, CONST_PERSISTENT);
437 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
438 	REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT);
439 #endif
440 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
441 	REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT);
442 #endif
443 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
444 	REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT);
445 #endif
446 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
447 	REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT);
448 #endif
449 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
450 	REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT);
451 #endif
452 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
453 	REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT);
454 #endif
455 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
456 	REGISTER_LONG_CONSTANT("SQL_BEST_ROWID", SQL_BEST_ROWID, CONST_PERSISTENT);
457 #endif
458 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
459 	REGISTER_LONG_CONSTANT("SQL_ROWVER", SQL_ROWVER, CONST_PERSISTENT);
460 #endif
461 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
462 	REGISTER_LONG_CONSTANT("SQL_SCOPE_CURROW", SQL_SCOPE_CURROW, CONST_PERSISTENT);
463 #endif
464 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
465 	REGISTER_LONG_CONSTANT("SQL_SCOPE_TRANSACTION", SQL_SCOPE_TRANSACTION, CONST_PERSISTENT);
466 #endif
467 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
468 	REGISTER_LONG_CONSTANT("SQL_SCOPE_SESSION", SQL_SCOPE_SESSION, CONST_PERSISTENT);
469 #endif
470 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
471 	REGISTER_LONG_CONSTANT("SQL_NO_NULLS", SQL_NO_NULLS, CONST_PERSISTENT);
472 #endif
473 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
474 	REGISTER_LONG_CONSTANT("SQL_NULLABLE", SQL_NULLABLE, CONST_PERSISTENT);
475 #endif
476 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
477 	REGISTER_LONG_CONSTANT("SQL_INDEX_UNIQUE", SQL_INDEX_UNIQUE, CONST_PERSISTENT);
478 #endif
479 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
480 	REGISTER_LONG_CONSTANT("SQL_INDEX_ALL", SQL_INDEX_ALL, CONST_PERSISTENT);
481 #endif
482 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
483 	REGISTER_LONG_CONSTANT("SQL_ENSURE", SQL_ENSURE, CONST_PERSISTENT);
484 #endif
485 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
486 	REGISTER_LONG_CONSTANT("SQL_QUICK", SQL_QUICK, CONST_PERSISTENT);
487 #endif
488 
489 
490 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "odbc_connect", sizeof("odbc_connect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
491 
492 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "odbc_pconnect", sizeof("odbc_pconnect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
493 }
494