diff options
| author | Zeev Suraski <zeev@php.net> | 2000-06-30 16:24:17 +0000 | 
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-06-30 16:24:17 +0000 | 
| commit | 5660a80cfc1e9bf4d14f6b32057593655bffa8eb (patch) | |
| tree | a3708aa794c04d947dd941b2d602c103286d9acf /ext/sybase/php_sybase_db.h | |
| parent | f72de266e2c7c75d735894c4881be5e297493a1b (diff) | |
| download | php-git-5660a80cfc1e9bf4d14f6b32057593655bffa8eb.tar.gz | |
First Sybase-DB fix patch
Diffstat (limited to 'ext/sybase/php_sybase_db.h')
| -rw-r--r-- | ext/sybase/php_sybase_db.h | 138 | 
1 files changed, 138 insertions, 0 deletions
| diff --git a/ext/sybase/php_sybase_db.h b/ext/sybase/php_sybase_db.h new file mode 100644 index 0000000000..848ab69509 --- /dev/null +++ b/ext/sybase/php_sybase_db.h @@ -0,0 +1,138 @@ +/*  +   +----------------------------------------------------------------------+ +   | PHP HTML Embedded Scripting Language Version 3.0                     | +   +----------------------------------------------------------------------+ +   | Copyright (c) 1997,1998 PHP Development Team (See Credits file)      | +   +----------------------------------------------------------------------+ +   | This program is free software; you can redistribute it and/or modify | +   | it under the terms of one of the following licenses:                 | +   |                                                                      | +   |  A) the GNU General Public License as published by the Free Software | +   |     Foundation; either version 2 of the License, or (at your option) | +   |     any later version.                                               | +   |                                                                      | +   |  B) the PHP License as published by the PHP Development Team and     | +   |     included in the distribution in the file: LICENSE                | +   |                                                                      | +   | This program is distributed in the hope that it will be useful,      | +   | but WITHOUT ANY WARRANTY; without even the implied warranty of       | +   | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        | +   | GNU General Public License for more details.                         | +   |                                                                      | +   | You should have received a copy of both licenses referred to here.   | +   | If you did not, or have any questions about PHP licensing, please    | +   | contact core@php.net.                                                | +   +----------------------------------------------------------------------+ +   | Authors: Zeev Suraski <zeev@zend.com>                                | +   +----------------------------------------------------------------------+ + */ + + +/* $Id$ */ + +#ifndef _PHP_SYBASE_H +#define _PHP_SYBASE_H + +#if HAVE_SYBASE + +extern zend_module_entry sybase_module_entry; +#define sybase_module_ptr &sybase_module_entry + +PHP_MINIT_FUNCTION(sybase); +PHP_RINIT_FUNCTION(sybase); +PHP_MSHUTDOWN_FUNCTION(sybase); +PHP_RSHUTDOWN_FUNCTION(sybase); +PHP_MINFO_FUNCTION(sybase); +PHP_FUNCTION(sybase_connect); +PHP_FUNCTION(sybase_pconnect); +PHP_FUNCTION(sybase_close); +PHP_FUNCTION(sybase_select_db); +PHP_FUNCTION(sybase_query); +PHP_FUNCTION(sybase_free_result); +PHP_FUNCTION(sybase_get_last_message); +PHP_FUNCTION(sybase_num_rows); +PHP_FUNCTION(sybase_num_fields); +PHP_FUNCTION(sybase_fetch_row); +PHP_FUNCTION(sybase_fetch_array); +PHP_FUNCTION(sybase_fetch_object); +PHP_FUNCTION(sybase_data_seek); +PHP_FUNCTION(sybase_result); +PHP_FUNCTION(sybase_field_seek); +PHP_FUNCTION(sybase_min_error_severity); +PHP_FUNCTION(sybase_min_message_severity); + +PHP_FUNCTION(sybase_db_query); +PHP_FUNCTION(sybase_list_fields); +PHP_FUNCTION(sybase_fetch_lengths); +PHP_FUNCTION(sybase_fetch_field); +PHP_FUNCTION(sybase_field_seek); +PHP_FUNCTION(sybase_free_result); +PHP_FUNCTION(sybase_field_name); +PHP_FUNCTION(sybase_field_table); +PHP_FUNCTION(sybase_field_len); +PHP_FUNCTION(sybase_field_type); +PHP_FUNCTION(sybase_field_flags); + + + +#include <sybfront.h> +#include <sybdb.h> +#include <syberror.h> + +#define coltype(j) dbcoltype(sybase_ptr->link,j) +#define intcol(i) ((int) *(DBINT *) dbdata(sybase_ptr->link,i)) +#define smallintcol(i) ((int) *(DBSMALLINT *) dbdata(sybase_ptr->link,i)) +#define tinyintcol(i) ((int) *(DBTINYINT *) dbdata(sybase_ptr->link,i)) +#define anyintcol(j) (coltype(j)==SYBINT4?intcol(j):(coltype(j)==SYBINT2?smallintcol(j):tinyintcol(j))) +#define charcol(i) ((DBCHAR *) dbdata(sybase_ptr->link,i)) +#define floatcol(i) ((float) *(DBFLT8 *) dbdata(sybase_ptr->link,i)) + +typedef struct sybase_link_struct sybase_link; + +typedef struct { +	long default_link; +	long num_links,num_persistent; +	long max_links,max_persistent; +	long allow_persistent; +	char *appname; +	char *server_message; +	int le_link,le_plink,le_result; +	long min_error_severity,min_message_severity; +	long cfg_min_error_severity,cfg_min_message_severity; +	long compatability_mode; +} sybase_module; + +struct sybase_link_struct { +	LOGINREC *login; +	DBPROCESS *link; +	int valid; +}; + +#define SYBASE_ROWS_BLOCK 128 + +typedef struct { +	char *name,*column_source; +	int max_length, numeric; +	int type; +} sybase_field; + +typedef struct { +	pval ***data; +	sybase_field *fields; +	sybase_link *sybase_ptr; +	int cur_row,cur_field; +	int num_rows,num_fields; +} sybase_result; + + +extern sybase_module php_sybase_module; + +#else + +#define sybase_module_ptr NULL + +#endif + +#define phpext_sybase_ptr sybase_module_ptr + +#endif /* _PHP_SYBASE_H */ | 
