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.