mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 15:49:56 +00:00
put generator functions next to each other.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -253,16 +253,6 @@ typedef struct sms_s {
|
|||||||
#define is8bit(dcs) (((dcs)&0xC0)?(((dcs)&4)):(((dcs)&12)==4))
|
#define is8bit(dcs) (((dcs)&0xC0)?(((dcs)&4)):(((dcs)&12)==4))
|
||||||
#define is16bit(dcs) (((dcs)&0xC0)?0:(((dcs)&12)==8))
|
#define is16bit(dcs) (((dcs)&0xC0)?0:(((dcs)&12)==8))
|
||||||
|
|
||||||
static void *sms_alloc (struct ast_channel *chan, void *params)
|
|
||||||
{
|
|
||||||
return params;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void sms_release (struct ast_channel *chan, void *data)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void sms_messagetx (sms_t * h);
|
static void sms_messagetx (sms_t * h);
|
||||||
|
|
||||||
/*! \brief copy number, skipping non digits apart from leading + */
|
/*! \brief copy number, skipping non digits apart from leading + */
|
||||||
@@ -1469,6 +1459,10 @@ static void sms_messagetx(sms_t * h)
|
|||||||
h->obyten = len + 1; /* bytes to send (including checksum) */
|
h->obyten = len + 1; /* bytes to send (including checksum) */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* outgoing data are produced by this generator function, that reads from
|
||||||
|
* the descriptor whether it has data to send and which ones.
|
||||||
|
*/
|
||||||
static int sms_generate (struct ast_channel *chan, void *data, int len, int samples)
|
static int sms_generate (struct ast_channel *chan, void *data, int len, int samples)
|
||||||
{
|
{
|
||||||
struct ast_frame f = { 0 };
|
struct ast_frame f = { 0 };
|
||||||
@@ -1543,6 +1537,25 @@ static int sms_generate (struct ast_channel *chan, void *data, int len, int samp
|
|||||||
#undef MAXSAMPLES
|
#undef MAXSAMPLES
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Just return the pointer to the descriptor that we received.
|
||||||
|
*/
|
||||||
|
static void *sms_alloc (struct ast_channel *chan, void *sms_t_ptr)
|
||||||
|
{
|
||||||
|
return sms_t_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sms_release (struct ast_channel *chan, void *data)
|
||||||
|
{
|
||||||
|
return; /* nothing to do here. */
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct ast_generator smsgen = {
|
||||||
|
.alloc = sms_alloc,
|
||||||
|
.release = sms_release,
|
||||||
|
.generate = sms_generate,
|
||||||
|
};
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Process an incoming frame, trying to detect the carrier and
|
* Process an incoming frame, trying to detect the carrier and
|
||||||
* decode the message. The two frequencies are 1300 and 2100 Hz.
|
* decode the message. The two frequencies are 1300 and 2100 Hz.
|
||||||
@@ -1679,12 +1692,6 @@ static void sms_process(sms_t * h, int samples, signed short *data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ast_generator smsgen = {
|
|
||||||
alloc:sms_alloc,
|
|
||||||
release:sms_release,
|
|
||||||
generate:sms_generate,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int sms_exec (struct ast_channel *chan, void *data)
|
static int sms_exec (struct ast_channel *chan, void *data)
|
||||||
{
|
{
|
||||||
int res = -1;
|
int res = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user