[asterisk-commits] oej: branch oej/adsi-no-more r64425 - in
/team/oej/adsi-no-more: include/aste...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Tue May 15 12:48:20 MST 2007
Author: oej
Date: Tue May 15 14:48:20 2007
New Revision: 64425
URL: http://svn.digium.com/view/asterisk?view=rev&rev=64425
Log:
Integrating patch from bug #5930, coded and disclaimed by clwade
After this, let's merge this branch up to current revision
Modified:
team/oej/adsi-no-more/include/asterisk/adsi.h
team/oej/adsi-no-more/main/Makefile
team/oej/adsi-no-more/res/res_adsi.c
Modified: team/oej/adsi-no-more/include/asterisk/adsi.h
URL: http://svn.digium.com/view/asterisk/team/oej/adsi-no-more/include/asterisk/adsi.h?view=diff&rev=64425&r1=64424&r2=64425
==============================================================================
--- team/oej/adsi-no-more/include/asterisk/adsi.h (original)
+++ team/oej/adsi-no-more/include/asterisk/adsi.h Tue May 15 14:48:20 2007
@@ -125,11 +125,11 @@
* Returns 0 on success (or adsi unavailable) and -1 on hangup
*
*/
-int ast_adsi_channel_init(struct ast_channel *chan);
-
-int ast_adsi_begin_download(struct ast_channel *chan, char *service, unsigned char *fdn, unsigned char *sec, int version);
-
-int ast_adsi_end_download(struct ast_channel *chan);
+extern int (*ast_adsi_channel_init)(struct ast_channel *chan);
+
+extern int (*ast_adsi_begin_download)(struct ast_channel *chan, char *service, unsigned char *fdn, unsigned char *sec, int version);
+
+extern int (*ast_adsi_end_download)(struct ast_channel *chan);
/*! Restore ADSI initialization (for applications that play with ADSI */
/* and want to restore it to normal. If you touch "INFO" then you */
@@ -140,7 +140,7 @@
* Returns 0 on success (or adsi unavailable) and -1 on hangup
*
*/
-int ast_adsi_channel_restore(struct ast_channel *chan);
+extern int (*ast_adsi_channel_restore)(struct ast_channel *chan);
/*! Display some stuff on the screen */
/*!
@@ -152,7 +152,7 @@
* Return 0 on success (or adsi unavailable) and -1 on hangup
*
*/
-int ast_adsi_print(struct ast_channel *chan, char **lines, int *align, int voice);
+extern int (*ast_adsi_print)(struct ast_channel *chan, char **lines, int *align, int voice);
/*! Check if scripts for a given app are already loaded. Version may be -1 */
/* if any version is okay, or 0-255 for a specific version. */
@@ -165,18 +165,18 @@
* Returns 0 if scripts is not loaded or not an ADSI CPE. Returns -1
* on hangup. Returns 1 if script already loaded.
*/
-int ast_adsi_load_session(struct ast_channel *chan, unsigned char *app, int ver, int data);
-int ast_adsi_unload_session(struct ast_channel *chan);
+extern int (*ast_adsi_load_session)(struct ast_channel *chan, unsigned char *app, int ver, int data);
+extern int (*ast_adsi_unload_session)(struct ast_channel *chan);
/* ADSI Layer 2 transmission functions */
-int ast_adsi_transmit_messages(struct ast_channel *chan, unsigned char **msg, int *msglen, int *msgtype);
-int ast_adsi_transmit_message(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype);
-int ast_adsi_transmit_message_full(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype, int dowait);
+extern int (*ast_adsi_transmit_messages)(struct ast_channel *chan, unsigned char **msg, int *msglen, int *msgtype);
+extern int (*ast_adsi_transmit_message)(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype);
+extern int (*ast_adsi_transmit_message_full)(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype, int dowait);
/*! Read some encoded DTMF data. */
/*!
* Returns number of bytes received
*/
-int ast_adsi_read_encoded_dtmf(struct ast_channel *chan, unsigned char *buf, int maxlen);
+extern int (*ast_adsi_read_encoded_dtmf)(struct ast_channel *chan, unsigned char *buf, int maxlen);
/* ADSI Layer 3 creation functions */
@@ -190,14 +190,14 @@
*
*/
-int ast_adsi_connect_session(unsigned char *buf, unsigned char *fdn, int ver);
+extern int (*ast_adsi_connect_session)(unsigned char *buf, unsigned char *fdn, int ver);
/*! Build Query CPE ID of equipment */
/*!
* Returns number of bytes added to message
*/
-int ast_adsi_query_cpeid(unsigned char *buf);
-int ast_adsi_query_cpeinfo(unsigned char *buf);
+extern int (*ast_adsi_query_cpeid)(unsigned char *buf);
+extern int (*ast_adsi_query_cpeinfo)(unsigned char *buf);
/*! Get CPE ID from an attached ADSI compatible CPE. */
/*!
@@ -205,9 +205,9 @@
* or -1 on hangup, or 0 if there was no hangup but it failed to find the
* device ID. Returns to voice mode if "voice" is non-zero.
*/
-int ast_adsi_get_cpeid(struct ast_channel *chan, unsigned char *cpeid, int voice);
-
-int ast_adsi_get_cpeinfo(struct ast_channel *chan, int *width, int *height, int *buttons, int voice);
+extern int (*ast_adsi_get_cpeid)(struct ast_channel *chan, unsigned char *cpeid, int voice);
+
+extern int (*ast_adsi_get_cpeinfo)(struct ast_channel *chan, int *width, int *height, int *buttons, int voice);
/*! Begin an ADSI script download */
/*!
@@ -221,7 +221,7 @@
*
*/
-int ast_adsi_download_connect(unsigned char *buf, char *service, unsigned char *fdn, unsigned char *sec, int ver);
+extern int (*ast_adsi_download_connect)(unsigned char *buf, char *service, unsigned char *fdn, unsigned char *sec, int ver);
/*! Disconnects a running session */
/*!
@@ -230,7 +230,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_disconnect_session(unsigned char *buf);
+extern int (*ast_adsi_disconnect_session)(unsigned char *buf);
/*! Disconnects (and hopefully saves) a downloaded script */
/*!
@@ -239,7 +239,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_download_disconnect(unsigned char *buf);
+extern int (*ast_adsi_download_disconnect)(unsigned char *buf);
/*! Puts CPE in data mode... */
/*!
@@ -248,9 +248,9 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_data_mode(unsigned char *buf);
-int ast_adsi_clear_soft_keys(unsigned char *buf);
-int ast_adsi_clear_screen(unsigned char *buf);
+extern int (*ast_adsi_data_mode)(unsigned char *buf);
+extern int (*ast_adsi_clear_soft_keys)(unsigned char *buf);
+extern int (*ast_adsi_clear_screen)(unsigned char *buf);
/*! Puts CPE in voice mode... */
/*!
@@ -260,14 +260,14 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_voice_mode(unsigned char *buf, int when);
+extern int (*ast_adsi_voice_mode)(unsigned char *buf, int when);
/*! Returns non-zero if Channel does or might support ADSI */
/*!
* \param chan Channel to check
*
*/
-int ast_adsi_available(struct ast_channel *chan);
+extern int (*ast_adsi_available)(struct ast_channel *chan);
/*! Loads a line of info into the display */
/*!
@@ -283,7 +283,7 @@
*
*/
-int ast_adsi_display(unsigned char *buf, int page, int line, int just, int wrap, char *col1, char *col2);
+extern int (*ast_adsi_display)(unsigned char *buf, int page, int line, int just, int wrap, char *col1, char *col2);
/*! Sets the current line and page */
/*!
@@ -295,7 +295,7 @@
*
*/
-int ast_adsi_set_line(unsigned char *buf, int page, int line);
+extern int (*ast_adsi_set_line)(unsigned char *buf, int page, int line);
/*! Creates "load soft key" parameters */
/*!
@@ -309,7 +309,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_load_soft_key(unsigned char *buf, int key, const char *llabel, const char *slabel, const char *ret, int data);
+extern int (*ast_adsi_load_soft_key)(unsigned char *buf, int key, char *llabel, char *slabel, char *ret, int data);
/*! Set which soft keys should be displayed */
/*!
@@ -320,7 +320,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_set_keys(unsigned char *buf, unsigned char *keys);
+extern int (*ast_adsi_set_keys)(unsigned char *buf, unsigned char *keys);
/*! Set input information */
/*!
@@ -334,7 +334,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_input_control(unsigned char *buf, int page, int line, int display, int format, int just);
+extern int (*ast_adsi_input_control)(unsigned char *buf, int page, int line, int display, int format, int just);
/*! Set input format */
/*!
@@ -348,6 +348,7 @@
* Returns number of bytes added to buffer or -1 on error.
*
*/
-int ast_adsi_input_format(unsigned char *buf, int num, int dir, int wrap, char *format1, char *format2);
+extern int (*ast_adsi_input_format)(unsigned char *buf, int num, int dir, int wrap, char *format1, char *format2);
#endif /* _ASTERISK_ADSI_H */
+
Modified: team/oej/adsi-no-more/main/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/adsi-no-more/main/Makefile?view=diff&rev=64425&r1=64424&r2=64425
==============================================================================
--- team/oej/adsi-no-more/main/Makefile (original)
+++ team/oej/adsi-no-more/main/Makefile Tue May 15 14:48:20 2007
@@ -26,7 +26,7 @@
utils.o plc.o jitterbuf.o dnsmgr.o devicestate.o \
netsock.o slinfactory.o ast_expr2.o ast_expr2f.o \
cryptostub.o sha1.o http.o fixedjitterbuf.o abstract_jb.o \
- strcompat.o
+ strcompat.o adsistub.o
# we need to link in the objects statically, not as a library, because
# otherwise modules will not have them available if none of the static
Modified: team/oej/adsi-no-more/res/res_adsi.c
URL: http://svn.digium.com/view/asterisk/team/oej/adsi-no-more/res/res_adsi.c?view=diff&rev=64425&r1=64424&r2=64425
==============================================================================
--- team/oej/adsi-no-more/res/res_adsi.c (original)
+++ team/oej/adsi-no-more/res/res_adsi.c Tue May 15 14:48:20 2007
@@ -333,7 +333,7 @@
}
-int ast_adsi_begin_download(struct ast_channel *chan, char *service, unsigned char *fdn, unsigned char *sec, int version)
+int _ast_adsi_begin_download(struct ast_channel *chan, char *service, unsigned char *fdn, unsigned char *sec, int version)
{
int bytes;
unsigned char buf[256];
@@ -353,7 +353,7 @@
return -1;
}
-int ast_adsi_end_download(struct ast_channel *chan)
+int _ast_adsi_end_download(struct ast_channel *chan)
{
int bytes;
unsigned char buf[256];
@@ -366,7 +366,7 @@
return 0;
}
-int ast_adsi_transmit_message_full(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype, int dowait)
+int _ast_adsi_transmit_message_full(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype, int dowait)
{
unsigned char *msgs[5] = { NULL, NULL, NULL, NULL, NULL };
int msglens[5];
@@ -447,7 +447,7 @@
return res;
}
-int ast_adsi_transmit_message(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype)
+int _ast_adsi_transmit_message(struct ast_channel *chan, unsigned char *msg, int msglen, int msgtype)
{
return ast_adsi_transmit_message_full(chan, msg, msglen, msgtype, 1);
}
@@ -463,7 +463,7 @@
return x;
}
-int ast_adsi_load_soft_key(unsigned char *buf, int key, const char *llabel, const char *slabel, const char *ret, int data)
+int _ast_adsi_load_soft_key(unsigned char *buf, int key, char *llabel, char *slabel, char *ret, int data)
{
int bytes=0;
@@ -502,7 +502,7 @@
}
-int ast_adsi_connect_session(unsigned char *buf, unsigned char *fdn, int ver)
+int _ast_adsi_connect_session(unsigned char *buf, unsigned char *fdn, int ver)
{
int bytes=0;
int x;
@@ -525,7 +525,7 @@
}
-int ast_adsi_download_connect(unsigned char *buf, char *service, unsigned char *fdn, unsigned char *sec, int ver)
+int _ast_adsi_download_connect(unsigned char *buf, char *service, unsigned char *fdn, unsigned char *sec, int ver)
{
int bytes=0;
int x;
@@ -555,7 +555,7 @@
}
-int ast_adsi_disconnect_session(unsigned char *buf)
+int _ast_adsi_disconnect_session(unsigned char *buf)
{
int bytes=0;
@@ -570,7 +570,7 @@
}
-int ast_adsi_query_cpeid(unsigned char *buf)
+int _ast_adsi_query_cpeid(unsigned char *buf)
{
int bytes = 0;
buf[bytes++] = ADSI_QUERY_CPEID;
@@ -580,7 +580,7 @@
return bytes;
}
-int ast_adsi_query_cpeinfo(unsigned char *buf)
+int _ast_adsi_query_cpeinfo(unsigned char *buf)
{
int bytes = 0;
buf[bytes++] = ADSI_QUERY_CONFIG;
@@ -590,7 +590,7 @@
return bytes;
}
-int ast_adsi_read_encoded_dtmf(struct ast_channel *chan, unsigned char *buf, int maxlen)
+int _ast_adsi_read_encoded_dtmf(struct ast_channel *chan, unsigned char *buf, int maxlen)
{
int bytes = 0;
int res;
@@ -625,7 +625,7 @@
return bytes;
}
-int ast_adsi_get_cpeid(struct ast_channel *chan, unsigned char *cpeid, int voice)
+int _ast_adsi_get_cpeid(struct ast_channel *chan, unsigned char *cpeid, int voice)
{
unsigned char buf[256];
int bytes = 0;
@@ -657,7 +657,7 @@
return res;
}
-int ast_adsi_get_cpeinfo(struct ast_channel *chan, int *width, int *height, int *buttons, int voice)
+int _ast_adsi_get_cpeinfo(struct ast_channel *chan, int *width, int *height, int *buttons, int voice)
{
unsigned char buf[256];
int bytes = 0;
@@ -722,7 +722,7 @@
return res;
}
-int ast_adsi_data_mode(unsigned char *buf)
+int _ast_adsi_data_mode(unsigned char *buf)
{
int bytes=0;
@@ -737,7 +737,7 @@
}
-int ast_adsi_clear_soft_keys(unsigned char *buf)
+int _ast_adsi_clear_soft_keys(unsigned char *buf)
{
int bytes=0;
@@ -752,7 +752,7 @@
}
-int ast_adsi_clear_screen(unsigned char *buf)
+int _ast_adsi_clear_screen(unsigned char *buf)
{
int bytes=0;
@@ -767,7 +767,7 @@
}
-int ast_adsi_voice_mode(unsigned char *buf, int when)
+int _ast_adsi_voice_mode(unsigned char *buf, int when)
{
int bytes=0;
@@ -784,7 +784,7 @@
}
-int ast_adsi_available(struct ast_channel *chan)
+int _ast_adsi_available(struct ast_channel *chan)
{
int cpe = chan->adsicpe & 0xff;
if ((cpe == AST_ADSI_AVAILABLE) ||
@@ -793,7 +793,7 @@
return 0;
}
-int ast_adsi_download_disconnect(unsigned char *buf)
+int _ast_adsi_download_disconnect(unsigned char *buf)
{
int bytes=0;
@@ -808,8 +808,8 @@
}
-int ast_adsi_display(unsigned char *buf, int page, int line, int just, int wrap,
- char *col1, char *col2)
+int _ast_adsi_display(unsigned char *buf, int page, int line, int just, int wrap,
+ char *col1, char *col2)
{
int bytes=0;
@@ -854,7 +854,7 @@
}
-int ast_adsi_input_control(unsigned char *buf, int page, int line, int display, int format, int just)
+int _ast_adsi_input_control(unsigned char *buf, int page, int line, int display, int format, int just)
{
int bytes=0;
@@ -877,7 +877,7 @@
}
-int ast_adsi_input_format(unsigned char *buf, int num, int dir, int wrap, char *format1, char *format2)
+int _ast_adsi_input_format(unsigned char *buf, int num, int dir, int wrap, char *format1, char *format2)
{
int bytes = 0;
@@ -896,7 +896,7 @@
return bytes;
}
-int ast_adsi_set_keys(unsigned char *buf, unsigned char *keys)
+int _ast_adsi_set_keys(unsigned char *buf, unsigned char *keys)
{
int bytes=0;
int x;
@@ -911,7 +911,7 @@
return bytes;
}
-int ast_adsi_set_line(unsigned char *buf, int page, int line)
+int _ast_adsi_set_line(unsigned char *buf, int page, int line)
{
int bytes=0;
@@ -942,7 +942,7 @@
static int total = 0;
static int speeds = 0;
-int ast_adsi_channel_restore(struct ast_channel *chan)
+int _ast_adsi_channel_restore(struct ast_channel *chan)
{
unsigned char dsp[256];
int bytes;
@@ -969,7 +969,7 @@
}
-int ast_adsi_print(struct ast_channel *chan, char **lines, int *aligns, int voice)
+int _ast_adsi_print(struct ast_channel *chan, char **lines, int *aligns, int voice)
{
unsigned char buf[4096];
int bytes=0;
@@ -989,7 +989,7 @@
return res;
}
-int ast_adsi_load_session(struct ast_channel *chan, unsigned char *app, int ver, int data)
+int _ast_adsi_load_session(struct ast_channel *chan, unsigned char *app, int ver, int data)
{
unsigned char dsp[256];
int bytes;
@@ -1033,7 +1033,7 @@
}
-int ast_adsi_unload_session(struct ast_channel *chan)
+int _ast_adsi_unload_session(struct ast_channel *chan)
{
unsigned char dsp[256];
int bytes;
@@ -1135,6 +1135,36 @@
static int load_module(void)
{
adsi_load();
+
+ ast_adsi_begin_download = _ast_adsi_begin_download;
+ ast_adsi_end_download = _ast_adsi_end_download;
+ ast_adsi_channel_restore = _ast_adsi_channel_restore;
+ ast_adsi_print = _ast_adsi_print;
+ ast_adsi_load_session = _ast_adsi_load_session;
+ ast_adsi_unload_session = _ast_adsi_unload_session;
+ ast_adsi_transmit_message = _ast_adsi_transmit_message;
+ ast_adsi_transmit_message_full = _ast_adsi_transmit_message_full;
+ ast_adsi_read_encoded_dtmf = _ast_adsi_read_encoded_dtmf;
+ ast_adsi_connect_session = _ast_adsi_connect_session;
+ ast_adsi_query_cpeid = _ast_adsi_query_cpeid;
+ ast_adsi_query_cpeinfo = _ast_adsi_query_cpeinfo;
+ ast_adsi_get_cpeid = _ast_adsi_get_cpeid;
+ ast_adsi_get_cpeinfo = _ast_adsi_get_cpeinfo;
+ ast_adsi_download_connect = _ast_adsi_download_connect;
+ ast_adsi_disconnect_session = _ast_adsi_disconnect_session;
+ ast_adsi_download_disconnect = _ast_adsi_download_disconnect;
+ ast_adsi_data_mode = _ast_adsi_data_mode;
+ ast_adsi_clear_soft_keys = _ast_adsi_clear_soft_keys;
+ ast_adsi_clear_screen = _ast_adsi_clear_screen;
+ ast_adsi_voice_mode = _ast_adsi_voice_mode;
+ ast_adsi_available = _ast_adsi_available;
+ ast_adsi_display = _ast_adsi_display;
+ ast_adsi_set_line = _ast_adsi_set_line;
+ ast_adsi_load_soft_key = _ast_adsi_load_soft_key;
+ ast_adsi_set_keys = _ast_adsi_set_keys;
+ ast_adsi_input_control = _ast_adsi_input_control;
+ ast_adsi_input_format = _ast_adsi_input_format;
+
return 0;
}
More information about the asterisk-commits
mailing list