1 /* 2 Copyright (C) 2015-2021, Dirk Krause 3 SPDX-License-Identifier: BSD-3-Clause 4 */ 5 6 /* 7 WARNING: This file was generated by the dkct program (see 8 http://dktools.sourceforge.net/ for details). 9 Changes you make here will be lost if dkct is run again! 10 You should modify the original source and run dkct on it. 11 Original source: dk4maiddmu.ctr 12 */ 13 14 #ifndef DK4MAIDDMU_H_INCLUDED 15 /** Avoid multiple inclusions. */ 16 #define DK4MAIDDMU_H_INCLUDED 1 17 18 19 /** @file 20 Retrieve uintmax_t value from 21 dkChar string in decimal notation. 22 */ 23 24 #ifndef DK4CONF_H_INCLUDED 25 #if DK4_BUILDING_DKTOOLS4 26 #include "dk4conf.h" 27 #else 28 #include <dktools-4/dk4conf.h> 29 #endif 30 #endif 31 32 #if DK4_HAVE_INTMAX_T 33 34 #ifndef DK4TYPES_H_INCLUDED 35 #if DK4_BUILDING_DKTOOLS4 36 #include <libdk4base/dk4types.h> 37 #else 38 #include <dktools-4/dk4types.h> 39 #endif 40 #endif 41 42 #ifndef DK4ERROR_H_INCLUDED 43 #if DK4_BUILDING_DKTOOLS4 44 #include <libdk4base/dk4error.h> 45 #else 46 #include <dktools-4/dk4error.h> 47 #endif 48 #endif 49 50 #ifdef __cplusplus 51 extern "C" { 52 #endif 53 54 /** Retrieve numeric value from string, decimal notation. 55 @param rp Pointer to result variable for the found value. 56 @param src String to check for numeric value. 57 @param endptr Address of pointer variable. 58 A pointer to the first character not processed 59 is stored here. 60 The function may also store a NULL pointer in this 61 variable. 62 @param atg Allow trailing garbage: 63 0=no unprocessable trailing bytes allowed, 64 1=trailing whitespaces allowed, 65 2=any trailing characters allowed. 66 @param erp Error report, may be NULL. 67 @return 1 on success, 0 on error. 68 69 Error codes: 70 DK4_E_INVALID_ARGUMENTS if rp or src is NULL, 71 DK4_E_MATH_OVERFLOW if the number is out of range, or 72 DK4_E_SYNTAX if src contains illegal characters. 73 */ 74 int 75 dk4ma_input_dk_dec_uintmax_t( 76 uintmax_t *rp, 77 const dkChar *src, 78 const dkChar **endptr, 79 int atg, 80 dk4_er_t *erp 81 ); 82 83 #ifdef __cplusplus 84 } 85 #endif 86 87 #endif 88 89 90 91 92 #endif 93