DAHDI timing interface.
More...
#include "asterisk.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <math.h>
#include <dahdi/user.h>
#include "asterisk/module.h"
#include "asterisk/timing.h"
#include "asterisk/utils.h"
Go to the source code of this file.
|
#define | SEE_TIMING "For more information on Asterisk timing modules, including ways to potentially fix this problem, please see https://wiki.asterisk.org/wiki/display/AST/Timing+Interfaces\n" |
|
|
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "DAHDI Timing Interface" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "ac1f6a56484a8820659555499174e588" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_TIMING, } |
|
static struct ast_module_info * | ast_module_info = &__mod_info |
|
static struct ast_timing_interface | dahdi_timing |
|
static void * | timing_funcs_handle |
|
DAHDI timing interface.
- Author
- Russell Bryant russe.nosp@m.ll@d.nosp@m.igium.nosp@m..com
Definition in file res_timing_dahdi.c.
#define SEE_TIMING "For more information on Asterisk timing modules, including ways to potentially fix this problem, please see https://wiki.asterisk.org/wiki/display/AST/Timing+Interfaces\n" |
static void __reg_module |
( |
void |
| ) |
|
|
static |
static void __unreg_module |
( |
void |
| ) |
|
|
static |
ASTERISK_FILE_VERSION |
( |
__FILE__ |
, |
|
|
"$Revision: 413586 $" |
|
|
) |
| |
static int dahdi_test_timer |
( |
void |
| ) |
|
|
static |
Definition at line 141 of file res_timing_dahdi.c.
References ast_log(), ast_wait_for_input(), LOG_ERROR, and SEE_TIMING.
Referenced by load_module().
146 fd = open(
"/dev/dahdi/timer", O_RDWR);
152 if (ioctl(fd, DAHDI_TIMERCONFIG, &x)) {
153 ast_log(
LOG_ERROR,
"You have DAHDI built and drivers loaded, but the DAHDI timer test failed to set DAHDI_TIMERCONFIG to %d.\n" SEE_TIMING, x);
159 ast_log(
LOG_ERROR,
"You have DAHDI built and drivers loaded, but the DAHDI timer could not be polled during the DAHDI timer test.\n" SEE_TIMING);
165 const char dahdi_timer_error[] = {
166 "Asterisk has detected a problem with your DAHDI configuration and will shutdown for your protection. You have options:"
167 "\n\t1. You only have to compile DAHDI support into Asterisk if you need it. One option is to recompile without DAHDI support."
168 "\n\t2. You only have to load DAHDI drivers if you want to take advantage of DAHDI services. One option is to unload DAHDI modules if you don't need them."
169 "\n\t3. If you need DAHDI services, you must correctly configure DAHDI."
void ast_log(int level, const char *file, int line, const char *function, const char *fmt,...)
Used for sending a log message This is the standard logger function. Probably the only way you will i...
int ast_wait_for_input(int fd, int ms)
static int dahdi_timer_ack |
( |
int |
handle, |
|
|
unsigned int |
quantity |
|
) |
| |
|
static |
Definition at line 95 of file res_timing_dahdi.c.
97 return ioctl(handle, DAHDI_TIMERACK, &quantity) ? -1 : 0;
static void dahdi_timer_close |
( |
int |
handle | ) |
|
|
static |
static int dahdi_timer_disable_continuous |
( |
int |
handle | ) |
|
|
static |
Definition at line 107 of file res_timing_dahdi.c.
111 return ioctl(handle, DAHDI_TIMERPONG, &flags) ? -1 : 0;
static int dahdi_timer_enable_continuous |
( |
int |
handle | ) |
|
|
static |
Definition at line 100 of file res_timing_dahdi.c.
104 return ioctl(handle, DAHDI_TIMERPING, &flags) ? -1 : 0;
static unsigned int dahdi_timer_get_max_rate |
( |
int |
handle | ) |
|
|
static |
static int dahdi_timer_open |
( |
void |
| ) |
|
|
static |
static int dahdi_timer_set_rate |
( |
int |
handle, |
|
|
unsigned int |
rate |
|
) |
| |
|
static |
Definition at line 80 of file res_timing_dahdi.c.
References ast_log(), LOG_ERROR, and roundf().
84 unsigned int samples =
roundf((8000.0 / ((
float) rate)));
86 if (ioctl(handle, DAHDI_TIMERCONFIG, &samples)) {
87 ast_log(
LOG_ERROR,
"Failed to configure DAHDI timing fd for %u sample timer ticks\n",
void ast_log(int level, const char *file, int line, const char *function, const char *fmt,...)
Used for sending a log message This is the standard logger function. Probably the only way you will i...
static int load_module |
( |
void |
| ) |
|
|
static |
static int unload_module |
( |
void |
| ) |
|
|
static |
struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "DAHDI Timing Interface" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "ac1f6a56484a8820659555499174e588" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_TIMING, } |
|
static |
void* timing_funcs_handle |
|
static |