elixer          Wed Jan 31 14:04:30 2001 EDT

  Modified files:              
    /php4/ext/mysql     php_mysql.c php_mysql.h 
  Log:
  Added the mysql_get_*_info() functions.
  # If anyone knows of a version of mysql lower then 3.20.32 that implements
  # all 3 of these functions, please change the conditionals.
  @- Added mysql_get_client_info(), mysql_get_server_info(),
  @  mysql_get_proto_info(), and mysql_get_host_info() functions. (Sean)
  
  
Index: php4/ext/mysql/php_mysql.c
diff -u php4/ext/mysql/php_mysql.c:1.66 php4/ext/mysql/php_mysql.c:1.67
--- php4/ext/mysql/php_mysql.c:1.66     Wed Jan 31 13:53:29 2001
+++ php4/ext/mysql/php_mysql.c  Wed Jan 31 14:04:30 2001
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
  
-/* $Id: php_mysql.c,v 1.66 2001/01/31 21:53:29 andi Exp $ */
+/* $Id: php_mysql.c,v 1.67 2001/01/31 22:04:30 elixer Exp $ */
 
 
 /* TODO:
@@ -73,6 +73,10 @@
 #      endif
 #endif
 
+#if MYSQL_VERSION_ID >= 32032
+#define HAVE_GETINFO_FUNCS
+#endif
+
 #if MYSQL_VERSION_ID > 32133 || defined(FIELD_TYPE_TINY)
 #define MYSQL_HAS_TINY
 #endif
@@ -132,6 +136,12 @@
        PHP_FE(mysql_field_type,                                                       
 NULL)
        PHP_FE(mysql_field_flags,                                                      
 NULL)
        PHP_FE(mysql_escape_string,                                                    
 NULL)
+#ifdef HAVE_GETINFO_FUNCS
+       PHP_FE(mysql_get_client_info,                                                  
+ NULL)
+       PHP_FE(mysql_get_host_info,                                                    
+ NULL)
+       PHP_FE(mysql_get_proto_info,                                                   
+ NULL)
+       PHP_FE(mysql_get_server_info,                                                  
+ NULL)
+#endif
         
        /* for downwards compatability */
        PHP_FALIAS(mysql,                               mysql_db_query,         NULL)
@@ -689,6 +699,115 @@
 }
 /* }}} */
 
+#ifdef HAVE_GETINFO_FUNCS
+
+/* {{{ proto string mysql_get_client_info([int link_identifier])
+   Returns a string that represents the client library version */
+PHP_FUNCTION(mysql_get_client_info)
+{
+       if (ZEND_NUM_ARGS() != 0) {
+               WRONG_PARAM_COUNT;
+       }
+
+       RETURN_STRING(mysql_get_client_info(),1);       
+}
+/* }}} */
+
+/* {{{ proto string mysql_get_host_info([int link_identifier])
+   Returns a string describing the type of connection in use, including the
+   server host name */
+PHP_FUNCTION(mysql_get_host_info)
+{
+       zval **mysql_link;
+       int id;
+       MYSQL *mysql;
+       MySLS_FETCH();
+
+       switch(ZEND_NUM_ARGS()) {
+               case 0:
+                       id = 
+php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
+                       CHECK_LINK(id);
+                       break;
+               case 1:
+                       if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
+                               RETURN_FALSE;
+                       }
+                       id = -1;
+                       break;
+               default:
+                       WRONG_PARAM_COUNT;
+                       break;
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, 
+le_plink);
+
+       RETURN_STRING(mysql_get_host_info(mysql),1);
+}
+/* }}} */
+
+/* {{{ proto int mysql_get_proto_info([int link_identifier])
+   Returns the protocol version used by current connection */
+PHP_FUNCTION(mysql_get_proto_info)
+{
+       zval **mysql_link;
+       int id;
+       MYSQL *mysql;
+       MySLS_FETCH();
+
+       switch(ZEND_NUM_ARGS()) {
+               case 0:
+                       id = 
+php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
+                       CHECK_LINK(id);
+                       break;
+               case 1:
+                       if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
+                               RETURN_FALSE;
+                       }
+                       id = -1;
+                       break;
+               default:
+                       WRONG_PARAM_COUNT;
+                       break;
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, 
+le_plink);
+
+       RETURN_LONG(mysql_get_proto_info(mysql));
+}
+/* }}} */
+
+/* {{{ proto string mysql_get_server_info([int link_identifier])
+   Returns a string that represents the server version number */
+PHP_FUNCTION(mysql_get_server_info)
+{
+       zval **mysql_link;
+       int id;
+       MYSQL *mysql;
+       MySLS_FETCH();
+
+       switch(ZEND_NUM_ARGS()) {
+               case 0:
+                       id = 
+php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU MySLS_CC);
+                       CHECK_LINK(id);
+                       break;
+               case 1:
+                       if (zend_get_parameters_ex(1,&mysql_link)==FAILURE) {
+                               RETURN_FALSE;
+                       }
+                       id = -1;
+                       break;
+               default:
+                       WRONG_PARAM_COUNT;
+                       break;
+       }
+
+       ZEND_FETCH_RESOURCE2(mysql, MYSQL *, mysql_link, id, "MySQL-Link", le_link, 
+le_plink);
+
+       RETURN_STRING(mysql_get_server_info(mysql),1);
+}
+/* }}} */
+
+#endif
 
 /* {{{ proto int mysql_create_db(string database_name [, int link_identifier])
    Create a MySQL database */
Index: php4/ext/mysql/php_mysql.h
diff -u php4/ext/mysql/php_mysql.h:1.16 php4/ext/mysql/php_mysql.h:1.17
--- php4/ext/mysql/php_mysql.h:1.16     Wed Oct 11 11:27:21 2000
+++ php4/ext/mysql/php_mysql.h  Wed Jan 31 14:04:30 2001
@@ -17,7 +17,7 @@
 */
 
 
-/* $Id: php_mysql.h,v 1.16 2000/10/11 18:27:21 zeev Exp $ */
+/* $Id: php_mysql.h,v 1.17 2001/01/31 22:04:30 elixer Exp $ */
 
 #ifndef PHP_MYSQL_H
 #define PHP_MYSQL_H
@@ -76,6 +76,10 @@
 PHP_FUNCTION(mysql_field_type);
 PHP_FUNCTION(mysql_field_flags);
 PHP_FUNCTION(mysql_escape_string);
+PHP_FUNCTION(mysql_get_client_info);
+PHP_FUNCTION(mysql_get_host_info);
+PHP_FUNCTION(mysql_get_proto_info);
+PHP_FUNCTION(mysql_get_server_info);
 
 ZEND_BEGIN_MODULE_GLOBALS(mysql)
        long default_link;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to