diff options
Diffstat (limited to 'src/include/anastasis_util_lib.h')
-rw-r--r-- | src/include/anastasis_util_lib.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/include/anastasis_util_lib.h b/src/include/anastasis_util_lib.h index 07b021b..602e1cc 100644 --- a/src/include/anastasis_util_lib.h +++ b/src/include/anastasis_util_lib.h @@ -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 |