/*- * See the file LICENSE for redistribution information. * * Copyright (c) 1996,2008 Oracle. All rights reserved. * * $Id: db_codegen.h,v 1.5 2008/01/08 20:58:12 bostic Exp $ */ #include "db_config.h" #include "db_int.h" typedef struct __db_obj { char *name; /* Database name */ char *dbtype; /* Database type */ u_int32_t extentsize; /* Queue: extent size */ u_int32_t pagesize; /* Pagesize */ u_int32_t re_len; /* Queue/Recno: record length */ char *key_type; /* Key type */ int custom; /* Custom key comparison. */ char *primary; /* Secondary: primary's name */ u_int32_t secondary_len; /* secondary: length */ u_int32_t secondary_off; /* secondary: 0-based byte offset */ int dupsort; /* Sorted duplicates */ int recnum; /* Btree: record numbers */ int transaction; /* Database is transactional */ TAILQ_ENTRY(__db_obj) q; /* List of databases */ } DB_OBJ; typedef struct __env_obj { char *prefix; /* Name prefix */ char *home; /* Environment home */ u_int32_t gbytes; /* GB, B of cache */ u_int32_t bytes; u_int32_t ncache; /* Number of caches */ int private; /* Private environment */ int standalone; /* Standalone database */ int transaction; /* Database is transactional */ TAILQ_ENTRY(__env_obj) q; /* List of environments, databases */ TAILQ_HEAD(__head_db, __db_obj) dbq; } ENV_OBJ; TAILQ_HEAD(__head_env, __env_obj); /* List of environments */ extern struct __head_env env_tree; extern const char *progname; /* Program name */ int api_c __P((char *)); #ifdef DEBUG int parse_dump __P((void)); #endif int parse_input __P((FILE *));