105 lines
2.5 KiB
C
105 lines
2.5 KiB
C
/*
|
|
*
|
|
Copyright (c) Dialogic (R) 2009 - 2010
|
|
*
|
|
This source file is supplied for the use with
|
|
Eicon Networks range of DIVA Server Adapters.
|
|
*
|
|
Dialogic (R) File Revision : 1.9
|
|
*
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
*
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the GNU General Public License for more details.
|
|
*
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
*/
|
|
#include "platform.h"
|
|
#include <malloc.h>
|
|
#include "chan_capi_platform.h"
|
|
#include "chan_capi20.h"
|
|
#include "chan_capi.h"
|
|
#include "chan_capi_utils.h"
|
|
|
|
void* diva_os_malloc (unsigned long flags, unsigned long size) {
|
|
void* ret = 0;
|
|
|
|
if (size != 0) {
|
|
ret = ast_malloc (size);
|
|
}
|
|
|
|
return (ret);
|
|
}
|
|
|
|
void diva_os_free (unsigned long flags, void* ptr) {
|
|
if (ptr != 0) {
|
|
ast_free (ptr);
|
|
}
|
|
}
|
|
|
|
void diva_runtime_error_message (const char* fmt, ...) {
|
|
char tmp[512];
|
|
va_list ap;
|
|
|
|
va_start(ap, fmt);
|
|
vsnprintf(tmp, sizeof(tmp), fmt, ap);
|
|
va_end(ap);
|
|
tmp[sizeof(tmp)-1]=0;
|
|
|
|
cc_log(LOG_ERROR, "%s\n", tmp);
|
|
}
|
|
|
|
void diva_runtime_log_message (const char* fmt, ...) {
|
|
char tmp[512];
|
|
va_list ap;
|
|
|
|
va_start(ap, fmt);
|
|
vsnprintf(tmp, sizeof(tmp), fmt, ap);
|
|
va_end(ap);
|
|
tmp[sizeof(tmp)-1]=0;
|
|
|
|
cc_verbose(4, 0, "%s\n", tmp);
|
|
}
|
|
|
|
void diva_runtime_trace_message (const char* fmt, ...) {
|
|
char tmp[512];
|
|
va_list ap;
|
|
|
|
va_start(ap, fmt);
|
|
vsnprintf(tmp, sizeof(tmp), fmt, ap);
|
|
va_end(ap);
|
|
tmp[sizeof(tmp)-1]=0;
|
|
|
|
cc_verbose(4, 1, "%s\n", tmp);
|
|
}
|
|
|
|
void diva_runtime_binary_message (const void* data, unsigned long data_length) {
|
|
static const char hex_digit_table[0x10] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
|
word i, j;
|
|
char *p;
|
|
char hex_line[50];
|
|
const byte *buffer = data;
|
|
word length = (word)data_length;
|
|
|
|
for (i = 0; i < length; i += 16) {
|
|
p = hex_line;
|
|
for (j = 0; (j < 16) && (i+j < length); j++) {
|
|
*(p++) = ' ';
|
|
*(p++) = hex_digit_table[buffer[i+j] >> 4];
|
|
*(p++) = hex_digit_table[buffer[i+j] & 0xf];
|
|
}
|
|
*p = '\0';
|
|
|
|
cc_verbose(4, 1, "[%02x]%s\n", (unsigned int) i, hex_line);
|
|
}
|
|
}
|
|
|