nat: Add a method to add a proper message to the queue.

This will be used by the USSD module to forward the data
without creating another copy of the data.
This commit is contained in:
Holger Hans Peter Freyther 2010-10-16 17:33:46 +02:00
parent 3d38742d1c
commit 7e8da1379e
2 changed files with 5 additions and 0 deletions

View File

@ -300,6 +300,7 @@ uint32_t bsc_mgcp_extract_ci(const char *resp);
int bsc_write(struct bsc_connection *bsc, struct msgb *msg, int id);
int bsc_do_write(struct write_queue *queue, struct msgb *msg, int id);
int bsc_write_msg(struct write_queue *queue, struct msgb *msg);
int bsc_write_cb(struct bsc_fd *bfd, struct msgb *msg);
/* IMSI allow/deny handling */

View File

@ -273,7 +273,11 @@ int bsc_do_write(struct write_queue *queue, struct msgb *msg, int proto)
{
/* prepend the header */
ipaccess_prepend_header(msg, proto);
return bsc_write_msg(queue, msg);
}
int bsc_write_msg(struct write_queue *queue, struct msgb *msg)
{
if (write_queue_enqueue(queue, msg) != 0) {
LOGP(DINP, LOGL_ERROR, "Failed to enqueue the write.\n");
msgb_free(msg);