pq_common.h (1758B)
1 /* 2 This file is part of TALER 3 Copyright (C) 2023 Taler Systems SA 4 5 TALER is free software; you can redistribute it and/or modify it under the 6 terms of the GNU General Public License as published by the Free Software 7 Foundation; either version 3, or (at your option) any later version. 8 9 TALER 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 General Public License for more details. 12 13 You should have received a copy of the GNU General Public License along with 14 TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> 15 */ 16 /** 17 * @file pq/pq_common.h 18 * @brief common defines for the pq functions 19 * @author Johannes Casaburi 20 */ 21 #ifndef DONAU_PQ_COMMON_H_ 22 #define DONAU_PQ_COMMON_H_ 23 24 #include "taler/taler_util.h" 25 26 /** 27 * Internal types that are supported as TALER-exchange-specific array types. 28 * 29 * To support a new type, 30 * 1. add a new entry into this list, 31 * 2. for query-support, implement the size calculation and memory copying in 32 * qconv_array() accordingly, in pq_query_helper.c 33 * 3. provide a query-API for arrays of the type, by calling 34 * query_param_array_generic with the appropriate parameters, 35 * in pq_query_helper.c 36 * 4. for result-support, implement memory copying by adding another case 37 * to extract_array_generic, in pq_result_helper.c 38 * 5. provide a result-spec-API for arrays of the type, 39 * in pq_result_helper.c 40 * 6. expose the API's in taler_pq_lib.h 41 */ 42 enum DONAU_PQ_ArrayType 43 { 44 DONAU_PQ_array_of_blinded_du_sig, 45 DONAU_PQ_array_of_unblinded_du_sig, 46 }; 47 48 49 #endif /* DONAU_PQ_COMMON_H_ */ 50 /* end of pg/pq_common.h */