anastasis

Credential backup and recovery protocol and service
Log | Files | Refs | Submodules | README | LICENSE

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 */