Added VC++6 projects and lots of porting changes
git-svn-id: http://yate.null.ro/svn/yate/trunk@272 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
e52b2a0b15
commit
60ec9fec0b
|
@ -76,7 +76,11 @@ extern char iax_errstr[];
|
|||
#define IAX_SCHEDULE_FUZZ 0 /* ms of fuzz to drop */
|
||||
|
||||
#ifdef WIN32
|
||||
#if defined(_MSC_VER)
|
||||
typedef int (__stdcall *sendto_t)(SOCKET, const char *, int, int, const struct sockaddr *, int);
|
||||
#else
|
||||
typedef int PASCAL (*sendto_t)(SOCKET, const char *, int, int, const struct sockaddr *, int);
|
||||
#endif
|
||||
#else
|
||||
typedef int (*sendto_t)(int, const void *, size_t, int, const struct sockaddr *, socklen_t);
|
||||
#endif
|
||||
|
|
|
@ -271,7 +271,7 @@ void SIPEngine::processEvent(SIPEvent *event)
|
|||
delete event;
|
||||
}
|
||||
|
||||
unsigned long long SIPEngine::getTimer(char which, bool reliable) const
|
||||
u_int64_t SIPEngine::getTimer(char which, bool reliable) const
|
||||
{
|
||||
switch (which) {
|
||||
case '1':
|
||||
|
|
|
@ -150,7 +150,7 @@ void SIPTransaction::setPendingEvent(SIPEvent* event, bool replace)
|
|||
m_pending = event;
|
||||
}
|
||||
|
||||
void SIPTransaction::setTimeout(unsigned long long delay, unsigned int count)
|
||||
void SIPTransaction::setTimeout(u_int64_t delay, unsigned int count)
|
||||
{
|
||||
m_timeouts = count;
|
||||
m_delay = delay;
|
||||
|
|
|
@ -680,22 +680,22 @@ protected:
|
|||
* @return True is there is a pending event
|
||||
*/
|
||||
inline bool isPendingEvent() const
|
||||
{ return m_pending; }
|
||||
{ return (m_pending != 0); }
|
||||
|
||||
/**
|
||||
* Set a repetitive timeout
|
||||
* @param delay How often (in microseconds) to fire the timeout
|
||||
* @param count How many times to keep firing the timeout
|
||||
*/
|
||||
void setTimeout(unsigned long long delay = 0, unsigned int count = 1);
|
||||
void setTimeout(u_int64_t delay = 0, unsigned int count = 1);
|
||||
|
||||
bool m_outgoing;
|
||||
bool m_invite;
|
||||
bool m_transmit;
|
||||
int m_state;
|
||||
unsigned int m_timeouts;
|
||||
unsigned long long m_delay;
|
||||
unsigned long long m_timeout;
|
||||
u_int64_t m_delay;
|
||||
u_int64_t m_timeout;
|
||||
SIPMessage* m_firstMessage;
|
||||
SIPMessage* m_lastMessage;
|
||||
SIPEvent* m_pending;
|
||||
|
@ -839,7 +839,7 @@ public:
|
|||
* @param reliable Whether we request the timer value for a reliable protocol
|
||||
* @return Duration of the selected timer or 0 if invalid
|
||||
*/
|
||||
unsigned long long getTimer(char which, bool reliable = false) const;
|
||||
u_int64_t getTimer(char which, bool reliable = false) const;
|
||||
|
||||
/**
|
||||
* Get the default value of the Max-Forwards header for this engine
|
||||
|
@ -888,8 +888,8 @@ public:
|
|||
|
||||
protected:
|
||||
Mutex m_mutex;
|
||||
unsigned long long m_t1;
|
||||
unsigned long long m_t4;
|
||||
u_int64_t m_t1;
|
||||
u_int64_t m_t4;
|
||||
unsigned int m_maxForwards;
|
||||
int m_cseq;
|
||||
String m_userAgent;
|
||||
|
|
|
@ -21,21 +21,42 @@
|
|||
*/
|
||||
|
||||
#include "yatengine.h"
|
||||
#include "yatepaths.h"
|
||||
#include "yateversn.h"
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#include <windows.h>
|
||||
#include <io.h>
|
||||
#include <process.h>
|
||||
#define O_RDONLY _O_RDONLY
|
||||
#define O_WRONLY _O_WRONLY
|
||||
#define O_APPEND _O_APPEND
|
||||
#define O_CREAT _O_CREAT
|
||||
#define open _open
|
||||
#define dup2 _dup2
|
||||
#define read _read
|
||||
#define write _write
|
||||
#define close _close
|
||||
#define getpid _getpid
|
||||
#define RTLD_NOW 0
|
||||
#define dlopen(name,flags) LoadLibrary(name)
|
||||
#define dlclose !FreeLibrary
|
||||
#define dlerror() "LoadLibrary error"
|
||||
#else
|
||||
#include "yatepaths.h"
|
||||
#include <dirent.h>
|
||||
#include <dlfcn.h>
|
||||
#include <sys/wait.h>
|
||||
typedef void* HMODULE;
|
||||
#endif
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <dlfcn.h>
|
||||
#include <time.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/wait.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <assert.h>
|
||||
|
@ -69,8 +90,8 @@ using namespace TelEngine;
|
|||
|
||||
#define MAX_SANITY 5
|
||||
|
||||
static unsigned long long s_nextinit = 0;
|
||||
static unsigned long long s_restarts = 0;
|
||||
static u_int64_t s_nextinit = 0;
|
||||
static u_int64_t s_restarts = 0;
|
||||
static bool s_makeworker = true;
|
||||
static bool s_keepclosing = false;
|
||||
static int s_super_handle = -1;
|
||||
|
@ -78,12 +99,14 @@ static int s_super_handle = -1;
|
|||
static void sighandler(int signal)
|
||||
{
|
||||
switch (signal) {
|
||||
#ifndef _WINDOWS
|
||||
case SIGHUP:
|
||||
case SIGQUIT:
|
||||
if (s_nextinit <= Time::now())
|
||||
Engine::init();
|
||||
s_nextinit = Time::now() + 2000000;
|
||||
break;
|
||||
#endif
|
||||
case SIGINT:
|
||||
case SIGTERM:
|
||||
Engine::halt(0);
|
||||
|
@ -113,12 +136,12 @@ public:
|
|||
virtual ~SLib();
|
||||
static SLib* load(const char* file);
|
||||
private:
|
||||
SLib(void* handle, const char* file);
|
||||
SLib(HMODULE handle, const char* file);
|
||||
const char* m_file;
|
||||
void* m_handle;
|
||||
HMODULE m_handle;
|
||||
};
|
||||
|
||||
SLib::SLib(void* handle, const char* file)
|
||||
SLib::SLib(HMODULE handle, const char* file)
|
||||
: m_handle(handle)
|
||||
{
|
||||
DDebug(DebugAll,"SLib::SLib(%p,'%s') [%p]",handle,file,this);
|
||||
|
@ -144,11 +167,15 @@ SLib::~SLib()
|
|||
|
||||
SLib* SLib::load(const char* file)
|
||||
{
|
||||
DDebug("SLib::load('%s')",file);
|
||||
void *handle = ::dlopen(file,RTLD_NOW);
|
||||
DDebug(DebugAll,"SLib::load('%s')",file);
|
||||
HMODULE handle = ::dlopen(file,RTLD_NOW);
|
||||
if (handle)
|
||||
return new SLib(handle,file);
|
||||
#ifdef _WINDOWS
|
||||
Debug(DebugWarn,"LoadLibrary error %u in '%s'",::GetLastError(),file);
|
||||
#else
|
||||
Debug(DebugWarn,dlerror());
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -196,7 +223,7 @@ void EnginePrivate::run()
|
|||
|
||||
Engine::Engine()
|
||||
{
|
||||
DDebug("Engine::Engine()"," [%p]",this);
|
||||
DDebug(DebugAll,"Engine::Engine()"," [%p]",this);
|
||||
}
|
||||
|
||||
Engine::~Engine()
|
||||
|
@ -232,9 +259,11 @@ int Engine::run()
|
|||
Debug(DebugInfo,"Engine dispatching start message");
|
||||
dispatch("engine.start");
|
||||
unsigned long corr = 0;
|
||||
#ifndef _WINDOWS
|
||||
::signal(SIGHUP,sighandler);
|
||||
::signal(SIGQUIT,sighandler);
|
||||
::signal(SIGPIPE,SIG_IGN);
|
||||
#endif
|
||||
Output("Yate engine is initialized and starting up");
|
||||
while (s_haltcode == -1) {
|
||||
if (s_cmds) {
|
||||
|
@ -280,12 +309,12 @@ int Engine::run()
|
|||
}
|
||||
|
||||
// Attempt to sleep until the next full second
|
||||
unsigned long t = (Time::now() + corr) % 1000000;
|
||||
::usleep(1000000 - t);
|
||||
unsigned long t = (unsigned long)((Time::now() + corr) % 1000000);
|
||||
Thread::usleep(1000000 - t);
|
||||
Message *m = new Message("engine.timer");
|
||||
m->addParam("time",String((int)m->msgTime().sec()));
|
||||
// Try to fine tune the ticker
|
||||
t = m->msgTime().usec() % 1000000;
|
||||
t = (unsigned long)(m->msgTime().usec() % 1000000);
|
||||
if (t > 500000)
|
||||
corr -= (1000000-t)/10;
|
||||
else
|
||||
|
@ -301,8 +330,10 @@ int Engine::run()
|
|||
m_dispatcher.dequeue();
|
||||
::signal(SIGINT,SIG_DFL);
|
||||
::signal(SIGTERM,SIG_DFL);
|
||||
#ifndef _WINDOWS
|
||||
::signal(SIGHUP,SIG_DFL);
|
||||
::signal(SIGQUIT,SIG_DFL);
|
||||
#endif
|
||||
delete this;
|
||||
Debug(DebugInfo,"Exiting with %d locked mutexes",Mutex::locks());
|
||||
return s_haltcode;
|
||||
|
@ -315,6 +346,11 @@ Engine* Engine::self()
|
|||
return s_self;
|
||||
}
|
||||
|
||||
String Engine::configFile(const char* name)
|
||||
{
|
||||
return s_cfgpath+"/"+name+s_cfgsuffix;
|
||||
}
|
||||
|
||||
bool Engine::Register(const Plugin* plugin, bool reg)
|
||||
{
|
||||
DDebug(DebugInfo,"Engine::Register(%p,%d)",plugin,reg);
|
||||
|
@ -363,14 +399,31 @@ void Engine::loadPlugins()
|
|||
loadPlugin(n->name());
|
||||
}
|
||||
}
|
||||
#ifdef _WINDOWS
|
||||
WIN32_FIND_DATA entry;
|
||||
HANDLE hf = ::FindFirstFile(s_modpath+"\\*",&entry);
|
||||
if (hf == INVALID_HANDLE_VALUE) {
|
||||
Debug(DebugFail,"Engine::loadPlugins() failed directory '%s'",s_modpath.safe());
|
||||
return;
|
||||
}
|
||||
do {
|
||||
XDebug(DebugInfo,"Found dir entry %s",entry.cFileName);
|
||||
int n = ::strlen(entry.cFileName) - s_modsuffix.length();
|
||||
if ((n > 0) && !::strcmp(entry.cFileName+n,s_modsuffix)) {
|
||||
if (cfg.getBoolValue("modules",entry.cFileName,defload))
|
||||
loadPlugin(s_modpath+"\\"+entry.cFileName);
|
||||
}
|
||||
} while (::FindNextFile(hf,&entry));
|
||||
::FindClose(hf);
|
||||
#else
|
||||
DIR *dir = ::opendir(s_modpath);
|
||||
if (!dir) {
|
||||
Debug(DebugFail,"Engine::loadPlugins() failed opendir()");
|
||||
Debug(DebugFail,"Engine::loadPlugins() failed directory '%s'",s_modpath.safe());
|
||||
return;
|
||||
}
|
||||
struct dirent *entry;
|
||||
while ((entry = ::readdir(dir)) != 0) {
|
||||
DDebug(DebugInfo,"Found dir entry %s",entry->d_name);
|
||||
XDebug(DebugInfo,"Found dir entry %s",entry->d_name);
|
||||
int n = ::strlen(entry->d_name) - s_modsuffix.length();
|
||||
if ((n > 0) && !::strcmp(entry->d_name+n,s_modsuffix)) {
|
||||
if (cfg.getBoolValue("modules",entry->d_name,defload))
|
||||
|
@ -378,6 +431,7 @@ void Engine::loadPlugins()
|
|||
}
|
||||
}
|
||||
::closedir(dir);
|
||||
#endif
|
||||
l = cfg.getSection("postload");
|
||||
if (l) {
|
||||
unsigned int len = l->length();
|
||||
|
@ -461,10 +515,12 @@ bool Engine::dispatch(const char* name)
|
|||
}
|
||||
|
||||
|
||||
static pid_t s_childpid = -1;
|
||||
static bool s_runagain = true;
|
||||
static bool s_sigabrt = false;
|
||||
|
||||
#ifndef _WINDOWS
|
||||
static bool s_runagain = true;
|
||||
static pid_t s_childpid = -1;
|
||||
|
||||
static void superhandler(int signal)
|
||||
{
|
||||
switch (signal) {
|
||||
|
@ -566,6 +622,7 @@ static int supervise(void)
|
|||
::fprintf(stderr,"Supervisor (%d) exiting with code %d\n",::getpid(),retcode);
|
||||
return retcode;
|
||||
}
|
||||
#endif /* _WINDOWS */
|
||||
|
||||
static void usage(FILE* f)
|
||||
{
|
||||
|
@ -574,10 +631,12 @@ static void usage(FILE* f)
|
|||
" -h Help message (this one)\n"
|
||||
" -v Verbose debugging (you can use more than once)\n"
|
||||
" -q Quieter debugging (you can use more than once)\n"
|
||||
#ifndef _WINDOWS
|
||||
" -d Daemonify, suppress output unless logged\n"
|
||||
" -s Supervised, restart if crashes or locks up\n"
|
||||
" -l filename Log to file\n"
|
||||
#endif
|
||||
" -p filename Write PID to file\n"
|
||||
" -l filename Log to file\n"
|
||||
" -n configname Use specified configuration name (%s)\n"
|
||||
" -c pathname Path to conf files directory (" CFG_PATH ")\n"
|
||||
" -m pathname Path to modules directory (" MOD_PATH ")\n"
|
||||
|
@ -609,11 +668,13 @@ static void noarg(const char* opt)
|
|||
|
||||
int Engine::main(int argc, const char** argv, const char** environ)
|
||||
{
|
||||
#ifndef _WINDOWS
|
||||
bool daemonic = false;
|
||||
bool supervised = false;
|
||||
int debug_level = debugLevel();
|
||||
const char *logfile = 0;
|
||||
#endif
|
||||
const char *pidfile = 0;
|
||||
const char *logfile = 0;
|
||||
int debug_level = debugLevel();
|
||||
|
||||
s_cfgfile = ::strrchr(argv[0],'/');
|
||||
if (s_cfgfile)
|
||||
|
@ -650,12 +711,22 @@ int Engine::main(int argc, const char** argv, const char** environ)
|
|||
case 'q':
|
||||
debug_level--;
|
||||
break;
|
||||
#ifndef _WINDOWS
|
||||
case 'd':
|
||||
daemonic = true;
|
||||
break;
|
||||
case 's':
|
||||
supervised = true;
|
||||
break;
|
||||
#endif
|
||||
case 'p':
|
||||
if (i+1 >= argc) {
|
||||
noarg(argv[i]);
|
||||
return ENOENT;
|
||||
}
|
||||
pc = 0;
|
||||
pidfile=argv[++i];
|
||||
break;
|
||||
case 'l':
|
||||
if (i+1 >= argc) {
|
||||
noarg(argv[i]);
|
||||
|
@ -664,14 +735,6 @@ int Engine::main(int argc, const char** argv, const char** environ)
|
|||
pc = 0;
|
||||
logfile=argv[++i];
|
||||
break;
|
||||
case 'p':
|
||||
if (i+1 >= argc) {
|
||||
noarg(argv[i]);
|
||||
return ENOENT;
|
||||
}
|
||||
pc = 0;
|
||||
pidfile=argv[++i];
|
||||
break;
|
||||
case 'n':
|
||||
if (i+1 >= argc) {
|
||||
noarg(argv[i]);
|
||||
|
@ -736,6 +799,7 @@ int Engine::main(int argc, const char** argv, const char** environ)
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef _WINDOWS
|
||||
if (daemonic) {
|
||||
Debugger::enableOutput(false);
|
||||
// Make sure X client modules fail initialization in daemon mode
|
||||
|
@ -746,6 +810,7 @@ int Engine::main(int argc, const char** argv, const char** environ)
|
|||
return err;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (pidfile) {
|
||||
int fd = ::open(pidfile,O_WRONLY|O_CREAT,0644);
|
||||
|
@ -773,9 +838,13 @@ int Engine::main(int argc, const char** argv, const char** environ)
|
|||
debugLevel(debug_level);
|
||||
abortOnBug(s_sigabrt);
|
||||
|
||||
int retcode = supervised ? supervise() : -1;
|
||||
int retcode = -1;
|
||||
#ifndef _WINDOWS
|
||||
if (supervised)
|
||||
retcode = supervise()
|
||||
if (retcode >= 0)
|
||||
return retcode;
|
||||
#endif
|
||||
|
||||
time_t t = ::time(0);
|
||||
Output("Yate (%u) is starting %s",::getpid(),::ctime(&t));
|
||||
|
|
|
@ -28,7 +28,7 @@ using namespace TelEngine;
|
|||
Message::Message(const char* name, const char* retval)
|
||||
: NamedList(name), m_return(retval), m_data(0)
|
||||
{
|
||||
DDebug(DebugAll,"Message::Message(\"%s\",\"%s\") [%p]",name,retval,this);
|
||||
XDebug(DebugAll,"Message::Message(\"%s\",\"%s\") [%p]",name,retval,this);
|
||||
}
|
||||
|
||||
Message::~Message()
|
||||
|
@ -87,7 +87,11 @@ int Message::decode(const char* str, String& id)
|
|||
t >> tm;
|
||||
if (!t.null())
|
||||
return sep-str;
|
||||
#ifdef _WINDOWS
|
||||
m_time=((u_int32_t)1000000)*tm;
|
||||
#else
|
||||
m_time=1000000ULL*tm;
|
||||
#endif
|
||||
return commonDecode(str,sep2-str+1);
|
||||
}
|
||||
|
||||
|
@ -242,7 +246,7 @@ bool MessageDispatcher::uninstall(MessageHandler* handler)
|
|||
|
||||
bool MessageDispatcher::dispatch(Message& msg)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef XDEBUG
|
||||
Debugger debug("MessageDispatcher::dispatch","(%p) (\"%s\")",&msg,msg.c_str());
|
||||
#endif
|
||||
bool retv = false;
|
||||
|
|
|
@ -23,6 +23,14 @@
|
|||
#include "yatengine.h"
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#include <windows.h>
|
||||
|
||||
typedef HANDLE HMUTEX;
|
||||
|
||||
#else
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#ifdef MUTEX_HACK
|
||||
|
@ -31,6 +39,10 @@ extern int pthread_mutexattr_settype(pthread_mutexattr_t *__attr, int __kind) _
|
|||
}
|
||||
#endif
|
||||
|
||||
typedef pthread_mutex_t HMUTEX;
|
||||
|
||||
#endif /* ! _WINDOWS */
|
||||
|
||||
namespace TelEngine {
|
||||
|
||||
class MutexPrivate {
|
||||
|
@ -45,12 +57,12 @@ public:
|
|||
{ return m_recursive; }
|
||||
bool locked() const
|
||||
{ return (m_locked > 0); }
|
||||
bool lock(long long int maxwait);
|
||||
bool lock(int64_t maxwait);
|
||||
void unlock();
|
||||
static volatile int s_count;
|
||||
static volatile int s_locks;
|
||||
private:
|
||||
pthread_mutex_t m_mutex;
|
||||
HMUTEX m_mutex;
|
||||
int m_refcount;
|
||||
volatile unsigned int m_locked;
|
||||
bool m_recursive;
|
||||
|
@ -64,7 +76,7 @@ public:
|
|||
static void unlock();
|
||||
private:
|
||||
static bool s_init;
|
||||
static pthread_mutex_t s_mutex;
|
||||
static HMUTEX s_mutex;
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -76,7 +88,7 @@ GlobalMutex s_global;
|
|||
volatile int MutexPrivate::s_count = 0;
|
||||
volatile int MutexPrivate::s_locks = 0;
|
||||
bool GlobalMutex::s_init = true;
|
||||
pthread_mutex_t GlobalMutex::s_mutex;
|
||||
HMUTEX GlobalMutex::s_mutex;
|
||||
|
||||
// WARNING!!!
|
||||
// No debug messages are allowed in mutexes since the debug output itself
|
||||
|
@ -86,11 +98,15 @@ void GlobalMutex::init()
|
|||
{
|
||||
if (s_init) {
|
||||
s_init = false;
|
||||
#ifdef _WINDOWS
|
||||
s_mutex = ::CreateMutex(NULL,FALSE,NULL);
|
||||
#else
|
||||
pthread_mutexattr_t attr;
|
||||
::pthread_mutexattr_init(&attr);
|
||||
::pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE_NP);
|
||||
::pthread_mutex_init(&s_mutex,&attr);
|
||||
::pthread_mutexattr_destroy(&attr);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -102,13 +118,21 @@ GlobalMutex::GlobalMutex()
|
|||
void GlobalMutex::lock()
|
||||
{
|
||||
init();
|
||||
#ifdef _WINDOWS
|
||||
::WaitForSingleObject(s_mutex,INFINITE);
|
||||
#else
|
||||
::pthread_mutex_lock(&s_mutex);
|
||||
#endif
|
||||
}
|
||||
|
||||
void GlobalMutex::unlock()
|
||||
{
|
||||
init();
|
||||
#ifdef _WINDOWS
|
||||
::ReleaseMutex(s_mutex);
|
||||
#else
|
||||
::pthread_mutex_unlock(&s_mutex);
|
||||
#endif
|
||||
}
|
||||
|
||||
MutexPrivate::MutexPrivate(bool recursive)
|
||||
|
@ -116,6 +140,10 @@ MutexPrivate::MutexPrivate(bool recursive)
|
|||
{
|
||||
GlobalMutex::lock();
|
||||
s_count++;
|
||||
#ifdef _WINDOWS
|
||||
// All mutexes are recursive in Windows
|
||||
m_mutex = ::CreateMutex(NULL,FALSE,NULL);
|
||||
#else
|
||||
if (recursive) {
|
||||
pthread_mutexattr_t attr;
|
||||
::pthread_mutexattr_init(&attr);
|
||||
|
@ -125,6 +153,7 @@ MutexPrivate::MutexPrivate(bool recursive)
|
|||
}
|
||||
else
|
||||
::pthread_mutex_init(&m_mutex,0);
|
||||
#endif
|
||||
GlobalMutex::unlock();
|
||||
}
|
||||
|
||||
|
@ -134,32 +163,51 @@ MutexPrivate::~MutexPrivate()
|
|||
if (m_locked) {
|
||||
m_locked--;
|
||||
s_locks--;
|
||||
#ifdef _WINDOWS
|
||||
::ReleaseMutex(m_mutex);
|
||||
#else
|
||||
::pthread_mutex_unlock(&m_mutex);
|
||||
#endif
|
||||
}
|
||||
s_count--;
|
||||
#ifdef _WINDOWS
|
||||
::CloseHandle(m_mutex);
|
||||
m_mutex = 0;
|
||||
#else
|
||||
::pthread_mutex_destroy(&m_mutex);
|
||||
#endif
|
||||
GlobalMutex::unlock();
|
||||
}
|
||||
|
||||
bool MutexPrivate::lock(long long int maxwait)
|
||||
bool MutexPrivate::lock(int64_t maxwait)
|
||||
{
|
||||
bool rval = false;
|
||||
GlobalMutex::lock();
|
||||
ref();
|
||||
GlobalMutex::unlock();
|
||||
#ifdef _WINDOWS
|
||||
DWORD ms = 0;
|
||||
if (maxwait < 0)
|
||||
ms = INFINITE;
|
||||
else if (maxwait > 0) {
|
||||
ms = (DWORD)(maxwait / 1000);
|
||||
}
|
||||
rval = (::WaitForSingleObject(m_mutex,ms) == WAIT_OBJECT_0);
|
||||
#else
|
||||
if (maxwait < 0)
|
||||
rval = !::pthread_mutex_lock(&m_mutex);
|
||||
else if (!maxwait)
|
||||
rval = !::pthread_mutex_trylock(&m_mutex);
|
||||
else {
|
||||
unsigned long long t = Time::now() + maxwait;
|
||||
u_int64_t t = Time::now() + maxwait;
|
||||
do {
|
||||
rval = !::pthread_mutex_trylock(&m_mutex);
|
||||
if (rval)
|
||||
break;
|
||||
::usleep(1);
|
||||
Thread::yield();
|
||||
} while (t > Time::now());
|
||||
}
|
||||
#endif
|
||||
GlobalMutex::lock();
|
||||
if (rval) {
|
||||
s_locks++;
|
||||
|
@ -179,7 +227,11 @@ void MutexPrivate::unlock()
|
|||
m_locked--;
|
||||
if (--s_locks < 0)
|
||||
Debug(DebugFail,"MutexPrivate::locks() is %d [%p]",s_locks,this);
|
||||
#ifdef _WINDOWS
|
||||
::ReleaseMutex(m_mutex);
|
||||
#else
|
||||
::pthread_mutex_unlock(&m_mutex);
|
||||
#endif
|
||||
deref();
|
||||
}
|
||||
else
|
||||
|
@ -228,7 +280,7 @@ MutexPrivate *Mutex::privDataCopy() const
|
|||
return m_private;
|
||||
}
|
||||
|
||||
bool Mutex::lock(long long int maxwait)
|
||||
bool Mutex::lock(int64_t maxwait)
|
||||
{
|
||||
return m_private ? m_private->lock(maxwait) : false;
|
||||
}
|
||||
|
@ -239,7 +291,7 @@ void Mutex::unlock()
|
|||
m_private->unlock();
|
||||
}
|
||||
|
||||
bool Mutex::check(long long int maxwait)
|
||||
bool Mutex::check(int64_t maxwait)
|
||||
{
|
||||
bool ret = lock(maxwait);
|
||||
if (ret)
|
||||
|
|
|
@ -31,7 +31,7 @@ NamedList::NamedList(const char* name)
|
|||
|
||||
NamedList& NamedList::addParam(NamedString* param)
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::addParam(%p) [\"%s\",\"%s\"]",
|
||||
XDebug(DebugInfo,"NamedList::addParam(%p) [\"%s\",\"%s\"]",
|
||||
param,param->name().c_str(),param->c_str());
|
||||
m_params.append(param);
|
||||
return *this;
|
||||
|
@ -39,14 +39,14 @@ NamedList& NamedList::addParam(NamedString* param)
|
|||
|
||||
NamedList& NamedList::addParam(const char* name, const char* value)
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::addParam(\"%s\",\"%s\")",name,value);
|
||||
XDebug(DebugInfo,"NamedList::addParam(\"%s\",\"%s\")",name,value);
|
||||
m_params.append(new NamedString(name, value));
|
||||
return *this;
|
||||
}
|
||||
|
||||
NamedList& NamedList::setParam(NamedString* param)
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::setParam(%p) [\"%s\",\"%s\"]",
|
||||
XDebug(DebugInfo,"NamedList::setParam(%p) [\"%s\",\"%s\"]",
|
||||
param,param->name().c_str(),param->c_str());
|
||||
NamedString *s = getParam(param->name());
|
||||
if (s) {
|
||||
|
@ -60,7 +60,7 @@ NamedList& NamedList::setParam(NamedString* param)
|
|||
|
||||
NamedList& NamedList::setParam(const char* name, const char* value)
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::setParam(\"%s\",\"%s\")",name,value);
|
||||
XDebug(DebugInfo,"NamedList::setParam(\"%s\",\"%s\")",name,value);
|
||||
NamedString *s = getParam(name);
|
||||
if (s)
|
||||
*s = value;
|
||||
|
@ -71,7 +71,7 @@ NamedList& NamedList::setParam(const char* name, const char* value)
|
|||
|
||||
NamedList& NamedList::clearParam(const String& name)
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::clearParam(\"%s\")",name.c_str());
|
||||
XDebug(DebugInfo,"NamedList::clearParam(\"%s\")",name.c_str());
|
||||
ObjList *p = &m_params;
|
||||
while (p) {
|
||||
NamedString *s = static_cast<NamedString *>(p->get());
|
||||
|
@ -85,7 +85,7 @@ NamedList& NamedList::clearParam(const String& name)
|
|||
|
||||
NamedString* NamedList::getParam(const String& name) const
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::getParam(\"%s\")",name.c_str());
|
||||
XDebug(DebugInfo,"NamedList::getParam(\"%s\")",name.c_str());
|
||||
const ObjList *p = &m_params;
|
||||
for (;p;p=p->next()) {
|
||||
NamedString *s = static_cast<NamedString *>(p->get());
|
||||
|
@ -97,13 +97,13 @@ NamedString* NamedList::getParam(const String& name) const
|
|||
|
||||
NamedString* NamedList::getParam(unsigned int index) const
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::getParam(%u)",index);
|
||||
XDebug(DebugInfo,"NamedList::getParam(%u)",index);
|
||||
return static_cast<NamedString *>(m_params[index]);
|
||||
}
|
||||
|
||||
const char* NamedList::getValue(const String& name, const char* defvalue) const
|
||||
{
|
||||
DDebug(DebugInfo,"NamedList::getValue(\"%s\",\"%s\")",name.c_str(),defvalue);
|
||||
XDebug(DebugInfo,"NamedList::getValue(\"%s\",\"%s\")",name.c_str(),defvalue);
|
||||
const NamedString *s = getParam(name);
|
||||
return s ? s->c_str() : defvalue;
|
||||
}
|
||||
|
|
|
@ -27,19 +27,19 @@ using namespace TelEngine;
|
|||
ObjList::ObjList()
|
||||
: m_next(0), m_obj(0), m_delete(true)
|
||||
{
|
||||
DDebug(DebugAll,"ObjList::ObjList() [%p]",this);
|
||||
XDebug(DebugAll,"ObjList::ObjList() [%p]",this);
|
||||
}
|
||||
|
||||
ObjList::~ObjList()
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef XDEBUG
|
||||
Debugger debug("ObjList::~ObjList()"," [%p]",this);
|
||||
#endif
|
||||
if (m_obj) {
|
||||
GenObject *tmp = m_obj;
|
||||
m_obj = 0;
|
||||
if (m_delete) {
|
||||
DDebug(DebugInfo,"ObjList::~ObjList() deleting %p",tmp);
|
||||
XDebug(DebugInfo,"ObjList::~ObjList() deleting %p",tmp);
|
||||
tmp->destruct();
|
||||
}
|
||||
}
|
||||
|
@ -96,24 +96,24 @@ GenObject* ObjList::operator[](int index) const
|
|||
|
||||
ObjList* ObjList::find(const GenObject* obj) const
|
||||
{
|
||||
DDebug(DebugAll,"ObjList::find(%p) [%p]",obj,this);
|
||||
XDebug(DebugAll,"ObjList::find(%p) [%p]",obj,this);
|
||||
const ObjList *n = this;
|
||||
while (n && (n->get() != obj))
|
||||
n = n->next();
|
||||
DDebug(DebugInfo,"ObjList::find returning %p",n);
|
||||
XDebug(DebugInfo,"ObjList::find returning %p",n);
|
||||
return const_cast<ObjList*>(n);
|
||||
}
|
||||
|
||||
ObjList* ObjList::find(const String& str) const
|
||||
{
|
||||
DDebug(DebugAll,"ObjList::find(\"%s\") [%p]",str.c_str(),this);
|
||||
XDebug(DebugAll,"ObjList::find(\"%s\") [%p]",str.c_str(),this);
|
||||
const ObjList *n = this;
|
||||
while (n) {
|
||||
if (n->get() && str.matches(n->get()->toString()))
|
||||
break;
|
||||
n = n->next();
|
||||
}
|
||||
DDebug(DebugInfo,"ObjList::find returning %p",n);
|
||||
XDebug(DebugInfo,"ObjList::find returning %p",n);
|
||||
return const_cast<ObjList*>(n);
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ GenObject* ObjList::set(const GenObject* obj, bool delold)
|
|||
|
||||
ObjList* ObjList::insert(const GenObject* obj)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef XDEBUG
|
||||
Debugger debug("ObjList::insert","(%p) [%p]",obj,this);
|
||||
#endif
|
||||
if (m_obj) {
|
||||
|
@ -149,7 +149,7 @@ ObjList* ObjList::insert(const GenObject* obj)
|
|||
|
||||
ObjList* ObjList::append(const GenObject* obj)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef XDEBUG
|
||||
Debugger debug("ObjList::append","(%p) [%p]",obj,this);
|
||||
#endif
|
||||
ObjList *n = last();
|
||||
|
@ -193,7 +193,7 @@ GenObject* ObjList::remove(GenObject* obj, bool delobj)
|
|||
|
||||
void ObjList::clear()
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef XDEBUG
|
||||
Debugger debug("ObjList::clear()"," [%p]",this);
|
||||
#endif
|
||||
while (m_obj)
|
||||
|
|
|
@ -101,7 +101,7 @@ static bool isWordBreak(char c, bool nullOk = false)
|
|||
|
||||
StringMatchPrivate::StringMatchPrivate()
|
||||
{
|
||||
DDebug(DebugAll,"StringMatchPrivate::StringMatchPrivate() [%p]",this);
|
||||
XDebug(DebugAll,"StringMatchPrivate::StringMatchPrivate() [%p]",this);
|
||||
clear();
|
||||
}
|
||||
|
||||
|
@ -149,20 +149,20 @@ const String& String::empty()
|
|||
String::String()
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String() [%p]",this);
|
||||
XDebug(DebugAll,"String::String() [%p]",this);
|
||||
}
|
||||
|
||||
String::String(const char* value, int len)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String(\"%s\",%d) [%p]",value,len,this);
|
||||
XDebug(DebugAll,"String::String(\"%s\",%d) [%p]",value,len,this);
|
||||
assign(value,len);
|
||||
}
|
||||
|
||||
String::String(const String& value)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String(%p) [%p]",&value,this);
|
||||
XDebug(DebugAll,"String::String(%p) [%p]",&value,this);
|
||||
if (!value.null()) {
|
||||
m_string = ::strdup(value.c_str());
|
||||
if (!m_string)
|
||||
|
@ -174,7 +174,7 @@ String::String(const String& value)
|
|||
String::String(char value, unsigned int repeat)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String('%c',%d) [%p]",value,repeat,this);
|
||||
XDebug(DebugAll,"String::String('%c',%d) [%p]",value,repeat,this);
|
||||
if (value && repeat) {
|
||||
m_string = (char *) ::malloc(repeat+1);
|
||||
if (m_string) {
|
||||
|
@ -190,7 +190,7 @@ String::String(char value, unsigned int repeat)
|
|||
String::String(int value)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String(%d) [%p]",value,this);
|
||||
XDebug(DebugAll,"String::String(%d) [%p]",value,this);
|
||||
char buf[64];
|
||||
::sprintf(buf,"%d",value);
|
||||
m_string = ::strdup(buf);
|
||||
|
@ -202,7 +202,7 @@ String::String(int value)
|
|||
String::String(unsigned int value)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String(%u) [%p]",value,this);
|
||||
XDebug(DebugAll,"String::String(%u) [%p]",value,this);
|
||||
char buf[64];
|
||||
::sprintf(buf,"%u",value);
|
||||
m_string = ::strdup(buf);
|
||||
|
@ -214,7 +214,7 @@ String::String(unsigned int value)
|
|||
String::String(bool value)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String(%u) [%p]",value,this);
|
||||
XDebug(DebugAll,"String::String(%u) [%p]",value,this);
|
||||
m_string = ::strdup(boolText(value));
|
||||
if (!m_string)
|
||||
Debug("String",DebugFail,"strdup() returned NULL!");
|
||||
|
@ -224,7 +224,7 @@ String::String(bool value)
|
|||
String::String(const String* value)
|
||||
: m_string(0), m_length(0), m_hash(INIT_HASH), m_matches(0)
|
||||
{
|
||||
DDebug(DebugAll,"String::String(%p) [%p]",&value,this);
|
||||
XDebug(DebugAll,"String::String(%p) [%p]",&value,this);
|
||||
if (value && !value->null()) {
|
||||
m_string = ::strdup(value->c_str());
|
||||
if (!m_string)
|
||||
|
@ -235,7 +235,7 @@ String::String(const String* value)
|
|||
|
||||
String::~String()
|
||||
{
|
||||
DDebug(DebugAll,"String::~String() [%p] (\"%s\")",this,m_string);
|
||||
XDebug(DebugAll,"String::~String() [%p] (\"%s\")",this,m_string);
|
||||
if (m_matches) {
|
||||
StringMatchPrivate *odata = m_matches;
|
||||
m_matches = 0;
|
||||
|
@ -354,7 +354,8 @@ bool String::toBoolean(bool defvalue) const
|
|||
String& String::toUpper()
|
||||
{
|
||||
if (m_string) {
|
||||
for (char *s = m_string; char c = *s; s++) {
|
||||
char c;
|
||||
for (char *s = m_string; c = *s; s++) {
|
||||
if (('a' <= c) && (c <= 'z'))
|
||||
*s = c + 'A' - 'a';
|
||||
}
|
||||
|
@ -365,7 +366,8 @@ String& String::toUpper()
|
|||
String& String::toLower()
|
||||
{
|
||||
if (m_string) {
|
||||
for (char *s = m_string; char c = *s; s++) {
|
||||
char c;
|
||||
for (char *s = m_string; c = *s; s++) {
|
||||
if (('A' <= c) && (c <= 'Z'))
|
||||
*s = c + 'a' - 'A';
|
||||
}
|
||||
|
@ -813,13 +815,13 @@ unsigned int String::hash(const char* value)
|
|||
Regexp::Regexp()
|
||||
: m_regexp(0), m_flags(0)
|
||||
{
|
||||
DDebug(DebugAll,"Regexp::Regexp() [%p]",this);
|
||||
XDebug(DebugAll,"Regexp::Regexp() [%p]",this);
|
||||
}
|
||||
|
||||
Regexp::Regexp(const char* value, bool extended, bool insensitive)
|
||||
: String(value), m_regexp(0), m_flags(0)
|
||||
{
|
||||
DDebug(DebugAll,"Regexp::Regexp(\"%s\",%d,%d) [%p]",
|
||||
XDebug(DebugAll,"Regexp::Regexp(\"%s\",%d,%d) [%p]",
|
||||
value,extended,insensitive,this);
|
||||
setFlags(extended,insensitive);
|
||||
}
|
||||
|
@ -827,7 +829,7 @@ Regexp::Regexp(const char* value, bool extended, bool insensitive)
|
|||
Regexp::Regexp(const Regexp& value)
|
||||
: String(value.c_str()), m_regexp(0), m_flags(value.m_flags)
|
||||
{
|
||||
DDebug(DebugAll,"Regexp::Regexp(%p) [%p]",&value,this);
|
||||
XDebug(DebugAll,"Regexp::Regexp(%p) [%p]",&value,this);
|
||||
}
|
||||
|
||||
Regexp::~Regexp()
|
||||
|
@ -911,7 +913,7 @@ bool Regexp::isCaseInsensitive() const
|
|||
NamedString::NamedString(const char* name, const char* value)
|
||||
: String(value), m_name(name)
|
||||
{
|
||||
DDebug(DebugAll,"NamedString::NamedString(\"%s\",\"%s\") [%p]",name,value,this);
|
||||
XDebug(DebugAll,"NamedString::NamedString(\"%s\",\"%s\") [%p]",name,value,this);
|
||||
}
|
||||
|
||||
const String& GenObject::toString() const
|
||||
|
|
|
@ -26,7 +26,11 @@
|
|||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#ifdef _WINDOWS
|
||||
#include <windows.h>
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
namespace TelEngine {
|
||||
|
||||
|
@ -293,15 +297,29 @@ void Debugger::enableOutput(bool enable)
|
|||
s_debugging = enable;
|
||||
}
|
||||
|
||||
unsigned long long Time::now()
|
||||
u_int64_t Time::now()
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
|
||||
FILETIME ft;
|
||||
GetSystemTimeAsFileTime(&ft);
|
||||
// Convert from FILETIME (100 nsec units since January 1, 1601)
|
||||
// to extended time_t (1 usec units since January 1, 1970)
|
||||
u_int64_t rval = ((ULARGE_INTEGER*)&ft)->QuadPart / 10;
|
||||
rval -= 11644473600000000;
|
||||
return rval;
|
||||
|
||||
#else
|
||||
|
||||
struct timeval tv;
|
||||
return ::gettimeofday(&tv,0) ? 0 : fromTimeval(&tv);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
unsigned long long Time::fromTimeval(struct timeval* tv)
|
||||
u_int64_t Time::fromTimeval(struct timeval* tv)
|
||||
{
|
||||
unsigned long long rval = 0;
|
||||
u_int64_t rval = 0;
|
||||
if (tv) {
|
||||
// Please keep it this way or the compiler may b0rk
|
||||
rval = tv->tv_sec;
|
||||
|
@ -311,11 +329,11 @@ unsigned long long Time::fromTimeval(struct timeval* tv)
|
|||
return rval;
|
||||
}
|
||||
|
||||
void Time::toTimeval(struct timeval* tv, unsigned long long usec)
|
||||
void Time::toTimeval(struct timeval* tv, u_int64_t usec)
|
||||
{
|
||||
if (tv) {
|
||||
tv->tv_usec = usec % 1000000;
|
||||
tv->tv_sec = usec / 1000000;
|
||||
tv->tv_usec = (long)(usec % 1000000);
|
||||
tv->tv_sec = (long)(usec / 1000000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,9 +23,17 @@
|
|||
#include "yatengine.h"
|
||||
|
||||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#include <windows.h>
|
||||
#include <process.h>
|
||||
typedef unsigned long HTHREAD;
|
||||
#else
|
||||
#include <pthread.h>
|
||||
typedef pthread_t HTHREAD;
|
||||
#endif
|
||||
|
||||
#ifndef PTHREAD_STACK_MIN
|
||||
#define PTHREAD_STACK_MIN 16384
|
||||
#endif
|
||||
|
@ -46,13 +54,17 @@ public:
|
|||
static void killall();
|
||||
static Thread* current();
|
||||
Thread* m_thread;
|
||||
pthread_t thread;
|
||||
HTHREAD thread;
|
||||
bool m_running;
|
||||
bool m_started;
|
||||
bool m_updest;
|
||||
const char* m_name;
|
||||
private:
|
||||
#ifdef _WINDOWS
|
||||
static void startFunc(void* arg);
|
||||
#else
|
||||
static void* startFunc(void* arg);
|
||||
#endif
|
||||
static void cleanupFunc(void* arg);
|
||||
static void destroyFunc(void* arg);
|
||||
static void keyAllocFunc();
|
||||
|
@ -62,8 +74,13 @@ private:
|
|||
|
||||
using namespace TelEngine;
|
||||
|
||||
#ifdef _WINDOWS
|
||||
DWORD tls_index = ::TlsAlloc();
|
||||
#else
|
||||
static pthread_key_t current_key;
|
||||
static pthread_once_t current_key_once = PTHREAD_ONCE_INIT;
|
||||
#endif
|
||||
|
||||
ObjList threads;
|
||||
Mutex tmutex;
|
||||
|
||||
|
@ -71,18 +88,29 @@ ThreadPrivate* ThreadPrivate::create(Thread* t,const char* name)
|
|||
{
|
||||
ThreadPrivate *p = new ThreadPrivate(t,name);
|
||||
int e = 0;
|
||||
#ifndef _WINDOWS
|
||||
// Set a decent (256K) stack size that won't eat all virtual memory
|
||||
pthread_attr_t attr;
|
||||
::pthread_attr_init(&attr);
|
||||
::pthread_attr_setstacksize(&attr, 16*PTHREAD_STACK_MIN);
|
||||
#endif
|
||||
|
||||
for (int i=0; i<5; i++) {
|
||||
#ifdef _WINDOWS
|
||||
HTHREAD t = ::_beginthread(startFunc,16*PTHREAD_STACK_MIN,p);
|
||||
e = (t == (HTHREAD)-1) ? errno : 0;
|
||||
if (!e)
|
||||
p->thread = t;
|
||||
#else
|
||||
e = ::pthread_create(&p->thread,&attr,startFunc,p);
|
||||
#endif
|
||||
if (e != EAGAIN)
|
||||
break;
|
||||
::usleep(20);
|
||||
Thread::usleep(20);
|
||||
}
|
||||
#ifndef _WINDOWS
|
||||
::pthread_attr_destroy(&attr);
|
||||
#endif
|
||||
if (e) {
|
||||
Debug(DebugFail,"Error %d while creating pthread in '%s' [%p]",e,name,p);
|
||||
p->m_thread = 0;
|
||||
|
@ -141,16 +169,23 @@ void ThreadPrivate::pubdestroy()
|
|||
void ThreadPrivate::run()
|
||||
{
|
||||
DDebug(DebugAll,"ThreadPrivate::run() '%s' [%p]",m_name,this);
|
||||
#ifdef _WINDOWS
|
||||
::TlsSetValue(tls_index,this);
|
||||
#else
|
||||
::pthread_once(¤t_key_once,keyAllocFunc);
|
||||
::pthread_setspecific(current_key,this);
|
||||
pthread_cleanup_push(cleanupFunc,this);
|
||||
::pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS,0);
|
||||
::pthread_detach(::pthread_self());
|
||||
|
||||
#endif
|
||||
|
||||
while (!m_started)
|
||||
::usleep(10);
|
||||
Thread::usleep(10);
|
||||
m_thread->run();
|
||||
|
||||
#ifndef _WINDOWS
|
||||
pthread_cleanup_pop(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool ThreadPrivate::cancel()
|
||||
|
@ -158,10 +193,14 @@ bool ThreadPrivate::cancel()
|
|||
DDebug(DebugAll,"ThreadPrivate::cancel() '%s' [%p]",m_name,this);
|
||||
bool ret = true;
|
||||
if (m_running) {
|
||||
#ifdef _WINDOWS
|
||||
ret = ::TerminateThread(reinterpret_cast<HANDLE>(thread),0) != 0;
|
||||
#else
|
||||
ret = !::pthread_cancel(thread);
|
||||
#endif
|
||||
if (ret) {
|
||||
m_running = false;
|
||||
::usleep(10);
|
||||
Thread::msleep(1);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
@ -184,7 +223,11 @@ void ThreadPrivate::cleanup()
|
|||
|
||||
Thread* ThreadPrivate::current()
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
ThreadPrivate *t = reinterpret_cast<ThreadPrivate *>(::TlsGetValue(tls_index));
|
||||
#else
|
||||
ThreadPrivate *t = reinterpret_cast<ThreadPrivate *>(::pthread_getspecific(current_key));
|
||||
#endif
|
||||
return t ? t->m_thread : 0;
|
||||
}
|
||||
|
||||
|
@ -203,13 +246,13 @@ void ThreadPrivate::killall()
|
|||
bool ok = t->cancel();
|
||||
if (ok) {
|
||||
// delay a little so threads have a chance to clean up
|
||||
for (int i=0; i<1000; i++) {
|
||||
for (int i=0; i<100; i++) {
|
||||
tmutex.lock();
|
||||
bool done = (t != l->get());
|
||||
tmutex.unlock();
|
||||
if (done)
|
||||
break;
|
||||
::usleep(10);
|
||||
Thread::msleep(1);
|
||||
}
|
||||
}
|
||||
tmutex.lock();
|
||||
|
@ -217,13 +260,13 @@ void ThreadPrivate::killall()
|
|||
c = 1;
|
||||
else {
|
||||
if (ok) {
|
||||
Debug(DebugGoOn,"Could not kill %p but seems OK to delete it (pthread bug?)",t);
|
||||
Debug(DebugGoOn,"Could not kill %p but seems OK to delete it (library bug?)",t);
|
||||
tmutex.unlock();
|
||||
t->destroy();
|
||||
tmutex.lock();
|
||||
continue;
|
||||
}
|
||||
::usleep(10);
|
||||
Thread::msleep(1);
|
||||
if (++c >= 10) {
|
||||
Debug(DebugGoOn,"Could not kill %p, will use sledgehammer later.",t);
|
||||
sledgehammer = true;
|
||||
|
@ -266,17 +309,25 @@ void ThreadPrivate::cleanupFunc(void* arg)
|
|||
|
||||
void ThreadPrivate::keyAllocFunc()
|
||||
{
|
||||
#ifndef _WINDOWS
|
||||
DDebug(DebugAll,"ThreadPrivate::keyAllocFunc()");
|
||||
if (::pthread_key_create(¤t_key,destroyFunc))
|
||||
Debug(DebugGoOn,"Failed to create current thread key!");
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _WINDOWS
|
||||
void ThreadPrivate::startFunc(void* arg)
|
||||
#else
|
||||
void* ThreadPrivate::startFunc(void* arg)
|
||||
#endif
|
||||
{
|
||||
DDebug(DebugAll,"ThreadPrivate::startFunc(%p)",arg);
|
||||
ThreadPrivate *t = reinterpret_cast<ThreadPrivate *>(arg);
|
||||
t->run();
|
||||
#ifndef _WINDOWS
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
Thread::Thread(const char* name)
|
||||
|
@ -338,7 +389,11 @@ void Thread::killall()
|
|||
void Thread::exit()
|
||||
{
|
||||
DDebug(DebugAll,"Thread::exit()");
|
||||
#ifdef _WINDOWS
|
||||
::_endthread();
|
||||
#else
|
||||
::pthread_exit(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::cancel()
|
||||
|
@ -350,7 +405,38 @@ void Thread::cancel()
|
|||
|
||||
void Thread::yield()
|
||||
{
|
||||
::usleep(1);
|
||||
#ifdef _WINDOWS
|
||||
::Sleep(0);
|
||||
#else
|
||||
::usleep(0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::sleep(unsigned int sec)
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
::Sleep(sec*1000);
|
||||
#else
|
||||
::sleep(sec);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::msleep(unsigned long msec)
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
::Sleep(msec);
|
||||
#else
|
||||
::usleep(msec*1000L);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::usleep(unsigned long usec)
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
::Sleep(usec/1000);
|
||||
#else
|
||||
::usleep(usec);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Thread::preExec()
|
||||
|
|
|
@ -64,7 +64,7 @@ public:
|
|||
{ m_target = target; }
|
||||
inline const String& getTarget() const
|
||||
{ return m_target; }
|
||||
inline unsigned long long age() const
|
||||
inline u_int64_t age() const
|
||||
{ return Time::now() - m_start; }
|
||||
static GenConnection* find(const String& id);
|
||||
static bool oneCall(String* target = 0);
|
||||
|
@ -73,7 +73,7 @@ private:
|
|||
String m_status;
|
||||
String m_callto;
|
||||
String m_target;
|
||||
unsigned long long m_start;
|
||||
u_int64_t m_start;
|
||||
};
|
||||
|
||||
class GenThread : public Thread
|
||||
|
@ -164,7 +164,7 @@ bool GenConnection::oneCall(String* target)
|
|||
int n_max = s_cfg.getIntValue("parameters","maxnum",n_min);
|
||||
if (n_max < n_min)
|
||||
return false;
|
||||
called = (unsigned)(n_min + (((n_max - n_min) * (long long)::random()) / RAND_MAX));
|
||||
called = (unsigned)(n_min + (((n_max - n_min) * (int64_t)::random()) / RAND_MAX));
|
||||
}
|
||||
if (target)
|
||||
*target = called;
|
||||
|
@ -279,7 +279,7 @@ bool ConnHandler::received(Message &msg, int id)
|
|||
void GenThread::run()
|
||||
{
|
||||
for (;;) {
|
||||
::usleep(1000000);
|
||||
Thread::sleep(1);
|
||||
Lock lock(s_mutex);
|
||||
int maxcalls = s_cfg.getIntValue("parameters","maxcalls",5);
|
||||
if (!s_runs || (s_current >= maxcalls) || (s_numcalls <= 0))
|
||||
|
|
|
@ -60,16 +60,16 @@ class CdrBuilder : public String
|
|||
public:
|
||||
CdrBuilder(const char *name, const char *caller, const char *called);
|
||||
virtual ~CdrBuilder();
|
||||
void update(int type, unsigned long long val);
|
||||
void update(int type, u_int64_t val);
|
||||
inline void setStatus(const char *status)
|
||||
{ m_status = status; }
|
||||
String getStatus() const;
|
||||
static CdrBuilder *find(String &id);
|
||||
private:
|
||||
void emit(const char *operation = 0);
|
||||
inline static int sec(unsigned long long usec)
|
||||
{ return (usec + 500000) / 1000000; }
|
||||
unsigned long long
|
||||
inline static int sec(u_int64_t usec)
|
||||
{ return (int)((usec + 500000) / 1000000); }
|
||||
u_int64_t
|
||||
m_start,
|
||||
m_call,
|
||||
m_ringing,
|
||||
|
@ -96,10 +96,10 @@ CdrBuilder::~CdrBuilder()
|
|||
|
||||
void CdrBuilder::emit(const char *operation)
|
||||
{
|
||||
unsigned long long t_hangup = m_hangup ? m_hangup : Time::now();
|
||||
u_int64_t t_hangup = m_hangup ? m_hangup : Time::now();
|
||||
const char *dir = m_call ? "outgoing" : "incoming";
|
||||
|
||||
unsigned long long
|
||||
u_int64_t
|
||||
t_start = m_start, t_call = m_call,
|
||||
t_ringing = m_ringing, t_answer = m_answer;
|
||||
if (!t_start)
|
||||
|
@ -136,7 +136,7 @@ String CdrBuilder::getStatus() const
|
|||
return s;
|
||||
}
|
||||
|
||||
void CdrBuilder::update(int type, unsigned long long val)
|
||||
void CdrBuilder::update(int type, u_int64_t val)
|
||||
{
|
||||
switch (type) {
|
||||
case CdrStart:
|
||||
|
|
|
@ -187,7 +187,7 @@ static bool oneContext(Message &msg, String &str, const String &context, String
|
|||
|
||||
bool RouteHandler::received(Message &msg)
|
||||
{
|
||||
unsigned long long tmr = Time::now();
|
||||
u_int64_t tmr = Time::now();
|
||||
String called(msg.getValue("called"));
|
||||
if (called.null())
|
||||
return false;
|
||||
|
@ -215,7 +215,7 @@ public:
|
|||
|
||||
bool PrerouteHandler::received(Message &msg)
|
||||
{
|
||||
unsigned long long tmr = Time::now();
|
||||
u_int64_t tmr = Time::now();
|
||||
// return immediately if there is already a context
|
||||
if (msg.getValue("context"))
|
||||
return false;
|
||||
|
|
|
@ -52,7 +52,7 @@ private:
|
|||
DataBlock m_data;
|
||||
unsigned m_brate;
|
||||
unsigned m_total;
|
||||
unsigned long long m_time;
|
||||
u_int64_t m_time;
|
||||
};
|
||||
|
||||
class ToneChan : public Channel
|
||||
|
@ -137,7 +137,7 @@ ToneSource::~ToneSource()
|
|||
if (m_time) {
|
||||
m_time = Time::now() - m_time;
|
||||
if (m_time) {
|
||||
m_time = (m_total*1000000ULL + m_time/2) / m_time;
|
||||
m_time = (m_total*(u_int64_t)1000000 + m_time/2) / m_time;
|
||||
Debug(DebugInfo,"ToneSource rate=%llu b/s",m_time);
|
||||
}
|
||||
}
|
||||
|
@ -179,7 +179,7 @@ ToneSource *ToneSource::getTone(const String &tone)
|
|||
void ToneSource::run()
|
||||
{
|
||||
Debug(DebugAll,"ToneSource::run() [%p]",this);
|
||||
unsigned long long tpos = Time::now();
|
||||
u_int64_t tpos = Time::now();
|
||||
m_time = tpos;
|
||||
int samp = 0; // sample number
|
||||
int dpos = 1; // position in data
|
||||
|
@ -206,17 +206,17 @@ void ToneSource::run()
|
|||
else
|
||||
*d++ = 0;
|
||||
}
|
||||
long long dly = tpos - Time::now();
|
||||
int64_t dly = tpos - Time::now();
|
||||
if (dly > 0) {
|
||||
XDebug("ToneSource",DebugAll,"Sleeping for %lld usec",dly);
|
||||
::usleep((unsigned long)dly);
|
||||
Thread::usleep((unsigned long)dly);
|
||||
}
|
||||
Forward(m_data,m_data.length()/2);
|
||||
m_total += m_data.length();
|
||||
tpos += (m_data.length()*1000000ULL/m_brate);
|
||||
tpos += (m_data.length()*(u_int64_t)1000000/m_brate);
|
||||
};
|
||||
m_time = Time::now() - m_time;
|
||||
m_time = (m_total*1000000ULL + m_time/2) / m_time;
|
||||
m_time = (m_total*(u_int64_t)1000000 + m_time/2) / m_time;
|
||||
Debug(DebugAll,"ToneSource [%p] end, total=%u (%llu b/s)",this,m_total,m_time);
|
||||
m_time = 0;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ Release
|
|||
*.opt
|
||||
*.ncb
|
||||
*.clw
|
||||
*.suo
|
||||
*.orig
|
||||
*~
|
||||
*.bak
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
# Microsoft Developer Studio Project File - Name="Client" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
CFG=Client - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Client.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Client.mak" CFG="Client - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Client - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "Client - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Client - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"Release/yate-client.exe"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "Client - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"Debug/yate-client.exe" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Client - Win32 Release"
|
||||
# Name "Client - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=".\main-client.cpp"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\yatengine.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\version.rc
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,63 @@
|
|||
# Microsoft Developer Studio Project File - Name="Contrib" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Generic Project" 0x010a
|
||||
|
||||
CFG=Contrib - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Contrib.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Contrib.mak" CFG="Contrib - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Contrib - Win32 Release" (based on "Win32 (x86) Generic Project")
|
||||
!MESSAGE "Contrib - Win32 Debug" (based on "Win32 (x86) Generic Project")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
MTL=midl.exe
|
||||
|
||||
!IF "$(CFG)" == "Contrib - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ELSEIF "$(CFG)" == "Contrib - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Contrib - Win32 Release"
|
||||
# Name "Contrib - Win32 Debug"
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,174 @@
|
|||
# Microsoft Developer Studio Project File - Name="Libyate" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=Libyate - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Libyate.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Libyate.mak" CFG="Libyate - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Libyate - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Libyate - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Libyate - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBYATE_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBYATE_EXPORTS" /D "__STDC__" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib Release/libregex.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBC"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "Libyate - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBYATE_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBYATE_EXPORTS" /D "__STDC__" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib Debug/libregex.lib /nologo /dll /incremental:no /debug /machine:I386 /nodefaultlib:"LIBCD" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Libyate - Win32 Release"
|
||||
# Name "Libyate - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Channel.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Configuration.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\DataBlock.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\DataFormat.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Engine.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Message.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Mutex.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\NamedList.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\ObjList.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Plugin.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\String.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\TelEngine.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\Thread.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\engine\YMD5.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\yatengine.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\yatephone.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\version.rc
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,63 @@
|
|||
# Microsoft Developer Studio Project File - Name="Modules" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Generic Project" 0x010a
|
||||
|
||||
CFG=Modules - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Modules.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Modules.mak" CFG="Modules - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Modules - Win32 Release" (based on "Win32 (x86) Generic Project")
|
||||
!MESSAGE "Modules - Win32 Debug" (based on "Win32 (x86) Generic Project")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
MTL=midl.exe
|
||||
|
||||
!IF "$(CFG)" == "Modules - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ELSEIF "$(CFG)" == "Modules - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Modules - Win32 Release"
|
||||
# Name "Modules - Win32 Debug"
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,63 @@
|
|||
# Microsoft Developer Studio Project File - Name="YATE" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Generic Project" 0x010a
|
||||
|
||||
CFG=YATE - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "YATE.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "YATE.mak" CFG="YATE - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "YATE - Win32 Release" (based on "Win32 (x86) Generic Project")
|
||||
!MESSAGE "YATE - Win32 Debug" (based on "Win32 (x86) Generic Project")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
MTL=midl.exe
|
||||
|
||||
!IF "$(CFG)" == "YATE - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ELSEIF "$(CFG)" == "YATE - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "YATE - Win32 Release"
|
||||
# Name "YATE - Win32 Debug"
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,368 @@
|
|||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Client"=.\Client.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Contrib"=.\Contrib.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libysip
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libiax
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Libyate"=.\Libyate.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libregex
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Modules"=.\Modules.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _callgen
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _tonegen
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _wavefile
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _cdrbuild
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _cdrfile
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _h323chan
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _iaxchan
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _regexroute
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _regfile
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _rmanager
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name _ysipchan
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Service"=.\Service.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "YATE"=.\YATE.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Client
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Modules
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Service
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_callgen"=.\_callgen.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_cdrbuild"=.\_cdrbuild.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_cdrfile"=.\_cdrfile.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_h323chan"=.\_h323chan.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_iaxchan"=.\_iaxchan.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libiax
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_regexroute"=.\_regexroute.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_regfile"=.\_regfile.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_rmanager"=.\_rmanager.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_tonegen"=.\_tonegen.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_wavefile"=.\_wavefile.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "_ysipchan"=.\_ysipchan.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Libyate
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libysip
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "libiax"=.\libiax.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "libortp"=.\libortp.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "libregex"=.\libregex.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "libysip"=.\libysip.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_callgen" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_callgen - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_callgen.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_callgen.mak" CFG="_callgen - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_callgen - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_callgen - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_callgen - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CALLGEN_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CALLGEN_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/callgen.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_callgen - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CALLGEN_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CALLGEN_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/callgen.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_callgen - Win32 Release"
|
||||
# Name "_callgen - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\callgen.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_cdrbuild" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_cdrbuild - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_cdrbuild.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_cdrbuild.mak" CFG="_cdrbuild - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_cdrbuild - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_cdrbuild - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_cdrbuild - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRBUILD_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRBUILD_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/cdrbuild.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_cdrbuild - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRBUILD_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRBUILD_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/cdrbuild.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_cdrbuild - Win32 Release"
|
||||
# Name "_cdrbuild - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\cdrbuild.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,111 @@
|
|||
# Microsoft Developer Studio Project File - Name="_cdrfile" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_cdrfile - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_cdrfile.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_cdrfile.mak" CFG="_cdrfile - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_cdrfile - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_cdrfile - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_cdrfile - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRFILE_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRFILE_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/cdrfile.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_cdrfile - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRFILE_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_CDRFILE_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/cdrfile.yate" /pdbtype:sept
|
||||
# SUBTRACT LINK32 /nodefaultlib
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_cdrfile - Win32 Release"
|
||||
# Name "_cdrfile - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\cdrfile.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_h323chan" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_h323chan - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_h323chan.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_h323chan.mak" CFG="_h323chan - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_h323chan - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_h323chan - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_h323chan - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_H323CHAN_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_H323CHAN_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/h323chan.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_h323chan - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_H323CHAN_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_H323CHAN_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/h323chan.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_h323chan - Win32 Release"
|
||||
# Name "_h323chan - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\h323chan.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_iaxchan" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_iaxchan - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_iaxchan.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_iaxchan.mak" CFG="_iaxchan - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_iaxchan - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_iaxchan - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_iaxchan - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_IAXCHAN_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_IAXCHAN_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib Release/libiax.lib /nologo /dll /machine:I386 /out:"Release/iaxchan.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_iaxchan - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_IAXCHAN_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_IAXCHAN_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib Debug/libiax.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/iaxchan.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_iaxchan - Win32 Release"
|
||||
# Name "_iaxchan - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\iaxchan.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_regexroute" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_regexroute - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_regexroute.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_regexroute.mak" CFG="_regexroute - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_regexroute - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_regexroute - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_regexroute - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGEXROUTE_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGEXROUTE_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/regexroute.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_regexroute - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGEXROUTE_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGEXROUTE_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/regexroute.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_regexroute - Win32 Release"
|
||||
# Name "_regexroute - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\regexroute.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_regfile" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_regfile - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_regfile.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_regfile.mak" CFG="_regfile - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_regfile - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_regfile - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_regfile - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGFILE_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGFILE_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/regfile.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_regfile - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGFILE_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_REGFILE_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/regfile.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_regfile - Win32 Release"
|
||||
# Name "_regfile - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\regfile.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_rmanager" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_rmanager - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_rmanager.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_rmanager.mak" CFG="_rmanager - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_rmanager - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_rmanager - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_rmanager - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_RMANAGER_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_RMANAGER_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/rmanager.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_rmanager - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_RMANAGER_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_RMANAGER_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/rmanager.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_rmanager - Win32 Release"
|
||||
# Name "_rmanager - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\rmanager.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_tonegen" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_tonegen - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_tonegen.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_tonegen.mak" CFG="_tonegen - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_tonegen - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_tonegen - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_tonegen - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_TONEGEN_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_TONEGEN_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/tonegen.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_tonegen - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_TONEGEN_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_TONEGEN_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/tonegen.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_tonegen - Win32 Release"
|
||||
# Name "_tonegen - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\tonegen.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_wavefile" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_wavefile - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_wavefile.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_wavefile.mak" CFG="_wavefile - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_wavefile - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_wavefile - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_wavefile - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_WAVEFILE_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_WAVEFILE_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /machine:I386 /out:"Release/wavefile.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_wavefile - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_WAVEFILE_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_WAVEFILE_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/wavefile.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_wavefile - Win32 Release"
|
||||
# Name "_wavefile - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\wavefile.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,110 @@
|
|||
# Microsoft Developer Studio Project File - Name="_ysipchan" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=_ysipchan - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_ysipchan.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "_ysipchan.mak" CFG="_ysipchan - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "_ysipchan - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "_ysipchan - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "_ysipchan - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_YSIPCHAN_EXPORTS" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".." /I "..\contrib\ysip" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_YSIPCHAN_EXPORTS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib Release/libysip.lib /nologo /dll /machine:I386 /out:"Release/ysipchan.yate"
|
||||
# SUBTRACT LINK32 /incremental:yes
|
||||
|
||||
!ELSEIF "$(CFG)" == "_ysipchan - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_YSIPCHAN_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".." /I "..\contrib\ysip" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_YSIPCHAN_EXPORTS" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib Debug/libysip.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"Debug/ysipchan.yate" /pdbtype:sept
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "_ysipchan - Win32 Release"
|
||||
# Name "_ysipchan - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\modules\ysipchan.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,134 @@
|
|||
# Microsoft Developer Studio Project File - Name="libiax" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=libiax - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libiax.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libiax.mak" CFG="libiax - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "libiax - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libiax - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "libiax - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /O2 /I "." /I ".." /I "..\contrib\iax" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "LIBIAX" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "libiax - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /Zi /Od /I "." /I ".." /I "..\contrib\iax" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "DEBUG_SUPPORT" /D "LIBIAX" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "libiax - Win32 Release"
|
||||
# Name "libiax - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\iax.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\contrib\iax\iax2-parser.c"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\md5.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\frame.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\contrib\iax\iax-client.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\iax.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\contrib\iax\iax2-parser.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\iax2.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\md5.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\iax\winpoop.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,226 @@
|
|||
# Microsoft Developer Studio Project File - Name="libortp" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=libortp - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libortp.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libortp.mak" CFG="libortp - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "libortp - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libortp - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "libortp - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "libortp___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "libortp___Win32_Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /O2 /I "." /I ".." /I "..\contrib\ortp" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "libortp - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "libortp___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "libortp___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /Zi /Od /I "." /I ".." /I "..\contrib\ortp" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "libortp - Win32 Release"
|
||||
# Name "libortp - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\avprofile.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\export.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\ortp.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\payloadtype.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\port_fct.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\posixtimer.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpmod.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpparse.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpsession.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpsignaltable.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtptimer.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\scheduler.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\sessionset.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\str_utils.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\telephonyevents.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\contrib\ortp\errno-win32.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\export.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\contrib\ortp\ortp-config-win32.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE="..\contrib\ortp\ortp-config.h"
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\ortp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\payloadtype.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\port_fct.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtcp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtp.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpmod.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpport.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpsession.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtpsignaltable.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\rtptimer.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\scheduler.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\sessionset.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\str_utils.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ortp\telephonyevents.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,102 @@
|
|||
# Microsoft Developer Studio Project File - Name="libregex" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=libregex - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libregex.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libregex.mak" CFG="libregex - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "libregex - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libregex - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "libregex - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "libregex___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "libregex___Win32_Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /O2 /I "." /I ".." /I "..\contrib\regex" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_STRING_H" /D "__STDC__" /D "REGEX_MALLOC" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "libregex - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "libregex___Win32_Debug"
|
||||
# PROP BASE Intermediate_Dir "libregex___Win32_Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /Zi /Od /I "." /I ".." /I "..\contrib\regex" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_STRING_H" /D "__STDC__" /D "REGEX_MALLOC" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "libregex - Win32 Release"
|
||||
# Name "libregex - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\regex.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\regex.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,126 @@
|
|||
# Microsoft Developer Studio Project File - Name="libysip" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=libysip - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libysip.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "libysip.mak" CFG="libysip - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "libysip - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "libysip - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "libysip - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /O2 /I "." /I ".." /I "..\contrib\ysip" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "libysip - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /W3 /Gm /Zi /Od /I "." /I ".." /I "..\contrib\ysip" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "libysip - Win32 Release"
|
||||
# Name "libysip - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\body.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\engine.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\message.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\transaction.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\util.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\util.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\yatengine.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\contrib\ysip\ysip.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* main-client.cpp
|
||||
* This file is part of the YATE Project http://YATE.null.ro
|
||||
*
|
||||
* Yet Another Telephony Engine - a fully featured software PBX and IVR
|
||||
* Copyright (C) 2004 Null Team
|
||||
*
|
||||
* 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the 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 "yatengine.h"
|
||||
|
||||
extern "C" int main(int argc, const char** argv, const char** environ)
|
||||
{
|
||||
return TelEngine::Engine::main(argc,argv,environ);
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* main-service.cpp
|
||||
* This file is part of the YATE Project http://YATE.null.ro
|
||||
*
|
||||
* Yet Another Telephony Engine - a fully featured software PBX and IVR
|
||||
* Copyright (C) 2004 Null Team
|
||||
*
|
||||
* 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the 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 "yatengine.h"
|
||||
|
||||
extern "C" int main(int argc, const char** argv, const char** environ)
|
||||
{
|
||||
return TelEngine::Engine::main(argc,argv,environ);
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,498 @@
|
|||
/* Definitions for data structures and routines for the regular
|
||||
expression library, version 0.12.
|
||||
|
||||
Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
|
||||
|
||||
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; without even the 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. */
|
||||
|
||||
#ifndef __REGEXP_LIBRARY_H__
|
||||
#define __REGEXP_LIBRARY_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* POSIX says that <sys/types.h> must be included (by the caller) before
|
||||
<regex.h>. */
|
||||
|
||||
#ifdef VMS
|
||||
/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
|
||||
should be there. */
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* The following bits are used to determine the regexp syntax we
|
||||
recognize. The set/not-set meanings are chosen so that Emacs syntax
|
||||
remains the value 0. The bits are given in alphabetical order, and
|
||||
the definitions shifted by one from the previous bit; thus, when we
|
||||
add or remove a bit, only one other definition need change. */
|
||||
typedef unsigned reg_syntax_t;
|
||||
|
||||
/* If this bit is not set, then \ inside a bracket expression is literal.
|
||||
If set, then such a \ quotes the following character. */
|
||||
#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
|
||||
|
||||
/* If this bit is not set, then + and ? are operators, and \+ and \? are
|
||||
literals.
|
||||
If set, then \+ and \? are operators and + and ? are literals. */
|
||||
#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
|
||||
|
||||
/* If this bit is set, then character classes are supported. They are:
|
||||
[:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
|
||||
[:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
|
||||
If not set, then character classes are not supported. */
|
||||
#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
|
||||
|
||||
/* If this bit is set, then ^ and $ are always anchors (outside bracket
|
||||
expressions, of course).
|
||||
If this bit is not set, then it depends:
|
||||
^ is an anchor if it is at the beginning of a regular
|
||||
expression or after an open-group or an alternation operator;
|
||||
$ is an anchor if it is at the end of a regular expression, or
|
||||
before a close-group or an alternation operator.
|
||||
|
||||
This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
|
||||
POSIX draft 11.2 says that * etc. in leading positions is undefined.
|
||||
We already implemented a previous draft which made those constructs
|
||||
invalid, though, so we haven't changed the code back. */
|
||||
#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
|
||||
|
||||
/* If this bit is set, then special characters are always special
|
||||
regardless of where they are in the pattern.
|
||||
If this bit is not set, then special characters are special only in
|
||||
some contexts; otherwise they are ordinary. Specifically,
|
||||
* + ? and intervals are only special when not after the beginning,
|
||||
open-group, or alternation operator. */
|
||||
#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
|
||||
|
||||
/* If this bit is set, then *, +, ?, and { cannot be first in an re or
|
||||
immediately after an alternation or begin-group operator. */
|
||||
#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
|
||||
|
||||
/* If this bit is set, then . matches newline.
|
||||
If not set, then it doesn't. */
|
||||
#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
|
||||
|
||||
/* If this bit is set, then . doesn't match NUL.
|
||||
If not set, then it does. */
|
||||
#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
|
||||
|
||||
/* If this bit is set, nonmatching lists [^...] do not match newline.
|
||||
If not set, they do. */
|
||||
#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
|
||||
|
||||
/* If this bit is set, either \{...\} or {...} defines an
|
||||
interval, depending on RE_NO_BK_BRACES.
|
||||
If not set, \{, \}, {, and } are literals. */
|
||||
#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
|
||||
|
||||
/* If this bit is set, +, ? and | aren't recognized as operators.
|
||||
If not set, they are. */
|
||||
#define RE_LIMITED_OPS (RE_INTERVALS << 1)
|
||||
|
||||
/* If this bit is set, newline is an alternation operator.
|
||||
If not set, newline is literal. */
|
||||
#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
|
||||
|
||||
/* If this bit is set, then `{...}' defines an interval, and \{ and \}
|
||||
are literals.
|
||||
If not set, then `\{...\}' defines an interval. */
|
||||
#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
|
||||
|
||||
/* If this bit is set, (...) defines a group, and \( and \) are literals.
|
||||
If not set, \(...\) defines a group, and ( and ) are literals. */
|
||||
#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
|
||||
|
||||
/* If this bit is set, then \<digit> matches <digit>.
|
||||
If not set, then \<digit> is a back-reference. */
|
||||
#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
|
||||
|
||||
/* If this bit is set, then | is an alternation operator, and \| is literal.
|
||||
If not set, then \| is an alternation operator, and | is literal. */
|
||||
#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
|
||||
|
||||
/* If this bit is set, then an ending range point collating higher
|
||||
than the starting range point, as in [z-a], is invalid.
|
||||
If not set, then when ending range point collates higher than the
|
||||
starting range point, the range is ignored. */
|
||||
#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
|
||||
|
||||
/* If this bit is set, then an unmatched ) is ordinary.
|
||||
If not set, then an unmatched ) is invalid. */
|
||||
#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
|
||||
|
||||
/* This global variable defines the particular regexp syntax to use (for
|
||||
some interfaces). When a regexp is compiled, the syntax used is
|
||||
stored in the pattern buffer, so changing this does not affect
|
||||
already-compiled regexps. */
|
||||
extern reg_syntax_t re_syntax_options;
|
||||
|
||||
/* Define combinations of the above bits for the standard possibilities.
|
||||
(The [[[ comments delimit what gets put into the Texinfo file, so
|
||||
don't delete them!) */
|
||||
/* [[[begin syntaxes]]] */
|
||||
#define RE_SYNTAX_EMACS 0
|
||||
|
||||
#define RE_SYNTAX_AWK \
|
||||
(RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \
|
||||
| RE_NO_BK_PARENS | RE_NO_BK_REFS \
|
||||
| RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \
|
||||
| RE_UNMATCHED_RIGHT_PAREN_ORD)
|
||||
|
||||
#define RE_SYNTAX_POSIX_AWK \
|
||||
(RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
|
||||
|
||||
#define RE_SYNTAX_GREP \
|
||||
(RE_BK_PLUS_QM | RE_CHAR_CLASSES \
|
||||
| RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
|
||||
| RE_NEWLINE_ALT)
|
||||
|
||||
#define RE_SYNTAX_EGREP \
|
||||
(RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
|
||||
| RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
|
||||
| RE_NEWLINE_ALT | RE_NO_BK_PARENS \
|
||||
| RE_NO_BK_VBAR)
|
||||
|
||||
#define RE_SYNTAX_POSIX_EGREP \
|
||||
(RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
|
||||
|
||||
/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
|
||||
#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
|
||||
|
||||
#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
|
||||
|
||||
/* Syntax bits common to both basic and extended POSIX regex syntax. */
|
||||
#define _RE_SYNTAX_POSIX_COMMON \
|
||||
(RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \
|
||||
| RE_INTERVALS | RE_NO_EMPTY_RANGES)
|
||||
|
||||
#define RE_SYNTAX_POSIX_BASIC \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
|
||||
|
||||
/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
|
||||
RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this
|
||||
isn't minimal, since other operators, such as \`, aren't disabled. */
|
||||
#define RE_SYNTAX_POSIX_MINIMAL_BASIC \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
|
||||
|
||||
#define RE_SYNTAX_POSIX_EXTENDED \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
|
||||
| RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \
|
||||
| RE_NO_BK_PARENS | RE_NO_BK_VBAR \
|
||||
| RE_UNMATCHED_RIGHT_PAREN_ORD)
|
||||
|
||||
/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
|
||||
replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */
|
||||
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
|
||||
| RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \
|
||||
| RE_NO_BK_PARENS | RE_NO_BK_REFS \
|
||||
| RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
|
||||
/* [[[end syntaxes]]] */
|
||||
|
||||
/* Maximum number of duplicates an interval can allow. Some systems
|
||||
(erroneously) define this in other header files, but we want our
|
||||
value, so remove any previous define. */
|
||||
#ifdef RE_DUP_MAX
|
||||
#undef RE_DUP_MAX
|
||||
#endif
|
||||
#define RE_DUP_MAX ((1 << 15) - 1)
|
||||
|
||||
|
||||
/* POSIX `cflags' bits (i.e., information for `regcomp'). */
|
||||
|
||||
/* If this bit is set, then use extended regular expression syntax.
|
||||
If not set, then use basic regular expression syntax. */
|
||||
#define REG_EXTENDED 1
|
||||
|
||||
/* If this bit is set, then ignore case when matching.
|
||||
If not set, then case is significant. */
|
||||
#define REG_ICASE (REG_EXTENDED << 1)
|
||||
|
||||
/* If this bit is set, then anchors do not match at newline
|
||||
characters in the string.
|
||||
If not set, then anchors do match at newlines. */
|
||||
#define REG_NEWLINE (REG_ICASE << 1)
|
||||
|
||||
/* If this bit is set, then report only success or fail in regexec.
|
||||
If not set, then returns differ between not matching and errors. */
|
||||
#define REG_NOSUB (REG_NEWLINE << 1)
|
||||
|
||||
|
||||
/* POSIX `eflags' bits (i.e., information for regexec). */
|
||||
|
||||
/* If this bit is set, then the beginning-of-line operator doesn't match
|
||||
the beginning of the string (presumably because it's not the
|
||||
beginning of a line).
|
||||
If not set, then the beginning-of-line operator does match the
|
||||
beginning of the string. */
|
||||
#define REG_NOTBOL 1
|
||||
|
||||
/* Like REG_NOTBOL, except for the end-of-line. */
|
||||
#define REG_NOTEOL (1 << 1)
|
||||
|
||||
|
||||
/* If any error codes are removed, changed, or added, update the
|
||||
`re_error_msg' table in regex.c. */
|
||||
typedef enum
|
||||
{
|
||||
REG_NOERROR = 0, /* Success. */
|
||||
REG_NOMATCH, /* Didn't find a match (for regexec). */
|
||||
|
||||
/* POSIX regcomp return error codes. (In the order listed in the
|
||||
standard.) */
|
||||
REG_BADPAT, /* Invalid pattern. */
|
||||
REG_ECOLLATE, /* Not implemented. */
|
||||
REG_ECTYPE, /* Invalid character class name. */
|
||||
REG_EESCAPE, /* Trailing backslash. */
|
||||
REG_ESUBREG, /* Invalid back reference. */
|
||||
REG_EBRACK, /* Unmatched left bracket. */
|
||||
REG_EPAREN, /* Parenthesis imbalance. */
|
||||
REG_EBRACE, /* Unmatched \{. */
|
||||
REG_BADBR, /* Invalid contents of \{\}. */
|
||||
REG_ERANGE, /* Invalid range end. */
|
||||
REG_ESPACE, /* Ran out of memory. */
|
||||
REG_BADRPT, /* No preceding re for repetition op. */
|
||||
|
||||
/* Error codes we've added. */
|
||||
REG_EEND, /* Premature end. */
|
||||
REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
|
||||
REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
|
||||
} reg_errcode_t;
|
||||
|
||||
/* This data structure represents a compiled pattern. Before calling
|
||||
the pattern compiler, the fields `buffer', `allocated', `fastmap',
|
||||
`translate', and `no_sub' can be set. After the pattern has been
|
||||
compiled, the `re_nsub' field is available. All other fields are
|
||||
private to the regex routines. */
|
||||
|
||||
struct re_pattern_buffer
|
||||
{
|
||||
/* [[[begin pattern_buffer]]] */
|
||||
/* Space that holds the compiled pattern. It is declared as
|
||||
`unsigned char *' because its elements are
|
||||
sometimes used as array indexes. */
|
||||
unsigned char *buffer;
|
||||
|
||||
/* Number of bytes to which `buffer' points. */
|
||||
unsigned long allocated;
|
||||
|
||||
/* Number of bytes actually used in `buffer'. */
|
||||
unsigned long used;
|
||||
|
||||
/* Syntax setting with which the pattern was compiled. */
|
||||
reg_syntax_t syntax;
|
||||
|
||||
/* Pointer to a fastmap, if any, otherwise zero. re_search uses
|
||||
the fastmap, if there is one, to skip over impossible
|
||||
starting points for matches. */
|
||||
char *fastmap;
|
||||
|
||||
/* Either a translate table to apply to all characters before
|
||||
comparing them, or zero for no translation. The translation
|
||||
is applied to a pattern when it is compiled and to a string
|
||||
when it is matched. */
|
||||
char *translate;
|
||||
|
||||
/* Number of subexpressions found by the compiler. */
|
||||
size_t re_nsub;
|
||||
|
||||
/* Zero if this pattern cannot match the empty string, one else.
|
||||
Well, in truth it's used only in `re_search_2', to see
|
||||
whether or not we should use the fastmap, so we don't set
|
||||
this absolutely perfectly; see `re_compile_fastmap' (the
|
||||
`duplicate' case). */
|
||||
unsigned can_be_null : 1;
|
||||
|
||||
/* If REGS_UNALLOCATED, allocate space in the `regs' structure
|
||||
for `max (RE_NREGS, re_nsub + 1)' groups.
|
||||
If REGS_REALLOCATE, reallocate space if necessary.
|
||||
If REGS_FIXED, use what's there. */
|
||||
#define REGS_UNALLOCATED 0
|
||||
#define REGS_REALLOCATE 1
|
||||
#define REGS_FIXED 2
|
||||
unsigned regs_allocated : 2;
|
||||
|
||||
/* Set to zero when `regex_compile' compiles a pattern; set to one
|
||||
by `re_compile_fastmap' if it updates the fastmap. */
|
||||
unsigned fastmap_accurate : 1;
|
||||
|
||||
/* If set, `re_match_2' does not return information about
|
||||
subexpressions. */
|
||||
unsigned no_sub : 1;
|
||||
|
||||
/* If set, a beginning-of-line anchor doesn't match at the
|
||||
beginning of the string. */
|
||||
unsigned not_bol : 1;
|
||||
|
||||
/* Similarly for an end-of-line anchor. */
|
||||
unsigned not_eol : 1;
|
||||
|
||||
/* If true, an anchor at a newline matches. */
|
||||
unsigned newline_anchor : 1;
|
||||
|
||||
/* [[[end pattern_buffer]]] */
|
||||
};
|
||||
|
||||
typedef struct re_pattern_buffer regex_t;
|
||||
|
||||
|
||||
/* search.c (search_buffer) in Emacs needs this one opcode value. It is
|
||||
defined both in `regex.c' and here. */
|
||||
#define RE_EXACTN_VALUE 1
|
||||
|
||||
/* Type for byte offsets within the string. POSIX mandates this. */
|
||||
typedef int regoff_t;
|
||||
|
||||
|
||||
/* This is the structure we store register match data in. See
|
||||
regex.texinfo for a full description of what registers match. */
|
||||
struct re_registers
|
||||
{
|
||||
unsigned num_regs;
|
||||
regoff_t *start;
|
||||
regoff_t *end;
|
||||
};
|
||||
|
||||
|
||||
/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
|
||||
`re_match_2' returns information about at least this many registers
|
||||
the first time a `regs' structure is passed. */
|
||||
#ifndef RE_NREGS
|
||||
#define RE_NREGS 30
|
||||
#endif
|
||||
|
||||
|
||||
/* POSIX specification for registers. Aside from the different names than
|
||||
`re_registers', POSIX uses an array of structures, instead of a
|
||||
structure of arrays. */
|
||||
typedef struct
|
||||
{
|
||||
regoff_t rm_so; /* Byte offset from string's start to substring's start. */
|
||||
regoff_t rm_eo; /* Byte offset from string's start to substring's end. */
|
||||
} regmatch_t;
|
||||
|
||||
/* Declarations for routines. */
|
||||
|
||||
/* To avoid duplicating every routine declaration -- once with a
|
||||
prototype (if we are ANSI), and once without (if we aren't) -- we
|
||||
use the following macro to declare argument types. This
|
||||
unfortunately clutters up the declarations a bit, but I think it's
|
||||
worth it. */
|
||||
|
||||
#if __STDC__
|
||||
|
||||
#define _RE_ARGS(args) args
|
||||
|
||||
#else /* not __STDC__ */
|
||||
|
||||
#define _RE_ARGS(args) ()
|
||||
|
||||
#endif /* not __STDC__ */
|
||||
|
||||
/* Sets the current default syntax to SYNTAX, and return the old syntax.
|
||||
You can also simply assign to the `re_syntax_options' variable. */
|
||||
extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
|
||||
|
||||
/* Compile the regular expression PATTERN, with length LENGTH
|
||||
and syntax given by the global `re_syntax_options', into the buffer
|
||||
BUFFER. Return NULL if successful, and an error string if not. */
|
||||
extern const char *re_compile_pattern
|
||||
_RE_ARGS ((const char *pattern, int length,
|
||||
struct re_pattern_buffer *buffer));
|
||||
|
||||
|
||||
/* Compile a fastmap for the compiled pattern in BUFFER; used to
|
||||
accelerate searches. Return 0 if successful and -2 if was an
|
||||
internal error. */
|
||||
extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
|
||||
|
||||
|
||||
/* Search in the string STRING (with length LENGTH) for the pattern
|
||||
compiled into BUFFER. Start searching at position START, for RANGE
|
||||
characters. Return the starting position of the match, -1 for no
|
||||
match, or -2 for an internal error. Also return register
|
||||
information in REGS (if REGS and BUFFER->no_sub are nonzero). */
|
||||
extern int re_search
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
|
||||
int length, int start, int range, struct re_registers *regs));
|
||||
|
||||
|
||||
/* Like `re_search', but search in the concatenation of STRING1 and
|
||||
STRING2. Also, stop searching at index START + STOP. */
|
||||
extern int re_search_2
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
|
||||
int length1, const char *string2, int length2,
|
||||
int start, int range, struct re_registers *regs, int stop));
|
||||
|
||||
|
||||
/* Like `re_search', but return how many characters in STRING the regexp
|
||||
in BUFFER matched, starting at position START. */
|
||||
extern int re_match
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
|
||||
int length, int start, struct re_registers *regs));
|
||||
|
||||
|
||||
/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
|
||||
extern int re_match_2
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
|
||||
int length1, const char *string2, int length2,
|
||||
int start, struct re_registers *regs, int stop));
|
||||
|
||||
|
||||
/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
|
||||
ENDS. Subsequent matches using BUFFER and REGS will use this memory
|
||||
for recording register information. STARTS and ENDS must be
|
||||
allocated with malloc, and must each be at least `NUM_REGS * sizeof
|
||||
(regoff_t)' bytes long.
|
||||
|
||||
If NUM_REGS == 0, then subsequent matches should allocate their own
|
||||
register data.
|
||||
|
||||
Unless this function is called, the first search or match using
|
||||
PATTERN_BUFFER will allocate its own register data, without
|
||||
freeing the old data. */
|
||||
extern void re_set_registers
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
|
||||
unsigned num_regs, regoff_t *starts, regoff_t *ends));
|
||||
|
||||
/* 4.2 bsd compatibility. */
|
||||
extern char *re_comp _RE_ARGS ((const char *));
|
||||
extern int re_exec _RE_ARGS ((const char *));
|
||||
|
||||
/* POSIX compatibility. */
|
||||
extern int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags));
|
||||
extern int regexec
|
||||
_RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch,
|
||||
regmatch_t pmatch[], int eflags));
|
||||
extern size_t regerror
|
||||
_RE_ARGS ((int errcode, const regex_t *preg, char *errbuf,
|
||||
size_t errbuf_size));
|
||||
extern void regfree _RE_ARGS ((regex_t *preg));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* not __REGEXP_LIBRARY_H__ */
|
||||
|
||||
/*
|
||||
Local variables:
|
||||
make-backup-files: t
|
||||
version-control: t
|
||||
trim-versions-without-asking: nil
|
||||
End:
|
||||
*/
|
|
@ -0,0 +1,36 @@
|
|||
#ifndef _MAC
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,8,8,0
|
||||
PRODUCTVERSION 0,8,8,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Null Team Impex SRL\0"
|
||||
VALUE "FileDescription", "Yet Another Telephony Engine\0"
|
||||
VALUE "FileVersion", "0, 8, 8\0"
|
||||
VALUE "InternalName", "YATE\0"
|
||||
VALUE "LegalCopyright", "Copyright © 2005 Null Team\0"
|
||||
VALUE "OriginalFilename", "Yate.exe\0"
|
||||
VALUE "ProductName", "YATE\0"
|
||||
VALUE "ProductVersion", "0, 8, 8\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
|
@ -0,0 +1,20 @@
|
|||
/**
|
||||
* yateversn.h
|
||||
* This file is part of the YATE Project http://YATE.null.ro
|
||||
*
|
||||
* This is a generated file. You should never need to modify it.
|
||||
* Take a look at the source file yateversn.h.in instead.
|
||||
*/
|
||||
|
||||
#ifndef __YATEVERSN_H
|
||||
#define __YATEVERSN_H
|
||||
|
||||
#define YATE_MAJOR 0
|
||||
#define YATE_MINOR 8
|
||||
#define YATE_BUILD 8
|
||||
#define YATE_MAJOR_S "0"
|
||||
#define YATE_MINOR_S "8"
|
||||
#define YATE_BUILD_S "8"
|
||||
#define YATE_VERSION "0.8.8"
|
||||
|
||||
#endif /* __YATEVERSN_H */
|
184
yatengine.h
184
yatengine.h
|
@ -29,6 +29,36 @@
|
|||
|
||||
#include <stddef.h>
|
||||
|
||||
#ifndef _WINDOWS
|
||||
#ifdef WIN32
|
||||
#define _WINDOWS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _WINDOWS
|
||||
typedef signed __int32 int32_t;
|
||||
typedef unsigned __int32 u_int32_t;
|
||||
typedef signed __int64 int64_t;
|
||||
typedef unsigned __int64 u_int64_t;
|
||||
|
||||
#define vsnprintf _vsnprintf
|
||||
#define snprintf _snprintf
|
||||
#define strcasecmp _stricmp
|
||||
#define strdup _strdup
|
||||
#define random rand
|
||||
|
||||
#ifdef LIBYATE_EXPORTS
|
||||
#define YATE_API __declspec(dllexport)
|
||||
#else
|
||||
#define YATE_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#define YATE_API
|
||||
|
||||
#endif
|
||||
|
||||
struct timeval;
|
||||
|
||||
/**
|
||||
|
@ -46,13 +76,13 @@ namespace TelEngine {
|
|||
* Abort execution (and coredump if allowed) if the abort flag is set.
|
||||
* This function may not return.
|
||||
*/
|
||||
void abortOnBug();
|
||||
YATE_API void abortOnBug();
|
||||
|
||||
/**
|
||||
* Set the abort on bug flag. The default flag state is false.
|
||||
* @return The old state of the flag.
|
||||
*/
|
||||
bool abortOnBug(bool doAbort);
|
||||
YATE_API bool abortOnBug(bool doAbort);
|
||||
|
||||
/**
|
||||
* Standard debugging levels.
|
||||
|
@ -72,28 +102,28 @@ enum DebugLevel {
|
|||
* Retrive the current global debug level
|
||||
* @return The current global debug level
|
||||
*/
|
||||
int debugLevel();
|
||||
YATE_API int debugLevel();
|
||||
|
||||
/**
|
||||
* Set the current global debug level.
|
||||
* @param level The desired debug level
|
||||
* @return The new global debug level (may be different)
|
||||
*/
|
||||
int debugLevel(int level);
|
||||
YATE_API int debugLevel(int level);
|
||||
|
||||
/**
|
||||
* Check if debugging output should be generated
|
||||
* @param level The global debug level we are testing
|
||||
* @return True if messages should be output, false otherwise
|
||||
*/
|
||||
bool debugAt(int level);
|
||||
YATE_API bool debugAt(int level);
|
||||
|
||||
/**
|
||||
* Holds a local debugging level that can be modified separately from the
|
||||
* global debugging
|
||||
* @short A holder for a debug level
|
||||
*/
|
||||
class DebugEnabler
|
||||
class YATE_API DebugEnabler
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -196,28 +226,45 @@ bool NDebug(int level, const char* format, ...);
|
|||
bool NDebug(const char* facility, int level, const char* format, ...);
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
#undef DEBUG
|
||||
#define DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef XDEBUG
|
||||
#undef DEBUG
|
||||
#define DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#define DDebug(arg...) Debug(arg)
|
||||
#define DDebug Debug
|
||||
#else
|
||||
#ifdef _WINDOWS
|
||||
#define DDebug
|
||||
#else
|
||||
#define DDebug(arg...)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef XDEBUG
|
||||
#define XDebug(arg...) Debug(arg)
|
||||
#define XDebug Debug
|
||||
#else
|
||||
#ifdef _WINDOWS
|
||||
#define XDebug
|
||||
#else
|
||||
#define XDebug(arg...)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef NDEBUG
|
||||
#define NDebug(arg...) Debug(arg)
|
||||
#define NDebug Debug
|
||||
#else
|
||||
#ifdef _WINDOWS
|
||||
#define NDebug
|
||||
#else
|
||||
#define NDebug(arg...)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Outputs a debug string.
|
||||
|
@ -225,7 +272,7 @@ bool NDebug(const char* facility, int level, const char* format, ...);
|
|||
* @param format A printf() style format string
|
||||
* @return True if message was output, false otherwise
|
||||
*/
|
||||
bool Debug(int level, const char* format, ...) FORMAT_CHECK(2);
|
||||
YATE_API bool Debug(int level, const char* format, ...) FORMAT_CHECK(2);
|
||||
|
||||
/**
|
||||
* Outputs a debug string for a specific facility.
|
||||
|
@ -234,7 +281,7 @@ bool Debug(int level, const char* format, ...) FORMAT_CHECK(2);
|
|||
* @param format A printf() style format string
|
||||
* @return True if message was output, false otherwise
|
||||
*/
|
||||
bool Debug(const char* facility, int level, const char* format, ...) FORMAT_CHECK(3);
|
||||
YATE_API bool Debug(const char* facility, int level, const char* format, ...) FORMAT_CHECK(3);
|
||||
|
||||
/**
|
||||
* Outputs a debug string for a specific facility.
|
||||
|
@ -243,14 +290,14 @@ bool Debug(const char* facility, int level, const char* format, ...) FORMAT_CHEC
|
|||
* @param format A printf() style format string
|
||||
* @return True if message was output, false otherwise
|
||||
*/
|
||||
bool Debug(const DebugEnabler* local, int level, const char* format, ...) FORMAT_CHECK(3);
|
||||
YATE_API bool Debug(const DebugEnabler* local, int level, const char* format, ...) FORMAT_CHECK(3);
|
||||
|
||||
/**
|
||||
* Outputs a string to the debug console with formatting
|
||||
* @param facility Facility that outputs the message
|
||||
* @param format A printf() style format string
|
||||
*/
|
||||
void Output(const char* format, ...) FORMAT_CHECK(1);
|
||||
YATE_API void Output(const char* format, ...) FORMAT_CHECK(1);
|
||||
|
||||
/**
|
||||
* This class is used as an automatic variable that logs messages on creation
|
||||
|
@ -258,7 +305,7 @@ void Output(const char* format, ...) FORMAT_CHECK(1);
|
|||
* IMPORTANT: the name is not copied so it should best be static.
|
||||
* @short An object that logs messages on creation and destruction
|
||||
*/
|
||||
class Debugger
|
||||
class YATE_API Debugger
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -316,7 +363,7 @@ class String;
|
|||
/**
|
||||
* An object with just a public virtual destructor
|
||||
*/
|
||||
class GenObject
|
||||
class YATE_API GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -343,7 +390,7 @@ public:
|
|||
* A reference counted object.
|
||||
* Whenever using multiple inheritance you should inherit this class virtually.
|
||||
*/
|
||||
class RefObject : public GenObject
|
||||
class YATE_API RefObject : public GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -397,7 +444,7 @@ private:
|
|||
* Please don't use this class directly, use @ref RefPointer instead.
|
||||
* @short Internal helper class
|
||||
*/
|
||||
class RefPointerBase
|
||||
class YATE_API RefPointerBase
|
||||
{
|
||||
protected:
|
||||
/**
|
||||
|
@ -503,7 +550,7 @@ public:
|
|||
* A simple single-linked object list handling class
|
||||
* @short An object list class
|
||||
*/
|
||||
class ObjList : public GenObject
|
||||
class YATE_API ObjList : public GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -648,7 +695,7 @@ class StringMatchPrivate;
|
|||
* for fast inequality check.
|
||||
* @short A C-style string handling class
|
||||
*/
|
||||
class String : public GenObject
|
||||
class YATE_API String : public GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1184,17 +1231,17 @@ inline bool null(const char* str)
|
|||
/**
|
||||
* Concatenation operator for strings.
|
||||
*/
|
||||
String operator+(const String& s1, const String& s2);
|
||||
YATE_API String operator+(const String& s1, const String& s2);
|
||||
|
||||
/**
|
||||
* Concatenation operator for strings.
|
||||
*/
|
||||
String operator+(const String& s1, const char* s2);
|
||||
YATE_API String operator+(const String& s1, const char* s2);
|
||||
|
||||
/**
|
||||
* Concatenation operator for strings.
|
||||
*/
|
||||
String operator+(const char* s1, const String& s2);
|
||||
YATE_API String operator+(const char* s1, const String& s2);
|
||||
|
||||
/**
|
||||
* Prevent careless programmers from overwriting the string
|
||||
|
@ -1218,7 +1265,7 @@ inline const char *strcat(String& dest, const char* src)
|
|||
* @param defvalue Value to return if lookup and conversion fail
|
||||
* @param base Default base to use to convert to number
|
||||
*/
|
||||
int lookup(const char* str, const TokenDict* tokens, int defvalue = 0, int base = 0);
|
||||
YATE_API int lookup(const char* str, const TokenDict* tokens, int defvalue = 0, int base = 0);
|
||||
|
||||
/**
|
||||
* Utility function to look up a number in a token table
|
||||
|
@ -1226,14 +1273,14 @@ int lookup(const char* str, const TokenDict* tokens, int defvalue = 0, int base
|
|||
* @param tokens Pointer to the token table
|
||||
* @param defvalue Value to return if lookup fails
|
||||
*/
|
||||
const char* lookup(int value, const TokenDict* tokens, const char* defvalue = 0);
|
||||
YATE_API const char* lookup(int value, const TokenDict* tokens, const char* defvalue = 0);
|
||||
|
||||
|
||||
/**
|
||||
* A regular expression matching class.
|
||||
* @short A regexp matching class
|
||||
*/
|
||||
class Regexp : public String
|
||||
class YATE_API Regexp : public String
|
||||
{
|
||||
friend class String;
|
||||
public:
|
||||
|
@ -1324,7 +1371,7 @@ private:
|
|||
* A string class with a hashed string name
|
||||
* @short A named string class.
|
||||
*/
|
||||
class NamedString : public String
|
||||
class YATE_API NamedString : public String
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1362,7 +1409,7 @@ private:
|
|||
* The Time class holds a time moment with microsecond accuracy
|
||||
* @short A time holding class
|
||||
*/
|
||||
class Time
|
||||
class YATE_API Time
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1376,7 +1423,7 @@ public:
|
|||
* Constructs a Time object from a given time
|
||||
* @param usec Time in microseconds
|
||||
*/
|
||||
inline Time(unsigned long long usec)
|
||||
inline Time(u_int64_t usec)
|
||||
: m_time(usec)
|
||||
{ }
|
||||
|
||||
|
@ -1399,45 +1446,45 @@ public:
|
|||
* Get time in seconds
|
||||
* @return Time in seconds since the Epoch
|
||||
*/
|
||||
inline unsigned long sec() const
|
||||
{ return (m_time+500000) / 1000000; }
|
||||
inline u_int32_t sec() const
|
||||
{ return (u_int32_t)((m_time+500000) / 1000000); }
|
||||
|
||||
/**
|
||||
* Get time in milliseconds
|
||||
* @return Time in milliseconds since the Epoch
|
||||
*/
|
||||
inline unsigned long long msec() const
|
||||
inline u_int64_t msec() const
|
||||
{ return (m_time+500) / 1000; }
|
||||
|
||||
/**
|
||||
* Get time in microseconds
|
||||
* @return Time in microseconds since the Epoch
|
||||
*/
|
||||
inline unsigned long long usec() const
|
||||
inline u_int64_t usec() const
|
||||
{ return m_time; }
|
||||
|
||||
/**
|
||||
* Conversion to microseconds operator
|
||||
*/
|
||||
inline operator unsigned long long() const
|
||||
inline operator u_int64_t() const
|
||||
{ return m_time; }
|
||||
|
||||
/**
|
||||
* Assignment operator.
|
||||
*/
|
||||
inline Time& operator=(unsigned long long usec)
|
||||
inline Time& operator=(u_int64_t usec)
|
||||
{ m_time = usec; return *this; }
|
||||
|
||||
/**
|
||||
* Offsetting operator.
|
||||
*/
|
||||
inline Time& operator+=(long long delta)
|
||||
inline Time& operator+=(int64_t delta)
|
||||
{ m_time += delta; return *this; }
|
||||
|
||||
/**
|
||||
* Offsetting operator.
|
||||
*/
|
||||
inline Time& operator-=(long long delta)
|
||||
inline Time& operator-=(int64_t delta)
|
||||
{ m_time -= delta; return *this; }
|
||||
|
||||
/**
|
||||
|
@ -1452,30 +1499,30 @@ public:
|
|||
* @param tv Pointer to the timeval structure
|
||||
* @param usec Time to convert to timeval
|
||||
*/
|
||||
static void toTimeval(struct timeval* tv, unsigned long long usec);
|
||||
static void toTimeval(struct timeval* tv, u_int64_t usec);
|
||||
|
||||
/**
|
||||
* Convert time in a timeval struct to microseconds
|
||||
* @param tv Pointer to the timeval structure
|
||||
* @return Corresponding time in microseconds or zero if tv is NULL
|
||||
*/
|
||||
static unsigned long long fromTimeval(struct timeval* tv);
|
||||
static u_int64_t fromTimeval(struct timeval* tv);
|
||||
|
||||
/**
|
||||
* Get the current system time in microseconds
|
||||
* @return Time in microseconds since the Epoch
|
||||
*/
|
||||
static unsigned long long now();
|
||||
static u_int64_t now();
|
||||
|
||||
private:
|
||||
unsigned long long m_time;
|
||||
u_int64_t m_time;
|
||||
};
|
||||
|
||||
/**
|
||||
* A class to compute and check MD5 digests
|
||||
* @short A standard MD5 digest calculator
|
||||
*/
|
||||
class MD5
|
||||
class YATE_API MD5
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1564,7 +1611,7 @@ private:
|
|||
* This class holds a named list of named strings
|
||||
* @short A named string container class
|
||||
*/
|
||||
class NamedList : public String
|
||||
class YATE_API NamedList : public String
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1652,7 +1699,7 @@ private:
|
|||
* A class for parsing and quickly accessing INI style configuration files
|
||||
* @short Configuration file handling
|
||||
*/
|
||||
class Configuration : public String
|
||||
class YATE_API Configuration : public String
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1809,7 +1856,7 @@ class MessageDispatcher;
|
|||
* This class holds the messages that are moved around in the engine.
|
||||
* @short A message container class
|
||||
*/
|
||||
class Message : public NamedList
|
||||
class YATE_API Message : public NamedList
|
||||
{
|
||||
friend class MessageDispatcher;
|
||||
public:
|
||||
|
@ -1920,7 +1967,7 @@ private:
|
|||
* and priority among other handlers.
|
||||
* @short A message handler
|
||||
*/
|
||||
class MessageHandler : public String
|
||||
class YATE_API MessageHandler : public String
|
||||
{
|
||||
friend class MessageDispatcher;
|
||||
public:
|
||||
|
@ -1959,7 +2006,7 @@ private:
|
|||
* A multiple message receiver to be invoked by a message relay
|
||||
* @short A multiple message receiver
|
||||
*/
|
||||
class MessageReceiver : public GenObject
|
||||
class YATE_API MessageReceiver : public GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -1975,7 +2022,7 @@ public:
|
|||
* A message handler that allows to relay several messages to a single receiver
|
||||
* @short A message handler relay
|
||||
*/
|
||||
class MessageRelay : public MessageHandler
|
||||
class YATE_API MessageRelay : public MessageHandler
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -2008,7 +2055,7 @@ class ThreadPrivate;
|
|||
* A simple mutual exclusion for locking access between threads
|
||||
* @short Mutex support
|
||||
*/
|
||||
class Mutex
|
||||
class YATE_API Mutex
|
||||
{
|
||||
friend class MutexPrivate;
|
||||
public:
|
||||
|
@ -2046,7 +2093,7 @@ public:
|
|||
* @param maxait Time in microseconds to wait for the mutex, -1 wait forever
|
||||
* @return True if successfully locked, false on failure
|
||||
*/
|
||||
bool lock(long long int maxwait = -1);
|
||||
bool lock(int64_t maxwait = -1);
|
||||
|
||||
/**
|
||||
* Unlock the mutex, does never wait
|
||||
|
@ -2065,7 +2112,7 @@ public:
|
|||
* @param maxait Time in microseconds to wait for the mutex, -1 wait forever
|
||||
* @return True if successfully locked and unlocked, false on failure
|
||||
*/
|
||||
bool check(long long int maxwait = -1);
|
||||
bool check(int64_t maxwait = -1);
|
||||
|
||||
/**
|
||||
* Check if this mutex is recursive or not
|
||||
|
@ -2095,7 +2142,7 @@ private:
|
|||
* creation and unlocks it on destruction - typically when exiting a block
|
||||
* @short Ephemeral mutex locking object
|
||||
*/
|
||||
class Lock
|
||||
class YATE_API Lock
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -2103,7 +2150,7 @@ public:
|
|||
* @param mutex Reference to the mutex to lock
|
||||
* @param maxait Time in microseconds to wait for the mutex, -1 wait forever
|
||||
*/
|
||||
inline Lock(Mutex& mutex, long long int maxwait = -1)
|
||||
inline Lock(Mutex& mutex, int64_t maxwait = -1)
|
||||
{ m_mutex = mutex.lock(maxwait) ? &mutex : 0; }
|
||||
|
||||
/**
|
||||
|
@ -2111,7 +2158,7 @@ public:
|
|||
* @param mutex Pointer to the mutex to lock
|
||||
* @param maxait Time in microseconds to wait for the mutex, -1 wait forever
|
||||
*/
|
||||
inline Lock(Mutex* mutex, long long int maxwait = -1)
|
||||
inline Lock(Mutex* mutex, int64_t maxwait = -1)
|
||||
{ m_mutex = (mutex && mutex->lock(maxwait)) ? mutex : 0; }
|
||||
|
||||
/**
|
||||
|
@ -2151,7 +2198,7 @@ private:
|
|||
* different execution thread.
|
||||
* @short Encapsulates a runnable task
|
||||
*/
|
||||
class Runnable
|
||||
class YATE_API Runnable
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -2167,7 +2214,7 @@ public:
|
|||
* blocking one execution thread while allowing other to run.
|
||||
* @short Thread support class
|
||||
*/
|
||||
class Thread : public Runnable
|
||||
class YATE_API Thread : public Runnable
|
||||
{
|
||||
friend class ThreadPrivate;
|
||||
public:
|
||||
|
@ -2199,6 +2246,24 @@ public:
|
|||
*/
|
||||
static void yield();
|
||||
|
||||
/**
|
||||
* Sleep for a number of seconds
|
||||
* @param sec Number of seconds to sleep
|
||||
*/
|
||||
static void sleep(unsigned int sec);
|
||||
|
||||
/**
|
||||
* Sleep for a number of milliseconds
|
||||
* @param sec Number of milliseconds to sleep
|
||||
*/
|
||||
static void msleep(unsigned long msec);
|
||||
|
||||
/**
|
||||
* Sleep for a number of microseconds
|
||||
* @param sec Number of microseconds to sleep
|
||||
*/
|
||||
static void usleep(unsigned long usec);
|
||||
|
||||
/**
|
||||
* Get a pointer to the currently running thread
|
||||
* @return A pointer to the current thread or NULL for main thread
|
||||
|
@ -2255,7 +2320,7 @@ private:
|
|||
* messages that are typically dispatched by a separate thread.
|
||||
* @short A message dispatching hub
|
||||
*/
|
||||
class MessageDispatcher : public GenObject
|
||||
class YATE_API MessageDispatcher : public GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -2344,7 +2409,7 @@ private:
|
|||
*</pre>
|
||||
* @short Plugin support
|
||||
*/
|
||||
class Plugin : public GenObject
|
||||
class YATE_API Plugin : public GenObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -2390,7 +2455,7 @@ public:
|
|||
*
|
||||
* @short Engine globals
|
||||
*/
|
||||
class Engine
|
||||
class YATE_API Engine
|
||||
{
|
||||
friend class EnginePrivate;
|
||||
public:
|
||||
|
@ -2426,8 +2491,7 @@ public:
|
|||
/**
|
||||
* The configuration directory path
|
||||
*/
|
||||
inline static String configFile(const char* name)
|
||||
{ return s_cfgpath+"/"+name+s_cfgsuffix; }
|
||||
static String configFile(const char* name);
|
||||
|
||||
/**
|
||||
* The configuration directory path
|
||||
|
|
28
yatephone.h
28
yatephone.h
|
@ -134,7 +134,7 @@ struct TranslatorCaps {
|
|||
* This is just a holder for the list of media formats supported by Yate
|
||||
* @short A repository for media formats
|
||||
*/
|
||||
class FormatRepository
|
||||
class YATE_API FormatRepository
|
||||
{
|
||||
private:
|
||||
FormatRepository();
|
||||
|
@ -166,7 +166,7 @@ public:
|
|||
* The DataBlock holds a data buffer with no specific formatting.
|
||||
* @short A class that holds just a block of raw data
|
||||
*/
|
||||
class DataBlock : public GenObject
|
||||
class YATE_API DataBlock : public GenObject
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -299,7 +299,7 @@ private:
|
|||
/**
|
||||
* A generic data handling object
|
||||
*/
|
||||
class DataNode : public RefObject
|
||||
class YATE_API DataNode : public RefObject
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -385,7 +385,7 @@ protected:
|
|||
/**
|
||||
* A data consumer
|
||||
*/
|
||||
class DataConsumer : public DataNode
|
||||
class YATE_API DataConsumer : public DataNode
|
||||
{
|
||||
friend class DataSource;
|
||||
public:
|
||||
|
@ -433,7 +433,7 @@ private:
|
|||
/**
|
||||
* A data source
|
||||
*/
|
||||
class DataSource : public DataNode
|
||||
class YATE_API DataSource : public DataNode
|
||||
{
|
||||
friend class DataTranslator;
|
||||
public:
|
||||
|
@ -504,7 +504,7 @@ protected:
|
|||
/**
|
||||
* A data source with a thread of its own
|
||||
*/
|
||||
class ThreadedSource : public DataSource
|
||||
class YATE_API ThreadedSource : public DataSource
|
||||
{
|
||||
friend class ThreadedSourcePrivate;
|
||||
public:
|
||||
|
@ -564,7 +564,7 @@ private:
|
|||
* conversion of data from one type to another.
|
||||
* @short An unidirectional data translator (codec)
|
||||
*/
|
||||
class DataTranslator : public DataConsumer
|
||||
class YATE_API DataTranslator : public DataConsumer
|
||||
{
|
||||
friend class TranslatorFactory;
|
||||
public:
|
||||
|
@ -666,7 +666,7 @@ private:
|
|||
* conversion of data from one type to another
|
||||
* @short An unidirectional data translator (codec)
|
||||
*/
|
||||
class TranslatorFactory : public GenObject
|
||||
class YATE_API TranslatorFactory : public GenObject
|
||||
{
|
||||
public:
|
||||
TranslatorFactory()
|
||||
|
@ -695,7 +695,7 @@ public:
|
|||
* or bidirectional data transfers
|
||||
* @short A data transfer endpoint capable of sending and/or receiving data
|
||||
*/
|
||||
class DataEndpoint : public RefObject
|
||||
class YATE_API DataEndpoint : public RefObject
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -814,13 +814,13 @@ private:
|
|||
* Module is a descendent of Plugin specialized in implementing modules
|
||||
* @short A Plugin that implements a module
|
||||
*/
|
||||
class Module : public Plugin, public Mutex, public MessageReceiver, public DebugEnabler
|
||||
class YATE_API Module : public Plugin, public Mutex, public MessageReceiver, public DebugEnabler
|
||||
{
|
||||
private:
|
||||
bool m_init;
|
||||
String m_name;
|
||||
String m_type;
|
||||
unsigned long long m_changed;
|
||||
u_int64_t m_changed;
|
||||
static unsigned int s_delay;
|
||||
|
||||
public:
|
||||
|
@ -949,7 +949,7 @@ private:
|
|||
* A class that holds common channel related features (a.k.a. call leg)
|
||||
* @short An abstract communication channel
|
||||
*/
|
||||
class Channel : public RefObject, public DebugEnabler
|
||||
class YATE_API Channel : public RefObject, public DebugEnabler
|
||||
{
|
||||
friend class Driver;
|
||||
friend class Router;
|
||||
|
@ -1226,7 +1226,7 @@ private:
|
|||
* Driver is a module specialized for implementing channel drivers
|
||||
* @short A Channel driver module
|
||||
*/
|
||||
class Driver : public Module
|
||||
class YATE_API Driver : public Module
|
||||
{
|
||||
friend class Router;
|
||||
|
||||
|
@ -1352,7 +1352,7 @@ private:
|
|||
* Asynchronous call routing thread
|
||||
* @short Call routing thread
|
||||
*/
|
||||
class Router : public Thread
|
||||
class YATE_API Router : public Thread
|
||||
{
|
||||
private:
|
||||
Driver* m_driver;
|
||||
|
|
Loading…
Reference in New Issue