diff options
Diffstat (limited to 'src/include/anastasis_util_lib.h')
-rw-r--r-- | src/include/anastasis_util_lib.h | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/src/include/anastasis_util_lib.h b/src/include/anastasis_util_lib.h index e780d82..602e1cc 100644 --- a/src/include/anastasis_util_lib.h +++ b/src/include/anastasis_util_lib.h @@ -3,14 +3,14 @@ Copyright (C) 2020 Anastasis SARL Anastasis is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software + terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. Anastasis is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU Affero General Public License along with + You should have received a copy of the GNU General Public License along with Anastasis; see the file COPYING.GPL. If not, see <http://www.gnu.org/licenses/> */ /** @@ -30,6 +30,17 @@ /** + * Maximum value allowed for PINs. Limited to 10^15 < 2^52 to ensure the + * numeric value survives a conversion to float by JavaScript. + * + * NOTE: Do not change this value, we map it to a string like + * 42353-256-6521-241 and that mapping fails if the number + * does not have exactly 15 digits! + */ +#define ANASTASIS_PIN_MAX_VALUE 1000000000000000 + + +/** * Return default project data used by Anastasis. */ const struct GNUNET_OS_ProjectData * @@ -86,4 +97,26 @@ void ANASTASIS_wait_child_cancel (struct ANASTASIS_ChildWaitHandle *cwh); +/** + * Convert input string @a as into @a pin. + * + * @param as input of the form 42355-256-2262-265 + * @param[out] pin set to numeric pin + * @return false if @as is malformed + */ +bool +ANASTASIS_scan_pin (const char *as, + unsigned long long *pin); + + +/** + * Convert numeric pin to human-readable number for display. + * + * @param pin number to convert + * @return static (!) buffer with the text to show + */ +const char * +ANASTASIS_pin2s (uint64_t pin); + + #endif |