dbd.h   dbd.h 
skipping to change at line 20 skipping to change at line 20
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A
* *
* $Id: dbd.h,v 1.9 2002/01/29 07:42:03 dap Exp $ * $Id: dbd.h,v 1.15 2002/06/14 22:08:22 dap Exp $
*/ */
#ifndef __DBD_H__ #ifndef __DBD_H__
#define __DBD_H__ #define __DBD_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <dbi/dbi.h> #include <dbi/dbi.h>
skipping to change at line 42 skipping to change at line 42
/* FUNCTIONS EXPORTED BY EACH DRIVER */ /* FUNCTIONS EXPORTED BY EACH DRIVER */
void dbd_register_driver(const dbi_info_t **_driver_info, const char ***_cu stom_functions, const char ***_reserved_words); void dbd_register_driver(const dbi_info_t **_driver_info, const char ***_cu stom_functions, const char ***_reserved_words);
int dbd_initialize(dbi_driver_t *driver); int dbd_initialize(dbi_driver_t *driver);
int dbd_connect(dbi_conn_t *conn); int dbd_connect(dbi_conn_t *conn);
int dbd_disconnect(dbi_conn_t *conn); int dbd_disconnect(dbi_conn_t *conn);
int dbd_fetch_row(dbi_result_t *result, unsigned int rownum); int dbd_fetch_row(dbi_result_t *result, unsigned int rownum);
int dbd_free_query(dbi_result_t *result); int dbd_free_query(dbi_result_t *result);
int dbd_goto_row(dbi_result_t *result, unsigned int row); int dbd_goto_row(dbi_result_t *result, unsigned int row);
dbi_result_t *dbd_list_dbs(dbi_conn_t *conn, const char *pattern); dbi_result_t *dbd_list_dbs(dbi_conn_t *conn, const char *pattern);
dbi_result_t *dbd_list_tables(dbi_conn_t *conn, const char *db); dbi_result_t *dbd_list_tables(dbi_conn_t *conn, const char *db, const char *pattern);
dbi_result_t *dbd_query(dbi_conn_t *conn, const char *statement); dbi_result_t *dbd_query(dbi_conn_t *conn, const char *statement);
dbi_result_t *dbd_query_null(dbi_conn_t *conn, const unsigned char *stateme nt, unsigned long st_length);
int dbd_quote_string(dbi_driver_t *driver, const char *orig, char *dest); int dbd_quote_string(dbi_driver_t *driver, const char *orig, char *dest);
char *dbd_select_db(dbi_conn_t *conn, const char *db); char *dbd_select_db(dbi_conn_t *conn, const char *db);
int dbd_geterror(dbi_conn_t *conn, int *errno, char **errstr); int dbd_geterror(dbi_conn_t *conn, int *errno, char **errstr);
unsigned long long dbd_get_seq_last(dbi_conn_t *conn, const char *sequence)
;
unsigned long long dbd_get_seq_next(dbi_conn_t *conn, const char *sequence)
;
/* _DBD_* DRIVER AUTHORS HELPER FUNCTIONS */ /* _DBD_* DRIVER AUTHORS HELPER FUNCTIONS */
dbi_result_t *_dbd_result_create(dbi_conn_t *conn, void *handle, unsigned i nt numrows_matched, unsigned int numrows_affected); dbi_result_t *_dbd_result_create(dbi_conn_t *conn, void *handle, unsigned i nt numrows_matched, unsigned int numrows_affected);
void _dbd_result_set_numfields(dbi_result_t *result, unsigned int numfields ); void _dbd_result_set_numfields(dbi_result_t *result, unsigned int numfields );
void _dbd_result_add_field(dbi_result_t *result, unsigned int idx, char *na me, unsigned short type, unsigned int attribs); void _dbd_result_add_field(dbi_result_t *result, unsigned int idx, char *na me, unsigned short type, unsigned int attribs);
dbi_row_t *_dbd_row_allocate(unsigned int numfields); dbi_row_t *_dbd_row_allocate(unsigned int numfields);
void _dbd_row_finalize(dbi_result_t *result, dbi_row_t *row, unsigned int i dx); void _dbd_row_finalize(dbi_result_t *result, dbi_row_t *row, unsigned int i dx);
void _dbd_internal_error_handler(dbi_conn_t *conn, const char *errmsg, cons
t int errno);
dbi_result_t *_dbd_result_create_from_stringarray(dbi_conn_t *conn, unsigne
d int numrows_matched, const char **stringarray);
void _dbd_register_driver_cap(dbi_driver_t *driver, const char *capname, in
t value);
void _dbd_register_conn_cap(dbi_conn_t *conn, const char *capname, int valu
e);
int _dbd_result_add_to_conn(dbi_result_t *result);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* __DBD_H__ */ #endif /* __DBD_H__ */
 End of changes. 5 change blocks. 
