anastasis_database_lib.h (3957B)
1 /* 2 This file is part of Anastasis 3 Copyright (C) 2019-2022 Anastasis SARL 4 5 Anastasis is free software; you can redistribute it and/or modify it under the 6 terms of the GNU Affero General Public License as published by the Free Software 7 Foundation; either version 3, or (at your option) any later version. 8 9 Anastasis is distributed in the hope that it will be useful, but WITHOUT ANY 10 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. 12 13 You should have received a copy of the GNU Affero General Public License along with 14 Anastasis; see the file COPYING.GPL. If not, see <http://www.gnu.org/licenses/> 15 */ 16 /** 17 * @file include/anastasis_database_lib.h 18 * @brief Anastasis database library interface 19 * @author Dominik Meister 20 * @author Dennis Neufeld 21 * @author Christian Grothoff 22 */ 23 #ifndef ANASTASIS_DB_LIB_H 24 #define ANASTASIS_DB_LIB_H 25 26 #include "anastasis_service.h" 27 #include <gnunet/gnunet_db_lib.h> 28 #include "anastasis/anastasis-database/common.h" 29 #include "anastasis/anastasis-database/preflight.h" 30 #include "anastasis/anastasis-database/transaction.h" 31 #include "anastasis/anastasis-database/event.h" 32 #include "anastasis/anastasis-database/create_tables.h" 33 #include "anastasis/anastasis-database/drop_tables.h" 34 #include "anastasis/anastasis-database/gc.h" 35 #include "anastasis/anastasis-database/store_recovery_document.h" 36 #include "anastasis/anastasis-database/get_recovery_meta_data.h" 37 #include "anastasis/anastasis-database/get_recovery_document.h" 38 #include "anastasis/anastasis-database/get_latest_recovery_document.h" 39 #include "anastasis/anastasis-database/store_truth.h" 40 #include "anastasis/anastasis-database/get_escrow_challenge.h" 41 #include "anastasis/anastasis-database/get_key_share.h" 42 #include "anastasis/anastasis-database/lookup_account.h" 43 #include "anastasis/anastasis-database/check_payment_identifier.h" 44 #include "anastasis/anastasis-database/check_challenge_payment.h" 45 #include "anastasis/anastasis-database/increment_lifetime.h" 46 #include "anastasis/anastasis-database/update_lifetime.h" 47 #include "anastasis/anastasis-database/record_recdoc_payment.h" 48 #include "anastasis/anastasis-database/record_truth_upload_payment.h" 49 #include "anastasis/anastasis-database/check_truth_upload_paid.h" 50 #include "anastasis/anastasis-database/verify_challenge_code.h" 51 #include "anastasis/anastasis-database/mark_challenge_code_satisfied.h" 52 #include "anastasis/anastasis-database/test_challenge_code_satisfied.h" 53 #include "anastasis/anastasis-database/create_challenge_code.h" 54 #include "anastasis/anastasis-database/mark_challenge_sent.h" 55 #include "anastasis/anastasis-database/challenge_gc.h" 56 #include "anastasis/anastasis-database/record_challenge_payment.h" 57 #include "anastasis/anastasis-database/record_challenge_refund.h" 58 #include "anastasis/anastasis-database/lookup_challenge_payment.h" 59 #include "anastasis/anastasis-database/update_challenge_payment.h" 60 #include "anastasis/anastasis-database/record_auth_iban_payment.h" 61 #include "anastasis/anastasis-database/test_auth_iban_payment.h" 62 #include "anastasis/anastasis-database/get_last_auth_iban_payment_row.h" 63 64 65 /** 66 * Initialize the Anastasis database subsystem. 67 * 68 * @param cfg configuration to use 69 * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure 70 */ 71 enum GNUNET_GenericReturnValue 72 ANASTASIS_DB_init ( 73 const struct GNUNET_CONFIGURATION_Handle *cfg); 74 75 76 /** 77 * Initialize the Anastasis database subsystem for administration. 78 * Disables the check that the database schema is current. 79 * 80 * @param cfg configuration to use 81 * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure 82 */ 83 enum GNUNET_GenericReturnValue 84 ANASTASIS_DB_init_admin ( 85 const struct GNUNET_CONFIGURATION_Handle *cfg); 86 87 88 /** 89 * Shutdown the Anastasis database subsystem. 90 */ 91 void 92 ANASTASIS_DB_fini (void); 93 94 95 #endif /* ANASTASIS_DB_LIB_H */ 96 97 /* end of anastasis_database_lib.h */