00001 /* 00002 * Copyright (C) 2005-2010 Christoph Rupp (chris@crupp.de). 00003 * 00004 * This program is free software; you can redistribute it and/or modify it 00005 * under the terms of the GNU General Public License as published by the 00006 * Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * See files COPYING.* for License information. 00010 */ 00011 00012 #ifndef HAM_SRV_H__ 00013 #define HAM_SRV_H__ 00014 00015 00016 #ifdef __cplusplus 00017 extern "C" { 00018 #endif 00019 00020 #include <ham/hamsterdb.h> 00021 00025 typedef struct 00026 { 00028 ham_u16_t port; 00029 00030 } hamserver_config_t; 00031 00035 struct hamserver_t; 00036 typedef struct hamserver_t hamserver_t; 00037 00043 extern ham_bool_t 00044 hamserver_init(hamserver_config_t *config, hamserver_t **srv); 00045 00051 extern ham_bool_t 00052 hamserver_add_env(hamserver_t *srv, ham_env_t *env, const char *urlname); 00053 00054 /* 00055 * Release memory and clean up 00056 * 00057 * @warning 00058 * This function will not close open handles (i.e. of Databases, Cursors 00059 * or Transactions). The caller has to close the remaining Environment 00060 * handles (@see ham_env_close). 00061 */ 00062 extern void 00063 hamserver_close(hamserver_t *srv); 00064 00065 00066 #ifdef __cplusplus 00067 } // extern "C" 00068 #endif 00069 00070 #endif /* HAM_SRV_H__ */