2 lines changed or deleted 16 lines changed or added


 dbi-dev.h   dbi-dev.h 
skipping to change at line 20 skipping to change at line 20
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A
* *
* $Id: dbi-dev.h,v 1.12 2002/01/29 07:42:03 dap Exp $ * $Id: dbi-dev.h,v 1.20 2002/06/14 23:56:18 dap Exp $
*/ */
#ifndef __DBI_DEV_H__ #ifndef __DBI_DEV_H__
#define __DBI_DEV_H__ #define __DBI_DEV_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <dbi/dbi.h> /* for dbi_conn_error_handler_func */
/********************* /*********************
* SQL RELATED TYPES * * SQL RELATED TYPES *
*********************/ *********************/
/* to fool the compiler into letting us use the following structs before th ey're actually defined: */ /* to fool the compiler into letting us use the following structs before th ey're actually defined: */
typedef struct dbi_driver_s *dbi_driver_t_pointer; typedef struct dbi_driver_s *dbi_driver_t_pointer;
typedef struct dbi_conn_s *dbi_conn_t_pointer; typedef struct dbi_conn_s *dbi_conn_t_pointer;
typedef struct _field_binding_s *_field_binding_t_pointer; typedef struct _field_binding_s *_field_binding_t_pointer;
typedef union dbi_data_u { typedef union dbi_data_u {
skipping to change at line 93 skipping to change at line 95
typedef struct dbi_info_s { typedef struct dbi_info_s {
const char *name; /* all lowercase letters and numbers, no spaces */ const char *name; /* all lowercase letters and numbers, no spaces */
const char *description; /* one or two short sentences, no newlines */ const char *description; /* one or two short sentences, no newlines */
const char *maintainer; /* Full Name <fname@fooblah.com> */ const char *maintainer; /* Full Name <fname@fooblah.com> */
const char *url; /* where this driver came from (if maintained by a third party) */ const char *url; /* where this driver came from (if maintained by a third party) */
const char *version; const char *version;
const char *date_compiled; const char *date_compiled;
} dbi_info_t; } dbi_info_t;
typedef struct _capability_s {
char *name;
int value;
struct _capability_s *next;
} _capability_t;
typedef struct dbi_option_s { typedef struct dbi_option_s {
char *key; char *key;
char *string_value; char *string_value;
int numeric_value; /* use this for port and other numeric settings * / int numeric_value; /* use this for port and other numeric settings * /
struct dbi_option_s *next; struct dbi_option_s *next;
} dbi_option_t; } dbi_option_t;
typedef struct dbi_functions_s { typedef struct dbi_functions_s {
void (*register_driver)(const dbi_info_t **, const char ***, const c har ***); void (*register_driver)(const dbi_info_t **, const char ***, const c har ***);
int (*initialize)(dbi_driver_t_pointer); int (*initialize)(dbi_driver_t_pointer);
int (*connect)(dbi_conn_t_pointer); int (*connect)(dbi_conn_t_pointer);
int (*disconnect)(dbi_conn_t_pointer); int (*disconnect)(dbi_conn_t_pointer);
int (*fetch_row)(dbi_result_t *, unsigned int); int (*fetch_row)(dbi_result_t *, unsigned int);
int (*free_query)(dbi_result_t *); int (*free_query)(dbi_result_t *);
int (*goto_row)(dbi_result_t *, unsigned int); int (*goto_row)(dbi_result_t *, unsigned int);
int (*get_socket)(dbi_conn_t_pointer); int (*get_socket)(dbi_conn_t_pointer);
dbi_result_t *(*list_dbs)(dbi_conn_t_pointer, const char *); dbi_result_t *(*list_dbs)(dbi_conn_t_pointer, const char *);
dbi_result_t *(*list_tables)(dbi_conn_t_pointer, const char *); dbi_result_t *(*list_tables)(dbi_conn_t_pointer, const char *, const char *);
dbi_result_t *(*query)(dbi_conn_t_pointer, const char *); dbi_result_t *(*query)(dbi_conn_t_pointer, const char *);
dbi_result_t *(*query_null)(dbi_conn_t_pointer, const unsigned char *, unsigned long);
int (*quote_string)(dbi_driver_t_pointer, const char *, char *); int (*quote_string)(dbi_driver_t_pointer, const char *, char *);
char *(*select_db)(dbi_conn_t_pointer, const char *); char *(*select_db)(dbi_conn_t_pointer, const char *);
int (*geterror)(dbi_conn_t_pointer, int *, char **); int (*geterror)(dbi_conn_t_pointer, int *, char **);
unsigned long long (*get_seq_last)(dbi_conn_t_pointer, const char *)
;
unsigned long long (*get_seq_next)(dbi_conn_t_pointer, const char *)
;
} dbi_functions_t; } dbi_functions_t;
typedef struct dbi_custom_function_s { typedef struct dbi_custom_function_s {
const char *name; const char *name;
void *function_pointer; void *function_pointer;
struct dbi_custom_function_s *next; struct dbi_custom_function_s *next;
} dbi_custom_function_t; } dbi_custom_function_t;
typedef struct dbi_driver_s { typedef struct dbi_driver_s {
void *dlhandle; void *dlhandle;
char *filename; /* full pathname */ char *filename; /* full pathname */
const dbi_info_t *info; const dbi_info_t *info;
dbi_functions_t *functions; dbi_functions_t *functions;
dbi_custom_function_t *custom_functions; dbi_custom_function_t *custom_functions;
const char **reserved_words; const char **reserved_words;
_capability_t *caps;
struct dbi_driver_s *next; struct dbi_driver_s *next;
} dbi_driver_t; } dbi_driver_t;
typedef struct dbi_conn_s { typedef struct dbi_conn_s {
dbi_driver_t *driver; /* generic unchanging attributes shared by all instances of this conn */ dbi_driver_t *driver; /* generic unchanging attributes shared by all instances of this conn */
dbi_option_t *options; dbi_option_t *options;
_capability_t *caps;
void *connection; /* will be typecast into conn-specific type */ void *connection; /* will be typecast into conn-specific type */
char *current_db; char *current_db;
dbi_error_flag error_flag;
int error_number; /*XXX*/ int error_number; /*XXX*/
char *error_message; /*XXX*/ char *error_message; /*XXX*/
void *error_handler; dbi_conn_error_handler_func error_handler;
void *error_handler_argument; void *error_handler_argument;
dbi_result_t **results; /* for garbage-collector-mandated result dis
joins */
int results_used;
int results_size;
struct dbi_conn_s *next; /* so libdbi can unload all conns at exit * / struct dbi_conn_s *next; /* so libdbi can unload all conns at exit * /
} dbi_conn_t; } dbi_conn_t;
unsigned long _isolate_attrib(unsigned long attribs, unsigned long rangemin , unsigned rangemax); unsigned long _isolate_attrib(unsigned long attribs, unsigned long rangemin , unsigned rangemax);
void _error_handler(dbi_conn_t *conn); void _error_handler(dbi_conn_t *conn, dbi_error_flag errflag);
int _disjoin_from_conn(dbi_result_t *result);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* __DBI_DEV_H__ */ #endif /* __DBI_DEV_H__ */
 End of changes. 12 change blocks. 
4 lines changed or deleted 25 lines changed or added


 dbi.h   dbi.h 
skipping to change at line 20 skipping to change at line 20
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details. * Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US A
* *
* $Id: dbi.h,v 1.25 2002/01/29 05:59:39 dap Exp $ * $Id: dbi.h,v 1.33 2002/06/14 22:08:22 dap Exp $
*/ */
#ifndef __DBI_H__ #ifndef __DBI_H__
#define __DBI_H__ #define __DBI_H__
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
#include <time.h> #include <time.h>
/* opaque type definitions */ /* opaque type definitions */
typedef void * dbi_driver; typedef void * dbi_driver;
typedef void * dbi_conn; typedef void * dbi_conn;
typedef void * dbi_result; typedef void * dbi_result;
typedef enum { DBI_ERROR_USER = -1, DBI_ERROR_NONE = 0, DBI_ERROR_DBD, DBI_
ERROR_BADOBJECT, DBI_ERROR_BADTYPE, DBI_ERROR_BADIDX, DBI_ERROR_BADNAME, DB
I_ERROR_UNSUPPORTED, DBI_ERROR_NOCONN, DBI_ERROR_NOMEM } dbi_error_flag;
/* function callback definitions */
typedef void (*dbi_conn_error_handler_func)(dbi_conn, void *);
/* values for the int in field_types[] */ /* values for the int in field_types[] */
#define DBI_TYPE_INTEGER 1 #define DBI_TYPE_INTEGER 1
#define DBI_TYPE_DECIMAL 2 #define DBI_TYPE_DECIMAL 2
#define DBI_TYPE_STRING 3 #define DBI_TYPE_STRING 3
#define DBI_TYPE_BINARY 4 #define DBI_TYPE_BINARY 4
#define DBI_TYPE_ENUM 5 #define DBI_TYPE_ENUM 5
#define DBI_TYPE_SET 6 #define DBI_TYPE_SET 6
#define DBI_TYPE_DATETIME 7 #define DBI_TYPE_DATETIME 7
/* values for the bitmask in field_type_attributes[] */ /* values for the bitmask in field_type_attributes[] */
skipping to change at line 71 skipping to change at line 76
int dbi_initialize(const char *driverdir); int dbi_initialize(const char *driverdir);
void dbi_shutdown(); void dbi_shutdown();
const char *dbi_version(); const char *dbi_version();
dbi_driver dbi_driver_list(dbi_driver Current); /* returns next driver. if current is NULL, return first driver. */ dbi_driver dbi_driver_list(dbi_driver Current); /* returns next driver. if current is NULL, return first driver. */
dbi_driver dbi_driver_open(const char *name); /* goes thru linked list unti l it finds the right one */ dbi_driver dbi_driver_open(const char *name); /* goes thru linked list unti l it finds the right one */
int dbi_driver_is_reserved_word(dbi_driver Driver, const char *word); int dbi_driver_is_reserved_word(dbi_driver Driver, const char *word);
void *dbi_driver_specific_function(dbi_driver Driver, const char *name); void *dbi_driver_specific_function(dbi_driver Driver, const char *name);
int dbi_driver_quote_string(dbi_driver Driver, char **orig); int dbi_driver_quote_string(dbi_driver Driver, char **orig);
int dbi_driver_cap_get(dbi_driver Driver, const char *capname);
const char *dbi_driver_get_name(dbi_driver Driver); const char *dbi_driver_get_name(dbi_driver Driver);
const char *dbi_driver_get_filename(dbi_driver Driver); const char *dbi_driver_get_filename(dbi_driver Driver);
const char *dbi_driver_get_description(dbi_driver Driver); const char *dbi_driver_get_description(dbi_driver Driver);
const char *dbi_driver_get_maintainer(dbi_driver Driver); const char *dbi_driver_get_maintainer(dbi_driver Driver);
const char *dbi_driver_get_url(dbi_driver Driver); const char *dbi_driver_get_url(dbi_driver Driver);
const char *dbi_driver_get_version(dbi_driver Driver); const char *dbi_driver_get_version(dbi_driver Driver);
const char *dbi_driver_get_date_compiled(dbi_driver Driver); const char *dbi_driver_get_date_compiled(dbi_driver Driver);
dbi_conn dbi_conn_new(const char *name); /* shortcut for dbi_conn_open(dbi_ driver_open("foo")) */ dbi_conn dbi_conn_new(const char *name); /* shortcut for dbi_conn_open(dbi_ driver_open("foo")) */
dbi_conn dbi_conn_open(dbi_driver Driver); /* returns an actual instance of the conn */ dbi_conn dbi_conn_open(dbi_driver Driver); /* returns an actual instance of the conn */
dbi_driver dbi_conn_get_driver(dbi_conn Conn); dbi_driver dbi_conn_get_driver(dbi_conn Conn);
int dbi_conn_set_option(dbi_conn Conn, const char *key, char *value); /* if value is NULL, remove option from list */ int dbi_conn_set_option(dbi_conn Conn, const char *key, char *value); /* if value is NULL, remove option from list */
int dbi_conn_set_option_numeric(dbi_conn Conn, const char *key, int value); int dbi_conn_set_option_numeric(dbi_conn Conn, const char *key, int value);
const char *dbi_conn_get_option(dbi_conn Conn, const char *key); const char *dbi_conn_get_option(dbi_conn Conn, const char *key);
int dbi_conn_get_option_numeric(dbi_conn Conn, const char *key); int dbi_conn_get_option_numeric(dbi_conn Conn, const char *key);
const char *dbi_conn_require_option(dbi_conn Conn, const char *key); /* lik
e get, but generate an error if key isn't found */
int dbi_conn_require_option_numeric(dbi_conn Conn, const char *key); /* dit
to */
const char *dbi_conn_get_option_list(dbi_conn Conn, const char *current); / * returns key of next option, or the first option key if current is NULL */ const char *dbi_conn_get_option_list(dbi_conn Conn, const char *current); / * returns key of next option, or the first option key if current is NULL */
void dbi_conn_clear_option(dbi_conn Conn, const char *key); void dbi_conn_clear_option(dbi_conn Conn, const char *key);
void dbi_conn_clear_options(dbi_conn Conn); void dbi_conn_clear_options(dbi_conn Conn);
int dbi_conn_cap_get(dbi_conn Conn, const char *capname);
int dbi_conn_disjoin_results(dbi_conn Conn);
void dbi_conn_close(dbi_conn Conn); void dbi_conn_close(dbi_conn Conn);
int dbi_conn_error(dbi_conn Conn, char **errmsg_dest); int dbi_conn_error(dbi_conn Conn, const char **errmsg_dest);
void dbi_conn_error_handler(dbi_conn Conn, void *function, void *user_argum void dbi_conn_error_handler(dbi_conn Conn, dbi_conn_error_handler_func func
ent); tion, void *user_argument);
dbi_error_flag dbi_conn_error_flag(dbi_conn Conn);
int dbi_conn_set_error(dbi_conn Conn, int errnum, const char *formatstr, ..
.);
int dbi_conn_connect(dbi_conn Conn); int dbi_conn_connect(dbi_conn Conn);
int dbi_conn_get_socket(dbi_conn Conn); int dbi_conn_get_socket(dbi_conn Conn);
dbi_result dbi_conn_get_db_list(dbi_conn Conn, const char *pattern); dbi_result dbi_conn_get_db_list(dbi_conn Conn, const char *pattern);
dbi_result dbi_conn_get_table_list(dbi_conn Conn, const char *db); dbi_result dbi_conn_get_table_list(dbi_conn Conn, const char *db, const cha r *pattern);
dbi_result dbi_conn_query(dbi_conn Conn, const char *formatstr, ...); dbi_result dbi_conn_query(dbi_conn Conn, const char *formatstr, ...);
dbi_result dbi_conn_query_null(dbi_conn Conn, const unsigned char *statemen t, unsigned long st_length);
int dbi_conn_select_db(dbi_conn Conn, const char *db); int dbi_conn_select_db(dbi_conn Conn, const char *db);
unsigned long long dbi_conn_sequence_last(dbi_conn Conn, const char *name);
/* name of the sequence or table */
unsigned long long dbi_conn_sequence_next(dbi_conn Conn, const char *name);
dbi_conn dbi_result_get_conn(dbi_result Result); dbi_conn dbi_result_get_conn(dbi_result Result);
int dbi_result_free(dbi_result Result); int dbi_result_free(dbi_result Result);
int dbi_result_seek_row(dbi_result Result, unsigned int row); int dbi_result_seek_row(dbi_result Result, unsigned int row);
int dbi_result_first_row(dbi_result Result); int dbi_result_first_row(dbi_result Result);
int dbi_result_last_row(dbi_result Result); int dbi_result_last_row(dbi_result Result);
int dbi_result_prev_row(dbi_result Result); int dbi_result_prev_row(dbi_result Result);
int dbi_result_next_row(dbi_result Result); int dbi_result_next_row(dbi_result Result);
unsigned int dbi_result_get_numrows(dbi_result Result); unsigned int dbi_result_get_numrows(dbi_result Result);
unsigned int dbi_result_get_numrows_affected(dbi_result Result); unsigned int dbi_result_get_numrows_affected(dbi_result Result);
skipping to change at line 124 skipping to change at line 139
unsigned int dbi_result_get_field_length_idx(dbi_result Result, unsigned in t idx); unsigned int dbi_result_get_field_length_idx(dbi_result Result, unsigned in t idx);
int dbi_result_get_field_idx(dbi_result Result, const char *fieldname); int dbi_result_get_field_idx(dbi_result Result, const char *fieldname);
const char *dbi_result_get_field_name(dbi_result Result, unsigned int idx); const char *dbi_result_get_field_name(dbi_result Result, unsigned int idx);
unsigned int dbi_result_get_numfields(dbi_result Result); unsigned int dbi_result_get_numfields(dbi_result Result);
unsigned short dbi_result_get_field_type(dbi_result Result, const char *fie ldname); unsigned short dbi_result_get_field_type(dbi_result Result, const char *fie ldname);
unsigned short dbi_result_get_field_type_idx(dbi_result Result, unsigned in t idx); unsigned short dbi_result_get_field_type_idx(dbi_result Result, unsigned in t idx);
unsigned long dbi_result_get_field_attrib(dbi_result Result, const char *fi eldname, unsigned long attribmin, unsigned long attribmax); unsigned long dbi_result_get_field_attrib(dbi_result Result, const char *fi eldname, unsigned long attribmin, unsigned long attribmax);
unsigned long dbi_result_get_field_attrib_idx(dbi_result Result, unsigned i nt idx, unsigned long attribmin, unsigned long attribmax); unsigned long dbi_result_get_field_attrib_idx(dbi_result Result, unsigned i nt idx, unsigned long attribmin, unsigned long attribmax);
unsigned long dbi_result_get_field_attribs(dbi_result Result, const char *f ieldname); unsigned long dbi_result_get_field_attribs(dbi_result Result, const char *f ieldname);
unsigned long dbi_result_get_field_attribs_idx(dbi_result Result, unsigned int idx); unsigned long dbi_result_get_field_attribs_idx(dbi_result Result, unsigned int idx);
int dbi_result_disjoin(dbi_result Result);
int dbi_result_get_fields(dbi_result Result, const char *format, ...); int dbi_result_get_fields(dbi_result Result, const char *format, ...);
int dbi_result_bind_fields(dbi_result Result, const char *format, ...); int dbi_result_bind_fields(dbi_result Result, const char *format, ...);
signed char dbi_result_get_char(dbi_result Result, const char *fieldname); signed char dbi_result_get_char(dbi_result Result, const char *fieldname);
unsigned char dbi_result_get_uchar(dbi_result Result, const char *fieldname ); unsigned char dbi_result_get_uchar(dbi_result Result, const char *fieldname );
short dbi_result_get_short(dbi_result Result, const char *fieldname); short dbi_result_get_short(dbi_result Result, const char *fieldname);
unsigned short dbi_result_get_ushort(dbi_result Result, const char *fieldna me); unsigned short dbi_result_get_ushort(dbi_result Result, const char *fieldna me);
long dbi_result_get_long(dbi_result Result, const char *fieldname); long dbi_result_get_long(dbi_result Result, const char *fieldname);
unsigned long dbi_result_get_ulong(dbi_result Result, const char *fieldname ); unsigned long dbi_result_get_ulong(dbi_result Result, const char *fieldname );
 End of changes. 10 change blocks. 
5 lines changed or deleted 27 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/