/* [<][>][^][v][top][bottom][index][help] */
/* Bbuuzzb low level system catalog management header.
Rick Smereka, Copyright (C) 2001-2004.
This program is free software; you can redistribute it and/or modify
it under the terms of 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.
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 the GNU General Public License
along with this program; if not, get a copy via the Internet at
http://gnu.org/copyleft/gpl.html or write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
You can contact the author via email at rsmereka@future-lab.com
Original QNX version. Oct/2001, Rick Smereka
Ported to Red Hat Linux and 32bit Windows. Dec/2001, Rick Smereka
Added 'DBENG_CATALOG_FIELD_REPLICATE', 'DBENG_CATALOG_SSF_PORT'
and 'DBENG_CATALOG_SSF_TNAME'. Jan/2002, Rick Smereka
Added another parameter to prototypes 'dbeng_catalog_new_table'
and 'dbeng_catalog_set_name'. Feb/2002, Rick Smereka
Added prototype 'dbeng_catalog_list'. Aug/2002, Rick Smereka
Ported to Debian Linux. Nov/2002, Rick Smereka
Added define 'DBENG_CATALOG_FIELD_AUTOPACK'. Added new structure
'dbengcat_details'. Added prototypes 'dbeng_catalog_table_details',
'dbeng_catalog_init_table_details' and 'dbeng_catalog_term_table_details'.
Mar/2004, Rick Smereka
Ported to DOS. Jun/2005, Rick Smereka */
#define DBENG_CATALOG_FIELD_TNAME 1
#define DBENG_CATALOG_FIELD_FNAME 2
#define DBENG_CATALOG_FIELD_REPLICATE 3
#define DBENG_CATALOG_FIELD_AUTOPACK 4
#define DBENG_CATALOG_SSF_PORT 1
#define DBENG_CATALOG_SSF_TNAME 2
#define DBENG_CATALOG_TYPE_TNAME 1
#define DBENG_CATALOG_TYPE_FNAME 2
#define DBENG_CATALOG_FNAME_IND '%'
// structure returned by 'dbeng_catalog_table_details'
struct dbengcat_details
{
char *logical_name; // logical table name
char *physical_name; // OS path/file name
int systable_flag; // is it a system table?
int apack; // autopack threshold
#ifdef MULTIUSER
char *rep_list; // replication list
#endif
};
/* function prototypes */
#ifdef __cplusplus
extern "C"
{
#endif
int dbeng_catalog_new(char *, char *);
int dbeng_catalog_new_table(char *, char *, int);
int dbeng_catalog_delete(char *);
int dbeng_catalog_fname(char *, char *);
int dbeng_catalog_list(char *, char *);
int dbeng_catalog_init_table_details(char *, int, struct dbengcat_details **);
int dbeng_catalog_term_table_details(struct dbengcat_details **);
int dbeng_catalog_table_details(struct dbengcat_details *);
#ifdef __cplusplus
}
#endif