1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2016 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Zeev Suraski <zeev@zend.com> |
| Timm Friebe <php_sybase_ct@thekid.de> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef PHP_SYBASE_CT_H
#define PHP_SYBASE_CT_H
#if HAVE_SYBASE_CT
#define CTLIB_VERSION CS_VERSION_100
extern zend_module_entry sybase_module_entry;
#define sybase_module_ptr &sybase_module_entry
PHP_MINIT_FUNCTION(sybase);
PHP_MSHUTDOWN_FUNCTION(sybase);
PHP_RINIT_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_unbuffered_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_assoc);
PHP_FUNCTION(sybase_fetch_object);
PHP_FUNCTION(sybase_data_seek);
PHP_FUNCTION(sybase_result);
PHP_FUNCTION(sybase_affected_rows);
PHP_FUNCTION(sybase_field_seek);
PHP_FUNCTION(sybase_min_client_severity);
PHP_FUNCTION(sybase_min_server_severity);
PHP_FUNCTION(sybase_fetch_field);
PHP_FUNCTION(sybase_set_message_handler);
PHP_FUNCTION(sybase_deadlock_retry_count);
#include <ctpublic.h>
ZEND_BEGIN_MODULE_GLOBALS(sybase)
long default_link;
long num_links,num_persistent;
long max_links,max_persistent;
long login_timeout;
long allow_persistent;
char *appname;
char *hostname;
char *server_message;
long min_server_severity, min_client_severity;
long deadlock_retry_count;
zval *callback_name;
CS_CONTEXT *context;
ZEND_END_MODULE_GLOBALS(sybase)
typedef struct {
CS_CONNECTION *connection;
CS_COMMAND *cmd;
int valid;
int deadlock;
int dead;
int active_result_index;
long affected_rows;
zval *callback_name;
} sybase_link;
#define SYBASE_ROWS_BLOCK 128
typedef struct {
char *name,*column_source;
int max_length, numeric;
CS_INT type;
} sybase_field;
typedef struct {
zval **data;
sybase_field *fields;
sybase_link *sybase_ptr;
int cur_row,cur_field;
int num_rows,num_fields;
/* For unbuffered reads */
CS_INT *lengths;
CS_SMALLINT *indicators;
char **tmp_buffer;
unsigned char *numerics;
CS_INT *types;
CS_DATAFMT *datafmt;
int blocks_initialized;
CS_RETCODE last_retcode;
int store;
} sybase_result;
#ifdef ZTS
# define SybCtG(v) TSRMG(sybase_globals_id, zend_sybase_globals *, v)
#else
# define SybCtG(v) (sybase_globals.v)
#endif
#else
#define sybase_module_ptr NULL
#endif
#define phpext_sybase_ct_ptr sybase_module_ptr
#endif /* PHP_SYBASE_CT_H */
|