Get ADSI CPE ID. More...
#include "asterisk.h"
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/adsi.h"
Go to the source code of this file.
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | cpeid_exec (struct ast_channel *chan, void *idata) |
static int | cpeid_setstatus (struct ast_channel *chan, char *stuff[], int voice) |
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 = "Get ADSI CPE ID" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } |
static char * | app = "GetCPEID" |
static struct ast_module_info * | ast_module_info = &__mod_info |
Get ADSI CPE ID.
Definition in file app_getcpeid.c.
static void __reg_module | ( | void | ) | [static] |
Definition at line 135 of file app_getcpeid.c.
static void __unreg_module | ( | void | ) | [static] |
Definition at line 135 of file app_getcpeid.c.
static int cpeid_exec | ( | struct ast_channel * | chan, |
void * | idata | ||
) | [static] |
Definition at line 64 of file app_getcpeid.c.
References ast_adsi_get_cpeid, ast_adsi_get_cpeinfo, ast_adsi_load_session, ast_adsi_unload_session, ast_verb, ast_waitfordigit(), buttons, cpeid_setstatus(), height, ast_channel::name, and width.
Referenced by load_module().
{ int res=0; unsigned char cpeid[4]; int gotgeometry = 0; int gotcpeid = 0; int width, height, buttons; char *data[4]; unsigned int x; for (x = 0; x < 4; x++) data[x] = alloca(80); strcpy(data[0], "** CPE Info **"); strcpy(data[1], "Identifying CPE..."); strcpy(data[2], "Please wait..."); res = ast_adsi_load_session(chan, NULL, 0, 1); if (res > 0) { cpeid_setstatus(chan, data, 0); res = ast_adsi_get_cpeid(chan, cpeid, 0); if (res > 0) { gotcpeid = 1; ast_verb(3, "Got CPEID of '%02x:%02x:%02x:%02x' on '%s'\n", cpeid[0], cpeid[1], cpeid[2], cpeid[3], chan->name); } if (res > -1) { strcpy(data[1], "Measuring CPE..."); strcpy(data[2], "Please wait..."); cpeid_setstatus(chan, data, 0); res = ast_adsi_get_cpeinfo(chan, &width, &height, &buttons, 0); if (res > -1) { ast_verb(3, "CPE has %d lines, %d columns, and %d buttons on '%s'\n", height, width, buttons, chan->name); gotgeometry = 1; } } if (res > -1) { if (gotcpeid) snprintf(data[1], 80, "CPEID: %02x:%02x:%02x:%02x", cpeid[0], cpeid[1], cpeid[2], cpeid[3]); else strcpy(data[1], "CPEID Unknown"); if (gotgeometry) snprintf(data[2], 80, "Geom: %dx%d, %d buttons", width, height, buttons); else strcpy(data[2], "Geometry unknown"); strcpy(data[3], "Press # to exit"); cpeid_setstatus(chan, data, 1); for(;;) { res = ast_waitfordigit(chan, 1000); if (res < 0) break; if (res == '#') { res = 0; break; } } ast_adsi_unload_session(chan); } } return res; }
static int cpeid_setstatus | ( | struct ast_channel * | chan, |
char * | stuff[], | ||
int | voice | ||
) | [static] |
Definition at line 53 of file app_getcpeid.c.
References ADSI_JUST_CENT, ADSI_JUST_LEFT, ast_adsi_print, and justify.
Referenced by cpeid_exec().
{ int justify[5] = { ADSI_JUST_CENT, ADSI_JUST_LEFT, ADSI_JUST_LEFT, ADSI_JUST_LEFT }; char *tmp[5]; int x; for (x=0;x<4;x++) tmp[x] = stuff[x]; tmp[4] = NULL; return ast_adsi_print(chan, tmp, justify, voice); }
static int load_module | ( | void | ) | [static] |
Definition at line 130 of file app_getcpeid.c.
References ast_register_application_xml, and cpeid_exec().
{ return ast_register_application_xml(app, cpeid_exec); }
static int unload_module | ( | void | ) | [static] |
Definition at line 125 of file app_getcpeid.c.
References ast_unregister_application().
{ return ast_unregister_application(app); }
struct ast_module_info __MODULE_INFO_SECTION __mod_info = { __MODULE_INFO_GLOBALS .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Get ADSI CPE ID" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, } [static] |
Definition at line 135 of file app_getcpeid.c.
char* app = "GetCPEID" [static] |
Definition at line 51 of file app_getcpeid.c.
struct ast_module_info* ast_module_info = &__mod_info [static] |
Definition at line 135 of file app_getcpeid.c.