--- /dev/null
- function odbc_specialcolumns($connection_id, int $type, ?string $qualifier, string $owner, string $table, int $scope) {}
+<?php
+
+/** @generate-function-entries */
+
+function odbc_close_all(): void {}
+
+/** @param resource $result_id */
+function odbc_binmode($result_id, int $mode): bool {}
+
+/** @param resource $result_id */
+function odbc_longreadlen($result_id, int $length): bool {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_prepare($connection_id, string $query) {}
+
+/** @param resource $result_id */
+function odbc_execute($result_id, array $parameters_array = UNKNOWN): bool {}
+
+/** @param resource $result_id */
+function odbc_cursor($result_id): string|false {}
+
+#ifdef HAVE_SQLDATASOURCES
+/** @param resource $connection_id */
+function odbc_data_source($connection_id, int $fetch_type): array|false {}
+#endif
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_exec($connection_id, string $query, int $flags = UNKNOWN) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ * @alias odbc_exec
+ */
+function odbc_do($connection_id, string $query, int $flags = UNKNOWN) {}
+
+#ifdef PHP_ODBC_HAVE_FETCH_HASH
+/** @param resource $result */
+function odbc_fetch_object($result, int $rownumber = -1): stdClass|false {}
+
+/** @param resource $result */
+function odbc_fetch_array($result, int $rownumber = -1): array|false {}
+#endif
+
+/**
+ * @param resource $result_id
+ * @param array $result_array
+ */
+function odbc_fetch_into($result_id, &$result_array, int $rownumber = 0): int|false {}
+
+/** @param resource $result_id */
+function odbc_fetch_row($result_id, int $row_number = UNKNOWN): bool {}
+
+/** @param resource $result_id */
+function odbc_result($result_id, string|int $field): string|bool|null {}
+
+/** @param resource $result_id */
+function odbc_result_all($result_id, string $format = ""): int|false {}
+
+/** @param resource $result_id */
+function odbc_free_result($result_id): bool {}
+
+/** @return resource|false */
+function odbc_connect(string $dsn, string $user, string $password, int $cursor_option = SQL_CUR_USE_DRIVER) {}
+
+/** @return resource|false */
+function odbc_pconnect(string $dsn, string $user, string $password, int $cursor_option = SQL_CUR_USE_DRIVER) {}
+
+/** @param resource $connection_id */
+function odbc_close($connection_id): void {}
+
+/** @param resource $result_id */
+function odbc_num_rows($result_id): int {}
+
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
+/** @param resource $result_id */
+function odbc_next_result($result_id): bool {}
+#endif
+
+/** @param resource $result_id */
+function odbc_num_fields($result_id): int {}
+
+/** @param resource $result_id */
+function odbc_field_name($result_id, int $field_number): string|false {}
+
+/** @param resource $result_id */
+function odbc_field_type($result_id, int $field_number): string|false {}
+
+/** @param resource $result_id */
+function odbc_field_len($result_id, int $field_number): int|false {}
+
+/**
+ * @param resource $result_id
+ * @alias odbc_field_len
+ */
+function odbc_field_precision($result_id, int $field_number): int|false {}
+
+/** @param resource $result_id */
+function odbc_field_scale($result_id, int $field_number): int|false {}
+
+/** @param resource $result_id */
+function odbc_field_num($result_id, string $field_name): int|false {}
+
+/** @param resource $connection_id */
+function odbc_autocommit($connection_id, int $onoff = 0): int|bool {}
+
+/** @param resource $connection_id */
+function odbc_commit($connection_id): bool {}
+
+/** @param resource $connection_id */
+function odbc_rollback($connection_id): bool {}
+
+/** @param resource $connection_id */
+function odbc_error($connection_id = UNKNOWN): string {}
+
+/** @param resource $connection_id */
+function odbc_errormsg($connection_id = UNKNOWN): string {}
+
+/** @param resource $conn_id */
+function odbc_setoption($conn_id, int $which, int $option, int $value): bool {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_tables($connection_id, ?string $qualfier = null, string $owner = UNKNOWN, string $name = UNKNOWN, string $table_types = UNKNOWN) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_columns($connection_id, ?string $qualifier = null, string $owner = UNKNOWN, string $table_name = UNKNOWN, string $column_name = UNKNOWN) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_gettypeinfo($connection_id, int $data_type = 0) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_primarykeys($connection_id, ?string $qualifier, string $owner, string $table) {}
+
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_procedurecolumns($connection_id, ?string $qualifier = null, string $owner = UNKNOWN, string $proc = UNKNOWN, string $column = UNKNOWN) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_procedures($connection_id, ?string $qualifier = null, string $owner = UNKNOWN, string $name = UNKNOWN) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_foreignkeys($connection_id, ?string $pk_qualifier, string $pk_owner, string $pk_table, string $fk_qualifier, string $fk_owner, string $fk_table) {}
+#endif
+
+/**
+ * @see https://bugs.php.net/bug.php?id=78470
+ * @param resource $connection_id
+ * @return resource|false
+ */
++function odbc_specialcolumns($connection_id, int $type, ?string $qualifier, string $owner, string $table, int $scope, int $nullable) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_statistics($connection_id, ?string $qualfier, string $owner, string $name, int $unique, int $accuracy) {}
+
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_tableprivileges($connection_id, ?string $qualifier, string $owner, string $name) {}
+
+/**
+ * @param resource $connection_id
+ * @return resource|false
+ */
+function odbc_columnprivileges($connection_id, ?string $catalog, string $schema, string $table, string $column) {}
+#endif
--- /dev/null
- * Stub hash: 57db79b23d127851f985d9b6280b113637384a68 */
+/* This is a generated file, edit the .stub.php file instead.
- ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_specialcolumns, 0, 0, 6)
++ * Stub hash: b533372de4f1110216b2545121d7851022980650 */
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close_all, 0, 0, IS_VOID, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_binmode, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_longreadlen, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_prepare, 0, 0, 2)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_execute, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, parameters_array, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_cursor, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result_id)
+ZEND_END_ARG_INFO()
+
+#if defined(HAVE_SQLDATASOURCES)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_data_source, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, fetch_type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_exec, 0, 0, 2)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_odbc_do arginfo_odbc_exec
+
+#if defined(PHP_ODBC_HAVE_FETCH_HASH)
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_fetch_object, 0, 1, stdClass, MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, rownumber, IS_LONG, 0, "-1")
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(PHP_ODBC_HAVE_FETCH_HASH)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_fetch_array, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, rownumber, IS_LONG, 0, "-1")
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_fetch_into, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_INFO(1, result_array)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, rownumber, IS_LONG, 0, "0")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_fetch_row, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, row_number, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_result, 0, 2, MAY_BE_STRING|MAY_BE_BOOL|MAY_BE_NULL)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_MASK(0, field, MAY_BE_STRING|MAY_BE_LONG, NULL)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_result_all, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, format, IS_STRING, 0, "\"\"")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_free_result, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, result_id)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_connect, 0, 0, 3)
+ ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, user, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cursor_option, IS_LONG, 0, "SQL_CUR_USE_DRIVER")
+ZEND_END_ARG_INFO()
+
+#define arginfo_odbc_pconnect arginfo_odbc_connect
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close, 0, 1, IS_VOID, 0)
+ ZEND_ARG_INFO(0, connection_id)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_num_rows, 0, 1, IS_LONG, 0)
+ ZEND_ARG_INFO(0, result_id)
+ZEND_END_ARG_INFO()
+
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_next_result, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, result_id)
+ZEND_END_ARG_INFO()
+#endif
+
+#define arginfo_odbc_num_fields arginfo_odbc_num_rows
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_name, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, field_number, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_odbc_field_type arginfo_odbc_field_name
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_len, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, field_number, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_odbc_field_precision arginfo_odbc_field_len
+
+#define arginfo_odbc_field_scale arginfo_odbc_field_len
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_num, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, result_id)
+ ZEND_ARG_TYPE_INFO(0, field_name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_autocommit, 0, 1, MAY_BE_LONG|MAY_BE_BOOL)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, onoff, IS_LONG, 0, "0")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_commit, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, connection_id)
+ZEND_END_ARG_INFO()
+
+#define arginfo_odbc_rollback arginfo_odbc_commit
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_error, 0, 0, IS_STRING, 0)
+ ZEND_ARG_INFO(0, connection_id)
+ZEND_END_ARG_INFO()
+
+#define arginfo_odbc_errormsg arginfo_odbc_error
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_setoption, 0, 4, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, conn_id)
+ ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tables, 0, 0, 1)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, qualfier, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, table_types, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columns, 0, 0, 1)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, qualifier, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, table_name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, column_name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_gettypeinfo, 0, 0, 1)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, data_type, IS_LONG, 0, "0")
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_primarykeys, 0, 0, 4)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedurecolumns, 0, 0, 1)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, qualifier, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, proc, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, column, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedures, 0, 0, 1)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, qualifier, IS_STRING, 1, "null")
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_foreignkeys, 0, 0, 7)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, pk_qualifier, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, pk_owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, pk_table, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, fk_qualifier, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, fk_owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, fk_table, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
++ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_specialcolumns, 0, 0, 7)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, scope, IS_LONG, 0)
++ ZEND_ARG_TYPE_INFO(0, nullable, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_statistics, 0, 0, 6)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, qualfier, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, unique, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, accuracy, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tableprivileges, 0, 0, 4)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, qualifier, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, owner, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columnprivileges, 0, 0, 5)
+ ZEND_ARG_INFO(0, connection_id)
+ ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, column, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+
+ZEND_FUNCTION(odbc_close_all);
+ZEND_FUNCTION(odbc_binmode);
+ZEND_FUNCTION(odbc_longreadlen);
+ZEND_FUNCTION(odbc_prepare);
+ZEND_FUNCTION(odbc_execute);
+ZEND_FUNCTION(odbc_cursor);
+#if defined(HAVE_SQLDATASOURCES)
+ZEND_FUNCTION(odbc_data_source);
+#endif
+ZEND_FUNCTION(odbc_exec);
+#if defined(PHP_ODBC_HAVE_FETCH_HASH)
+ZEND_FUNCTION(odbc_fetch_object);
+#endif
+#if defined(PHP_ODBC_HAVE_FETCH_HASH)
+ZEND_FUNCTION(odbc_fetch_array);
+#endif
+ZEND_FUNCTION(odbc_fetch_into);
+ZEND_FUNCTION(odbc_fetch_row);
+ZEND_FUNCTION(odbc_result);
+ZEND_FUNCTION(odbc_result_all);
+ZEND_FUNCTION(odbc_free_result);
+ZEND_FUNCTION(odbc_connect);
+ZEND_FUNCTION(odbc_pconnect);
+ZEND_FUNCTION(odbc_close);
+ZEND_FUNCTION(odbc_num_rows);
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
+ZEND_FUNCTION(odbc_next_result);
+#endif
+ZEND_FUNCTION(odbc_num_fields);
+ZEND_FUNCTION(odbc_field_name);
+ZEND_FUNCTION(odbc_field_type);
+ZEND_FUNCTION(odbc_field_len);
+ZEND_FUNCTION(odbc_field_scale);
+ZEND_FUNCTION(odbc_field_num);
+ZEND_FUNCTION(odbc_autocommit);
+ZEND_FUNCTION(odbc_commit);
+ZEND_FUNCTION(odbc_rollback);
+ZEND_FUNCTION(odbc_error);
+ZEND_FUNCTION(odbc_errormsg);
+ZEND_FUNCTION(odbc_setoption);
+ZEND_FUNCTION(odbc_tables);
+ZEND_FUNCTION(odbc_columns);
+ZEND_FUNCTION(odbc_gettypeinfo);
+ZEND_FUNCTION(odbc_primarykeys);
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ZEND_FUNCTION(odbc_procedurecolumns);
+#endif
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ZEND_FUNCTION(odbc_procedures);
+#endif
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ZEND_FUNCTION(odbc_foreignkeys);
+#endif
+ZEND_FUNCTION(odbc_specialcolumns);
+ZEND_FUNCTION(odbc_statistics);
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+ZEND_FUNCTION(odbc_tableprivileges);
+#endif
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+ZEND_FUNCTION(odbc_columnprivileges);
+#endif
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(odbc_close_all, arginfo_odbc_close_all)
+ ZEND_FE(odbc_binmode, arginfo_odbc_binmode)
+ ZEND_FE(odbc_longreadlen, arginfo_odbc_longreadlen)
+ ZEND_FE(odbc_prepare, arginfo_odbc_prepare)
+ ZEND_FE(odbc_execute, arginfo_odbc_execute)
+ ZEND_FE(odbc_cursor, arginfo_odbc_cursor)
+#if defined(HAVE_SQLDATASOURCES)
+ ZEND_FE(odbc_data_source, arginfo_odbc_data_source)
+#endif
+ ZEND_FE(odbc_exec, arginfo_odbc_exec)
+ ZEND_FALIAS(odbc_do, odbc_exec, arginfo_odbc_do)
+#if defined(PHP_ODBC_HAVE_FETCH_HASH)
+ ZEND_FE(odbc_fetch_object, arginfo_odbc_fetch_object)
+#endif
+#if defined(PHP_ODBC_HAVE_FETCH_HASH)
+ ZEND_FE(odbc_fetch_array, arginfo_odbc_fetch_array)
+#endif
+ ZEND_FE(odbc_fetch_into, arginfo_odbc_fetch_into)
+ ZEND_FE(odbc_fetch_row, arginfo_odbc_fetch_row)
+ ZEND_FE(odbc_result, arginfo_odbc_result)
+ ZEND_FE(odbc_result_all, arginfo_odbc_result_all)
+ ZEND_FE(odbc_free_result, arginfo_odbc_free_result)
+ ZEND_FE(odbc_connect, arginfo_odbc_connect)
+ ZEND_FE(odbc_pconnect, arginfo_odbc_pconnect)
+ ZEND_FE(odbc_close, arginfo_odbc_close)
+ ZEND_FE(odbc_num_rows, arginfo_odbc_num_rows)
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
+ ZEND_FE(odbc_next_result, arginfo_odbc_next_result)
+#endif
+ ZEND_FE(odbc_num_fields, arginfo_odbc_num_fields)
+ ZEND_FE(odbc_field_name, arginfo_odbc_field_name)
+ ZEND_FE(odbc_field_type, arginfo_odbc_field_type)
+ ZEND_FE(odbc_field_len, arginfo_odbc_field_len)
+ ZEND_FALIAS(odbc_field_precision, odbc_field_len, arginfo_odbc_field_precision)
+ ZEND_FE(odbc_field_scale, arginfo_odbc_field_scale)
+ ZEND_FE(odbc_field_num, arginfo_odbc_field_num)
+ ZEND_FE(odbc_autocommit, arginfo_odbc_autocommit)
+ ZEND_FE(odbc_commit, arginfo_odbc_commit)
+ ZEND_FE(odbc_rollback, arginfo_odbc_rollback)
+ ZEND_FE(odbc_error, arginfo_odbc_error)
+ ZEND_FE(odbc_errormsg, arginfo_odbc_errormsg)
+ ZEND_FE(odbc_setoption, arginfo_odbc_setoption)
+ ZEND_FE(odbc_tables, arginfo_odbc_tables)
+ ZEND_FE(odbc_columns, arginfo_odbc_columns)
+ ZEND_FE(odbc_gettypeinfo, arginfo_odbc_gettypeinfo)
+ ZEND_FE(odbc_primarykeys, arginfo_odbc_primarykeys)
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ ZEND_FE(odbc_procedurecolumns, arginfo_odbc_procedurecolumns)
+#endif
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ ZEND_FE(odbc_procedures, arginfo_odbc_procedures)
+#endif
+#if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
+ ZEND_FE(odbc_foreignkeys, arginfo_odbc_foreignkeys)
+#endif
+ ZEND_FE(odbc_specialcolumns, arginfo_odbc_specialcolumns)
+ ZEND_FE(odbc_statistics, arginfo_odbc_statistics)
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+ ZEND_FE(odbc_tableprivileges, arginfo_odbc_tableprivileges)
+#endif
+#if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
+ ZEND_FE(odbc_columnprivileges, arginfo_odbc_columnprivileges)
+#endif
+ ZEND_FE_END
+};