56 if (numberOfOctets->internal < 0) {
63 result->internal.size = (
afw_size_t)numberOfOctets->internal;
65 result->internal.size, x->
xctx);
66 apr_generate_random_bytes((
unsigned char *)result->internal.ptr,
67 result->internal.size);
115 if (numberOfDigits->internal < 1 || numberOfDigits->internal > 18) {
121 result->internal.len = (
afw_size_t)numberOfDigits->internal;
123 apr_generate_random_bytes((
unsigned char *)&n,
sizeof(n));
125 for (count = (
int)numberOfDigits->internal,
126 c = (
char *)result->internal.s;
177 if (numberOfOctets->internal < 0) {
184 result->internal.size = (
afw_size_t)numberOfOctets->internal;
186 result->internal.size, x->
xctx);
187 apr_generate_random_bytes((
unsigned char *)result->internal.ptr,
188 result->internal.size);
238 range = max->internal - min->internal + 1;
241 "range between min and max is out of bounds",
246 apr_generate_random_bytes((
unsigned char*)&result->internal,
248 if (result->internal < 0) {
250 result->internal = 0;
253 result->internal = -result->internal;
256 result->internal = min->internal + (result->internal % range);
321 "range between min and max is out of bounds",
325 apr_generate_random_bytes((
unsigned char*)&random,
sizeof(random));
Adaptive Framework Core Internal.
afw_value_allocate_base64Binary(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type base64Binary value.
afw_value_allocate_double(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type double value.
afw_value_allocate_hexBinary(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type hexBinary value.
afw_value_allocate_integer(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type integer value.
afw_value_allocate_string(const afw_pool_t *p, afw_xctx_t *xctx)
Allocate function for unmanaged data type string value.
apr_uint64_t afw_uint64_t
64-bit unsigned integer.
double afw_double_t
Normal AFW number is double.
apr_size_t afw_size_t
size_t.
#define AFW_INTEGER_MAX
largest afw_integer_t
#define AFW_INTEGER_MIN
smallest afw_integer_t
apr_int64_t afw_integer_t
typedef for big signed int.
#define AFW_THROW_ERROR_Z(code, message_z, xctx)
Macro used to set error and 0 rv in xctx and throw it.
#define AFW_FUNCTION_EVALUATE_REQUIRED_DATA_TYPE_PARAMETER(A_RESULT, A_N, A_TYPE)
Evaluate an arg for a particular data type.
#define AFW_FUNCTION_PARAMETER_IS_PRESENT(A_N)
Determine if a specific parameter value is present.
const afw_value_t * afw_function_execute_random_digits(afw_function_execute_t *x)
Adaptive Function random_digits
const afw_value_t * afw_function_execute_random_base64Binary(afw_function_execute_t *x)
Adaptive Function random_base64Binary
const afw_value_t * afw_function_execute_random_hexBinary(afw_function_execute_t *x)
Adaptive Function random_hexBinary
const afw_value_t * afw_function_execute_random_integer(afw_function_execute_t *x)
Adaptive Function random_integer
const afw_value_t * afw_function_execute_random_number(afw_function_execute_t *x)
Adaptive Function random_number
#define afw_pool_malloc(instance, size, xctx)
Call method malloc of interface afw_pool.
Function execute parameter.
afw_xctx_t * xctx
The execution context (xctx) of caller.
const afw_pool_t * p
Pool for result.
struct for data type base64Binary values.
struct for data type double values.
struct for data type hexBinary values.
struct for data type integer values.
Interface afw_value public struct.
struct for data type string values.