Generate Random Number. More...
#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/utils.h"
#include "asterisk/app.h"
Go to the source code of this file.
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | acf_rand_exec (struct ast_channel *chan, const char *cmd, char *parse, char *buffer, size_t buflen) |
static int | load_module (void) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info __MODULE_INFO_SECTION | __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Random number dialplan function" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } |
static struct ast_custom_function | acf_rand |
static struct ast_module_info * | ast_module_info = &__mod_info |
Generate Random Number.
Definition in file func_rand.c.
static void __reg_module | ( | void | ) | [static] |
Definition at line 104 of file func_rand.c.
static void __unreg_module | ( | void | ) | [static] |
Definition at line 104 of file func_rand.c.
static int acf_rand_exec | ( | struct ast_channel * | chan, |
const char * | cmd, | ||
char * | parse, | ||
char * | buffer, | ||
size_t | buflen | ||
) | [static] |
Definition at line 55 of file func_rand.c.
References AST_APP_ARG, ast_debug, AST_DECLARE_APP_ARGS, ast_random(), AST_STANDARD_APP_ARGS, and ast_strlen_zero().
{ int min_int, response_int, max_int; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(min); AST_APP_ARG(max); ); AST_STANDARD_APP_ARGS(args, parse); if (ast_strlen_zero(args.min) || sscanf(args.min, "%30d", &min_int) != 1) min_int = 0; if (ast_strlen_zero(args.max) || sscanf(args.max, "%30d", &max_int) != 1) max_int = RAND_MAX; if (max_int < min_int) { int tmp = max_int; max_int = min_int; min_int = tmp; ast_debug(1, "max<min\n"); } response_int = min_int + (ast_random() % (max_int - min_int + 1)); ast_debug(1, "%d was the lucky number in range [%d,%d]\n", response_int, min_int, max_int); snprintf(buffer, buflen, "%d", response_int); return 0; }
static int load_module | ( | void | ) | [static] |
Definition at line 99 of file func_rand.c.
References ast_custom_function_register.
{ return ast_custom_function_register(&acf_rand); }
static int unload_module | ( | void | ) | [static] |
Definition at line 92 of file func_rand.c.
References ast_custom_function_unregister().
{ ast_custom_function_unregister(&acf_rand); return 0; }
struct ast_module_info __MODULE_INFO_SECTION __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Random number dialplan function" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } [static] |
Definition at line 104 of file func_rand.c.
struct ast_custom_function acf_rand [static] |
{ .name = "RAND", .read = acf_rand_exec, }
Definition at line 87 of file func_rand.c.
struct ast_module_info* ast_module_info = &__mod_info [static] |
Definition at line 104 of file func_rand.c.