mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-19 16:20:37 +00:00
Add support for ICE/STUN/TURN in res_rtp_asterisk and chan_sip.
Review: https://reviewboard.asterisk.org/r/1891/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
44
res/pjproject/pjlib/include/pj/compat/assert.h
Normal file
44
res/pjproject/pjlib/include/pj/compat/assert.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_ASSERT_H__
|
||||
#define __PJ_COMPAT_ASSERT_H__
|
||||
|
||||
/**
|
||||
* @file assert.h
|
||||
* @brief Provides assert() macro.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_ASSERT_H) && PJ_HAS_ASSERT_H != 0
|
||||
# include <assert.h>
|
||||
|
||||
#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0
|
||||
# define assert(expr) do { \
|
||||
if (!(expr)) \
|
||||
printk("!!ASSERTION FAILED: [%s:%d] \"" #expr "\"\n",\
|
||||
__FILE__, __LINE__); \
|
||||
} while (0)
|
||||
|
||||
#else
|
||||
# warning "assert() is not implemented"
|
||||
# define assert(expr)
|
||||
#endif
|
||||
|
||||
#endif /* __PJ_COMPAT_ASSERT_H__ */
|
||||
|
||||
57
res/pjproject/pjlib/include/pj/compat/cc_armcc.h
Normal file
57
res/pjproject/pjlib/include/pj/compat/cc_armcc.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CC_ARMCC_H__
|
||||
#define __PJ_COMPAT_CC_ARMCC_H__
|
||||
|
||||
/**
|
||||
* @file cc_armcc.h
|
||||
* @brief Describes ARMCC compiler specifics.
|
||||
*/
|
||||
|
||||
#ifndef __ARMCC__
|
||||
# error "This file is only for armcc!"
|
||||
#endif
|
||||
|
||||
#define PJ_CC_NAME "armcc"
|
||||
#define PJ_CC_VER_1 (__ARMCC_VERSION/100000)
|
||||
#define PJ_CC_VER_2 ((__ARMCC_VERSION%100000)/10000)
|
||||
#define PJ_CC_VER_3 (__ARMCC_VERSION%10000)
|
||||
|
||||
#ifdef __cplusplus
|
||||
# define PJ_INLINE_SPECIFIER inline
|
||||
#else
|
||||
# define PJ_INLINE_SPECIFIER static __inline
|
||||
#endif
|
||||
|
||||
#define PJ_THREAD_FUNC
|
||||
#define PJ_NORETURN
|
||||
#define PJ_ATTR_NORETURN __attribute__ ((noreturn))
|
||||
|
||||
#define PJ_HAS_INT64 1
|
||||
|
||||
typedef long long pj_int64_t;
|
||||
typedef unsigned long long pj_uint64_t;
|
||||
|
||||
#define PJ_INT64_FMT "L"
|
||||
|
||||
#define PJ_UNREACHED(x)
|
||||
|
||||
#endif /* __PJ_COMPAT_CC_ARMCC_H__ */
|
||||
|
||||
55
res/pjproject/pjlib/include/pj/compat/cc_codew.h
Normal file
55
res/pjproject/pjlib/include/pj/compat/cc_codew.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CC_CODEW_H__
|
||||
#define __PJ_COMPAT_CC_CODEW_H__
|
||||
|
||||
/**
|
||||
* @file cc_codew.h
|
||||
* @brief Describes MetroWerks Code Warrior compiler specifics.
|
||||
*/
|
||||
|
||||
#ifndef __MWERKS__
|
||||
# error "This file is only for Code Warrior!"
|
||||
#endif
|
||||
|
||||
#define PJ_CC_NAME "codewarrior"
|
||||
#define PJ_CC_VER_1 ((__MWERKS__ & 0xF000) >> 12)
|
||||
#define PJ_CC_VER_2 ((__MWERKS__ & 0x0F00) >> 8)
|
||||
#define PJ_CC_VER_3 ((__MWERKS__ & 0xFF))
|
||||
|
||||
|
||||
#define PJ_INLINE_SPECIFIER static inline
|
||||
#define PJ_THREAD_FUNC
|
||||
#define PJ_NORETURN
|
||||
#define PJ_ATTR_NORETURN
|
||||
|
||||
#define PJ_HAS_INT64 1
|
||||
|
||||
typedef long long pj_int64_t;
|
||||
typedef unsigned long long pj_uint64_t;
|
||||
|
||||
#define PJ_INT64(val) val##LL
|
||||
#define PJ_UINT64(val) val##LLU
|
||||
#define PJ_INT64_FMT "L"
|
||||
|
||||
#define PJ_UNREACHED(x)
|
||||
|
||||
#endif /* __PJ_COMPAT_CC_CODEW_H__ */
|
||||
|
||||
78
res/pjproject/pjlib/include/pj/compat/cc_gcc.h
Normal file
78
res/pjproject/pjlib/include/pj/compat/cc_gcc.h
Normal file
@@ -0,0 +1,78 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CC_GCC_H__
|
||||
#define __PJ_COMPAT_CC_GCC_H__
|
||||
|
||||
/**
|
||||
* @file cc_gcc.h
|
||||
* @brief Describes GCC compiler specifics.
|
||||
*/
|
||||
|
||||
#ifndef __GNUC__
|
||||
# error "This file is only for gcc!"
|
||||
#endif
|
||||
|
||||
#define PJ_CC_NAME "gcc"
|
||||
#define PJ_CC_VER_1 __GNUC__
|
||||
#define PJ_CC_VER_2 __GNUC_MINOR__
|
||||
|
||||
/* __GNUC_PATCHLEVEL__ doesn't exist in gcc-2.9x.x */
|
||||
#ifdef __GNUC_PATCHLEVEL__
|
||||
# define PJ_CC_VER_3 __GNUC_PATCHLEVEL__
|
||||
#else
|
||||
# define PJ_CC_VER_3 0
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#define PJ_THREAD_FUNC
|
||||
#define PJ_NORETURN
|
||||
|
||||
#define PJ_HAS_INT64 1
|
||||
|
||||
#ifdef __STRICT_ANSI__
|
||||
#include <inttypes.h>
|
||||
typedef int64_t pj_int64_t;
|
||||
typedef uint64_t pj_uint64_t;
|
||||
#define PJ_INLINE_SPECIFIER static __inline
|
||||
#define PJ_ATTR_NORETURN
|
||||
#else
|
||||
typedef long long pj_int64_t;
|
||||
typedef unsigned long long pj_uint64_t;
|
||||
#define PJ_INLINE_SPECIFIER static inline
|
||||
#define PJ_ATTR_NORETURN __attribute__ ((noreturn))
|
||||
#endif
|
||||
|
||||
#define PJ_INT64(val) val##LL
|
||||
#define PJ_UINT64(val) val##LLU
|
||||
#define PJ_INT64_FMT "L"
|
||||
|
||||
|
||||
#ifdef __GLIBC__
|
||||
# define PJ_HAS_BZERO 1
|
||||
#endif
|
||||
|
||||
#define PJ_UNREACHED(x)
|
||||
|
||||
#define PJ_ALIGN_DATA(declaration, alignment) declaration __attribute__((aligned (alignment)))
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_CC_GCC_H__ */
|
||||
|
||||
54
res/pjproject/pjlib/include/pj/compat/cc_gcce.h
Normal file
54
res/pjproject/pjlib/include/pj/compat/cc_gcce.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CC_GCCE_H__
|
||||
#define __PJ_COMPAT_CC_GCCE_H__
|
||||
|
||||
/**
|
||||
* @file cc_gcce.h
|
||||
* @brief Describes GCCE compiler specifics.
|
||||
*/
|
||||
|
||||
#ifndef __GCCE__
|
||||
# error "This file is only for gcce!"
|
||||
#endif
|
||||
|
||||
#define PJ_CC_NAME "gcce"
|
||||
#define PJ_CC_VER_1 __GCCE__
|
||||
#define PJ_CC_VER_2 __GCCE_MINOR__
|
||||
#define PJ_CC_VER_3 __GCCE_PATCHLEVEL__
|
||||
|
||||
|
||||
#define PJ_INLINE_SPECIFIER static inline
|
||||
#define PJ_THREAD_FUNC
|
||||
#define PJ_NORETURN
|
||||
#define PJ_ATTR_NORETURN __attribute__ ((noreturn))
|
||||
|
||||
#define PJ_HAS_INT64 1
|
||||
|
||||
typedef long long pj_int64_t;
|
||||
typedef unsigned long long pj_uint64_t;
|
||||
|
||||
#define PJ_INT64(val) val##LL
|
||||
#define PJ_UINT64(val) val##LLU
|
||||
#define PJ_INT64_FMT "L"
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_CC_GCCE_H__ */
|
||||
|
||||
87
res/pjproject/pjlib/include/pj/compat/cc_msvc.h
Normal file
87
res/pjproject/pjlib/include/pj/compat/cc_msvc.h
Normal file
@@ -0,0 +1,87 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CC_MSVC_H__
|
||||
#define __PJ_COMPAT_CC_MSVC_H__
|
||||
|
||||
/**
|
||||
* @file cc_msvc.h
|
||||
* @brief Describes Microsoft Visual C compiler specifics.
|
||||
*/
|
||||
|
||||
#ifndef _MSC_VER
|
||||
# error "This header file is only for Visual C compiler!"
|
||||
#endif
|
||||
|
||||
#define PJ_CC_NAME "msvc"
|
||||
#define PJ_CC_VER_1 (_MSC_VER/100)
|
||||
#define PJ_CC_VER_2 (_MSC_VER%100)
|
||||
#define PJ_CC_VER_3 0
|
||||
|
||||
/* Disable CRT deprecation warnings. */
|
||||
#if PJ_CC_VER_1 >= 8 && !defined(_CRT_SECURE_NO_DEPRECATE)
|
||||
# define _CRT_SECURE_NO_DEPRECATE
|
||||
#endif
|
||||
#if PJ_CC_VER_1 >= 8 && !defined(_CRT_SECURE_NO_WARNINGS)
|
||||
# define _CRT_SECURE_NO_WARNINGS
|
||||
/* The above doesn't seem to work, at least on VS2005, so lets use
|
||||
* this construct as well.
|
||||
*/
|
||||
# pragma warning(disable: 4996)
|
||||
#endif
|
||||
|
||||
#pragma warning(disable: 4127) // conditional expression is constant
|
||||
#pragma warning(disable: 4611) // not wise to mix setjmp with C++
|
||||
#pragma warning(disable: 4514) // unref. inline function has been removed
|
||||
#ifdef NDEBUG
|
||||
# pragma warning(disable: 4702) // unreachable code
|
||||
# pragma warning(disable: 4710) // function is not inlined.
|
||||
# pragma warning(disable: 4711) // function selected for auto inline expansion
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
# define PJ_INLINE_SPECIFIER inline
|
||||
#else
|
||||
# define PJ_INLINE_SPECIFIER static __inline
|
||||
#endif
|
||||
|
||||
#define PJ_EXPORT_DECL_SPECIFIER __declspec(dllexport)
|
||||
#define PJ_EXPORT_DEF_SPECIFIER __declspec(dllexport)
|
||||
#define PJ_IMPORT_DECL_SPECIFIER __declspec(dllimport)
|
||||
|
||||
#define PJ_THREAD_FUNC
|
||||
#define PJ_NORETURN __declspec(noreturn)
|
||||
#define PJ_ATTR_NORETURN
|
||||
|
||||
#define PJ_HAS_INT64 1
|
||||
|
||||
typedef __int64 pj_int64_t;
|
||||
typedef unsigned __int64 pj_uint64_t;
|
||||
|
||||
#define PJ_INT64(val) val##i64
|
||||
#define PJ_UINT64(val) val##ui64
|
||||
#define PJ_INT64_FMT "I64"
|
||||
|
||||
#define PJ_UNREACHED(x)
|
||||
|
||||
#define PJ_ALIGN_DATA(declaration, alignment) __declspec(align(alignment)) declaration
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_CC_MSVC_H__ */
|
||||
|
||||
55
res/pjproject/pjlib/include/pj/compat/cc_mwcc.h
Normal file
55
res/pjproject/pjlib/include/pj/compat/cc_mwcc.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CC_MWCC_H__
|
||||
#define __PJ_COMPAT_CC_MWCC_H__
|
||||
|
||||
/**
|
||||
* @file cc_mwcc.h
|
||||
* @brief Describes MWCC compiler specifics.
|
||||
*/
|
||||
|
||||
#ifndef __CW32__
|
||||
# error "This file is only for mwcc!"
|
||||
#endif
|
||||
|
||||
#define PJ_CC_NAME "mwcc32sym"
|
||||
#define PJ_CC_VER_1 1
|
||||
#define PJ_CC_VER_2 0
|
||||
#define PJ_CC_VER_3 0
|
||||
|
||||
|
||||
#define PJ_INLINE_SPECIFIER static inline
|
||||
#define PJ_THREAD_FUNC
|
||||
#define PJ_NORETURN
|
||||
#define PJ_ATTR_NORETURN __attribute__ ((noreturn))
|
||||
|
||||
#define PJ_HAS_INT64 1
|
||||
|
||||
typedef long long pj_int64_t;
|
||||
typedef unsigned long long pj_uint64_t;
|
||||
|
||||
#define PJ_INT64(val) val##LL
|
||||
#define PJ_UINT64(val) val##LLU
|
||||
#define PJ_INT64_FMT "L"
|
||||
|
||||
#define PJ_UNREACHED(x)
|
||||
|
||||
#endif /* __PJ_COMPAT_CC_MWCC_H__ */
|
||||
|
||||
49
res/pjproject/pjlib/include/pj/compat/ctype.h
Normal file
49
res/pjproject/pjlib/include/pj/compat/ctype.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_CTYPE_H__
|
||||
#define __PJ_COMPAT_CTYPE_H__
|
||||
|
||||
/**
|
||||
* @file ctype.h
|
||||
* @brief Provides ctype function family.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_CTYPE_H) && PJ_HAS_CTYPE_H != 0
|
||||
# include <ctype.h>
|
||||
#else
|
||||
# define isalnum(c) (isalpha(c) || isdigit(c))
|
||||
# define isalpha(c) (islower(c) || isupper(c))
|
||||
# define isascii(c) (((unsigned char)(c))<=0x7f)
|
||||
# define isdigit(c) ((c)>='0' && (c)<='9')
|
||||
# define isspace(c) ((c)==' ' || (c)=='\t' ||\
|
||||
(c)=='\n' || (c)=='\r' || (c)=='\v')
|
||||
# define islower(c) ((c)>='a' && (c)<='z')
|
||||
# define isupper(c) ((c)>='A' && (c)<='Z')
|
||||
# define isxdigit(c) (isdigit(c) || (tolower(c)>='a'&&tolower(c)<='f'))
|
||||
# define tolower(c) (((c) >= 'A' && (c) <= 'Z') ? (c)+('a'-'A') : (c))
|
||||
# define toupper(c) (((c) >= 'a' && (c) <= 'z') ? (c)-('a'-'A') : (c))
|
||||
#endif
|
||||
|
||||
#ifndef isblank
|
||||
# define isblank(c) (c==' ' || c=='\t')
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_CTYPE_H__ */
|
||||
44
res/pjproject/pjlib/include/pj/compat/errno.h
Normal file
44
res/pjproject/pjlib/include/pj/compat/errno.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_ERRNO_H__
|
||||
#define __PJ_COMPAT_ERRNO_H__
|
||||
|
||||
#if defined(PJ_WIN32) && PJ_WIN32 != 0 || \
|
||||
defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0
|
||||
|
||||
typedef unsigned long pj_os_err_type;
|
||||
# define pj_get_native_os_error() GetLastError()
|
||||
# define pj_get_native_netos_error() WSAGetLastError()
|
||||
|
||||
#elif defined(PJ_HAS_ERRNO_VAR) && PJ_HAS_ERRNO_VAR!= 0
|
||||
|
||||
typedef int pj_os_err_type;
|
||||
# define pj_get_native_os_error() (errno)
|
||||
# define pj_get_native_netos_error() (errno)
|
||||
|
||||
#else
|
||||
|
||||
# error "Please define how to get errno for this platform here!"
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_ERRNO_H__ */
|
||||
|
||||
103
res/pjproject/pjlib/include/pj/compat/high_precision.h
Normal file
103
res/pjproject/pjlib/include/pj/compat/high_precision.h
Normal file
@@ -0,0 +1,103 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_HIGH_PRECISION_H__
|
||||
#define __PJ_COMPAT_HIGH_PRECISION_H__
|
||||
|
||||
|
||||
#if defined(PJ_HAS_FLOATING_POINT) && PJ_HAS_FLOATING_POINT != 0
|
||||
/*
|
||||
* The first choice for high precision math is to use double.
|
||||
*/
|
||||
# include <math.h>
|
||||
typedef double pj_highprec_t;
|
||||
|
||||
# define PJ_HIGHPREC_VALUE_IS_ZERO(a) (a==0)
|
||||
# define pj_highprec_mod(a,b) (a=fmod(a,b))
|
||||
|
||||
#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0
|
||||
|
||||
# include <asm/div64.h>
|
||||
|
||||
typedef pj_int64_t pj_highprec_t;
|
||||
|
||||
# define pj_highprec_div(a1,a2) do_div(a1,a2)
|
||||
# define pj_highprec_mod(a1,a2) (a1=do_mod(a1, a2))
|
||||
|
||||
PJ_INLINE(pj_int64_t) do_mod( pj_int64_t a1, pj_int64_t a2)
|
||||
{
|
||||
return do_div(a1,a2);
|
||||
}
|
||||
|
||||
|
||||
#elif defined(PJ_HAS_INT64) && PJ_HAS_INT64 != 0
|
||||
/*
|
||||
* Next choice is to use 64-bit arithmatics.
|
||||
*/
|
||||
typedef pj_int64_t pj_highprec_t;
|
||||
|
||||
#else
|
||||
# warning "High precision math is not available"
|
||||
|
||||
/*
|
||||
* Last, fallback to 32-bit arithmetics.
|
||||
*/
|
||||
typedef pj_int32_t pj_highprec_t;
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def pj_highprec_mul
|
||||
* pj_highprec_mul(a1, a2) - High Precision Multiplication
|
||||
* Multiply a1 and a2, and store the result in a1.
|
||||
*/
|
||||
#ifndef pj_highprec_mul
|
||||
# define pj_highprec_mul(a1,a2) (a1 = a1 * a2)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def pj_highprec_div
|
||||
* pj_highprec_div(a1, a2) - High Precision Division
|
||||
* Divide a2 from a1, and store the result in a1.
|
||||
*/
|
||||
#ifndef pj_highprec_div
|
||||
# define pj_highprec_div(a1,a2) (a1 = a1 / a2)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def pj_highprec_mod
|
||||
* pj_highprec_mod(a1, a2) - High Precision Modulus
|
||||
* Get the modulus a2 from a1, and store the result in a1.
|
||||
*/
|
||||
#ifndef pj_highprec_mod
|
||||
# define pj_highprec_mod(a1,a2) (a1 = a1 % a2)
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* @def PJ_HIGHPREC_VALUE_IS_ZERO(a)
|
||||
* Test if the specified high precision value is zero.
|
||||
*/
|
||||
#ifndef PJ_HIGHPREC_VALUE_IS_ZERO
|
||||
# define PJ_HIGHPREC_VALUE_IS_ZERO(a) (a==0)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_HIGH_PRECISION_H__ */
|
||||
|
||||
36
res/pjproject/pjlib/include/pj/compat/m_alpha.h
Normal file
36
res/pjproject/pjlib/include/pj/compat/m_alpha.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_ALPHA_H__
|
||||
#define __PJ_COMPAT_M_ALPHA_H__
|
||||
|
||||
/**
|
||||
* @file m_alpha.h
|
||||
* @brief Describes Alpha processor family specifics.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "alpha"
|
||||
|
||||
#define PJ_HAS_PENTIUM 0
|
||||
#define PJ_IS_LITTLE_ENDIAN 1
|
||||
#define PJ_IS_BIG_ENDIAN 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_ALPHA_H__ */
|
||||
|
||||
39
res/pjproject/pjlib/include/pj/compat/m_armv4.h
Normal file
39
res/pjproject/pjlib/include/pj/compat/m_armv4.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_ARMV4_H__
|
||||
#define __PJ_COMPAT_M_ARMV4_H__
|
||||
|
||||
/**
|
||||
* @file m_armv4.h
|
||||
* @brief Describes ARM family processor specifics.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file covers PJ_M_ARMV4 etc.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "armv4"
|
||||
|
||||
#define PJ_HAS_PENTIUM 0
|
||||
#define PJ_IS_LITTLE_ENDIAN 1
|
||||
#define PJ_IS_BIG_ENDIAN 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_ARMV4_H__ */
|
||||
60
res/pjproject/pjlib/include/pj/compat/m_auto.h.in
Normal file
60
res/pjproject/pjlib/include/pj/compat/m_auto.h.in
Normal file
@@ -0,0 +1,60 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_AUTO_H__
|
||||
#define __PJ_COMPAT_M_AUTO_H__
|
||||
|
||||
/**
|
||||
* @file m_auto.h
|
||||
* @brief Automatically generated process definition file.
|
||||
*/
|
||||
|
||||
/* Machine name, filled in by autoconf script */
|
||||
#undef PJ_M_NAME
|
||||
|
||||
/* Endianness. It's reported on pjsip list on 09/02/13 that autoconf
|
||||
* endianness detection failed for universal build, so special case
|
||||
* for it here. Thanks Ruud Klaver for the fix.
|
||||
*/
|
||||
#ifdef PJ_DARWINOS
|
||||
# ifdef __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
/* Endianness, as detected by autoconf */
|
||||
# undef WORDS_BIGENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
# define PJ_IS_LITTLE_ENDIAN 0
|
||||
# define PJ_IS_BIG_ENDIAN 1
|
||||
#else
|
||||
# define PJ_IS_LITTLE_ENDIAN 1
|
||||
# define PJ_IS_BIG_ENDIAN 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Specify if floating point is present/desired */
|
||||
#undef PJ_HAS_FLOATING_POINT
|
||||
|
||||
/* Deprecated */
|
||||
#define PJ_HAS_PENTIUM 0
|
||||
|
||||
#endif /* __PJ_COMPAT_M_AUTO_H__ */
|
||||
|
||||
35
res/pjproject/pjlib/include/pj/compat/m_i386.h
Normal file
35
res/pjproject/pjlib/include/pj/compat/m_i386.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_i386_H__
|
||||
#define __PJ_COMPAT_M_i386_H__
|
||||
|
||||
/**
|
||||
* @file m_i386.h
|
||||
* @brief Describes Intel i386 family processor specifics.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "i386"
|
||||
|
||||
#define PJ_HAS_PENTIUM 1
|
||||
#define PJ_IS_LITTLE_ENDIAN 1
|
||||
#define PJ_IS_BIG_ENDIAN 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_i386_H__ */
|
||||
35
res/pjproject/pjlib/include/pj/compat/m_m68k.h
Normal file
35
res/pjproject/pjlib/include/pj/compat/m_m68k.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_M68K_H__
|
||||
#define __PJ_COMPAT_M_M68K_H__
|
||||
|
||||
/**
|
||||
* @file m_m68k.h
|
||||
* @brief Describes Motorola m68k family processor specifics.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "m68k"
|
||||
|
||||
#define PJ_HAS_PENTIUM 0
|
||||
#define PJ_IS_LITTLE_ENDIAN 1
|
||||
#define PJ_IS_BIG_ENDIAN 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_M68K_H__ */
|
||||
36
res/pjproject/pjlib/include/pj/compat/m_powerpc.h
Normal file
36
res/pjproject/pjlib/include/pj/compat/m_powerpc.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_POWERPC_H__
|
||||
#define __PJ_COMPAT_M_POWERPC_H__
|
||||
|
||||
/**
|
||||
* @file m_ppc.h
|
||||
* @brief Describes PowerPC family processor specifics.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "powerpc"
|
||||
|
||||
#define PJ_HAS_PENTIUM 0
|
||||
#define PJ_IS_LITTLE_ENDIAN 0
|
||||
#define PJ_IS_BIG_ENDIAN 1
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_POWERPC_H__ */
|
||||
|
||||
35
res/pjproject/pjlib/include/pj/compat/m_sparc.h
Normal file
35
res/pjproject/pjlib/include/pj/compat/m_sparc.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_SPARC_H__
|
||||
#define __PJ_COMPAT_M_SPARC_H__
|
||||
|
||||
/**
|
||||
* @file m_sparc.h
|
||||
* @brief Describes SPARC family processor specifics.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "sparc"
|
||||
|
||||
#define PJ_HAS_PENTIUM 0
|
||||
#define PJ_IS_LITTLE_ENDIAN 0
|
||||
#define PJ_IS_BIG_ENDIAN 1
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_SPARC_H__ */
|
||||
36
res/pjproject/pjlib/include/pj/compat/m_x86_64.h
Normal file
36
res/pjproject/pjlib/include/pj/compat/m_x86_64.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_M_x86_64_H__
|
||||
#define __PJ_COMPAT_M_x86_64_H__
|
||||
|
||||
/**
|
||||
* @file m_i386.h
|
||||
* @brief Describes 64bit x86 Intel/AMD family processor specifics.
|
||||
*/
|
||||
|
||||
#define PJ_M_NAME "x86_64"
|
||||
|
||||
#define PJ_HAS_PENTIUM 1
|
||||
#define PJ_IS_LITTLE_ENDIAN 1
|
||||
#define PJ_IS_BIG_ENDIAN 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_M_x86_64_H__ */
|
||||
|
||||
34
res/pjproject/pjlib/include/pj/compat/malloc.h
Normal file
34
res/pjproject/pjlib/include/pj/compat/malloc.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_MALLOC_H__
|
||||
#define __PJ_COMPAT_MALLOC_H__
|
||||
|
||||
/**
|
||||
* @file malloc.h
|
||||
* @brief Provides malloc() and free() functions.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_MALLOC_H) && PJ_HAS_MALLOC_H != 0
|
||||
# include <malloc.h>
|
||||
#elif defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H != 0
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#endif /* __PJ_COMPAT_MALLOC_H__ */
|
||||
212
res/pjproject/pjlib/include/pj/compat/os_auto.h.in
Normal file
212
res/pjproject/pjlib/include/pj/compat/os_auto.h.in
Normal file
@@ -0,0 +1,212 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_AUTO_H__
|
||||
#define __PJ_COMPAT_OS_AUTO_H__
|
||||
|
||||
/**
|
||||
* @file os_auto.h
|
||||
* @brief Describes operating system specifics (automatically detected by
|
||||
* autoconf)
|
||||
*/
|
||||
|
||||
/* Canonical OS name */
|
||||
#undef PJ_OS_NAME
|
||||
|
||||
/* Legacy macros */
|
||||
#undef PJ_WIN32
|
||||
#undef PJ_WIN32_WINNT
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#undef PJ_DARWINOS
|
||||
#undef PJ_LINUX
|
||||
#undef PJ_RTEMS
|
||||
#undef PJ_SUNOS
|
||||
|
||||
#if defined(PJ_WIN32_WINNT) && !defined(_WIN32_WINNT)
|
||||
# define _WIN32_WINNT PJ_WIN32_WINNT
|
||||
#endif
|
||||
|
||||
/* Headers availability */
|
||||
#undef PJ_HAS_ARPA_INET_H
|
||||
#undef PJ_HAS_ASSERT_H
|
||||
#undef PJ_HAS_CTYPE_H
|
||||
#undef PJ_HAS_ERRNO_H
|
||||
#undef PJ_HAS_FCNTL_H
|
||||
#undef PJ_HAS_LIMITS_H
|
||||
#undef PJ_HAS_LINUX_SOCKET_H
|
||||
#undef PJ_HAS_MALLOC_H
|
||||
#undef PJ_HAS_NETDB_H
|
||||
#undef PJ_HAS_NETINET_IN_SYSTM_H
|
||||
#undef PJ_HAS_NETINET_IN_H
|
||||
#undef PJ_HAS_NETINET_IP_H
|
||||
#undef PJ_HAS_NETINET_TCP_H
|
||||
#undef PJ_HAS_NET_IF_H
|
||||
#undef PJ_HAS_IFADDRS_H
|
||||
#undef PJ_HAS_SEMAPHORE_H
|
||||
#undef PJ_HAS_SETJMP_H
|
||||
#undef PJ_HAS_STDARG_H
|
||||
#undef PJ_HAS_STDDEF_H
|
||||
#undef PJ_HAS_STDIO_H
|
||||
#undef PJ_HAS_STDINT_H
|
||||
#undef PJ_HAS_STDLIB_H
|
||||
#undef PJ_HAS_STRING_H
|
||||
#undef PJ_HAS_SYS_IOCTL_H
|
||||
#undef PJ_HAS_SYS_SELECT_H
|
||||
#undef PJ_HAS_SYS_SOCKET_H
|
||||
#undef PJ_HAS_SYS_TIME_H
|
||||
#undef PJ_HAS_SYS_TIMEB_H
|
||||
#undef PJ_HAS_SYS_TYPES_H
|
||||
#undef PJ_HAS_SYS_FILIO_H
|
||||
#undef PJ_HAS_SYS_SOCKIO_H
|
||||
#undef PJ_HAS_SYS_UTSNAME_H
|
||||
#undef PJ_HAS_TIME_H
|
||||
#undef PJ_HAS_UNISTD_H
|
||||
|
||||
#undef PJ_HAS_MSWSOCK_H
|
||||
#undef PJ_HAS_WINSOCK_H
|
||||
#undef PJ_HAS_WINSOCK2_H
|
||||
#undef PJ_HAS_WS2TCPIP_H
|
||||
|
||||
#undef PJ_SOCK_HAS_INET_ATON
|
||||
#undef PJ_SOCK_HAS_INET_PTON
|
||||
#undef PJ_SOCK_HAS_INET_NTOP
|
||||
#undef PJ_SOCK_HAS_GETADDRINFO
|
||||
|
||||
/* On these OSes, semaphore feature depends on semaphore.h */
|
||||
#if defined(PJ_HAS_SEMAPHORE_H) && PJ_HAS_SEMAPHORE_H!=0
|
||||
# define PJ_HAS_SEMAPHORE 1
|
||||
#elif defined(PJ_WIN32) && PJ_WIN32!=0
|
||||
# define PJ_HAS_SEMAPHORE 1
|
||||
#else
|
||||
# define PJ_HAS_SEMAPHORE 0
|
||||
#endif
|
||||
|
||||
/* Do we have pthread_mutexattr_settype()? */
|
||||
#undef PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
|
||||
/* Does pthread_mutexattr_t has "recursive" member? */
|
||||
#undef PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#undef PJ_SOCKADDR_HAS_LEN
|
||||
|
||||
/* Does the OS have socklen_t? */
|
||||
#undef PJ_HAS_SOCKLEN_T
|
||||
|
||||
#if !defined(socklen_t) && (!defined(PJ_HAS_SOCKLEN_T) || PJ_HAS_SOCKLEN_T==0)
|
||||
# define PJ_HAS_SOCKLEN_T 1
|
||||
typedef int socklen_t;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#undef PJ_SELECT_NEEDS_NFDS
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#undef PJ_HAS_ERRNO_VAR
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#undef PJ_HAS_SO_ERROR
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#undef PJ_BLOCKING_ERROR_VAL
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#undef PJ_BLOCKING_CONNECT_ERROR_VAL
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
/* Do we need high resolution timer? */
|
||||
#undef PJ_HAS_HIGH_RES_TIMER
|
||||
|
||||
/* Is malloc() available? */
|
||||
#undef PJ_HAS_MALLOC
|
||||
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#endif
|
||||
|
||||
/* Unicode? */
|
||||
#undef PJ_NATIVE_STRING_IS_UNICODE
|
||||
|
||||
/* Pool alignment in bytes */
|
||||
#undef PJ_POOL_ALIGNMENT
|
||||
|
||||
/* The type of atomic variable value: */
|
||||
#undef PJ_ATOMIC_VALUE_TYPE
|
||||
|
||||
#if defined(PJ_DARWINOS) && PJ_DARWINOS!=0
|
||||
# include "TargetConditionals.h"
|
||||
# if TARGET_OS_IPHONE
|
||||
# include "Availability.h"
|
||||
/* Use CFHost API for pj_getaddrinfo() (see ticket #1246) */
|
||||
# define PJ_GETADDRINFO_USE_CFHOST 1
|
||||
/* Disable local host resolution in pj_gethostip() (see ticket #1342) */
|
||||
# define PJ_GETHOSTIP_DISABLE_LOCAL_RESOLUTION 1
|
||||
# ifdef __IPHONE_4_0
|
||||
/* Is multitasking support available? (see ticket #1107) */
|
||||
# define PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT 1
|
||||
/* Enable activesock TCP background mode support */
|
||||
# define PJ_ACTIVESOCK_TCP_IPHONE_OS_BG 1
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#undef PJ_EMULATE_RWMUTEX
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#undef PJ_THREAD_SET_STACK_SIZE
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#undef PJ_THREAD_ALLOCATE_STACK
|
||||
|
||||
/* SSL socket availability. */
|
||||
#ifndef PJ_HAS_SSL_SOCK
|
||||
#undef PJ_HAS_SSL_SOCK
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_AUTO_H__ */
|
||||
|
||||
145
res/pjproject/pjlib/include/pj/compat/os_darwinos.h
Normal file
145
res/pjproject/pjlib/include/pj/compat/os_darwinos.h
Normal file
@@ -0,0 +1,145 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_DARWINOS_H__
|
||||
#define __PJ_COMPAT_OS_DARWINOS_H__
|
||||
|
||||
/**
|
||||
* @file os_darwinos.h
|
||||
* @brief Describes Darwin/MacOSX operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "darwin"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 1
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 1
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 0
|
||||
#define PJ_HAS_NETDB_H 1
|
||||
#define PJ_HAS_NETINET_IN_H 1
|
||||
#define PJ_HAS_NETINET_TCP_H 1
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 1
|
||||
#define PJ_HAS_SYS_SELECT_H 1
|
||||
#define PJ_HAS_SYS_SOCKET_H 1
|
||||
#define PJ_HAS_SYS_TIME_H 1
|
||||
#define PJ_HAS_SYS_TIMEB_H 1
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 1
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 1
|
||||
|
||||
/* Has inet_aton() ?
|
||||
*/
|
||||
#define PJ_SOCK_HAS_INET_ATON 1
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 1
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL EWOULDBLOCK
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_HAS_MALLOC 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#endif
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE long
|
||||
|
||||
/*
|
||||
* Socket related
|
||||
*/
|
||||
typedef int socklen_t;
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 1
|
||||
|
||||
/*
|
||||
* gcc complains that it can not use precompiled header because
|
||||
* the value of FD_SETSIZE that we declare in pj/config.h is
|
||||
* different than the value in /usr/include/sys/types.h.
|
||||
*
|
||||
* This changes the default value for Darwin.
|
||||
*/
|
||||
#define PJ_IOQUEUE_MAX_HANDLES 1024
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 0
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
/* Oh well.. MacOS 10.2 doesn't have socklen_t, but 10.4 has! */
|
||||
#define PJ_HAS_SOCKLEN_T 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_DARWINOS_H__ */
|
||||
|
||||
129
res/pjproject/pjlib/include/pj/compat/os_linux.h
Normal file
129
res/pjproject/pjlib/include/pj/compat/os_linux.h
Normal file
@@ -0,0 +1,129 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_LINUX_H__
|
||||
#define __PJ_COMPAT_OS_LINUX_H__
|
||||
|
||||
/**
|
||||
* @file os_linux.h
|
||||
* @brief Describes Linux operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "linux"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 1
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 1
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 1
|
||||
#define PJ_HAS_NETDB_H 1
|
||||
#define PJ_HAS_NETINET_IN_H 1
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 1
|
||||
#define PJ_HAS_SYS_SELECT_H 1
|
||||
#define PJ_HAS_SYS_SOCKET_H 1
|
||||
#define PJ_HAS_SYS_TIME_H 1
|
||||
#define PJ_HAS_SYS_TIMEB_H 1
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 1
|
||||
#define PJ_HAS_SEMAPHORE_H 1
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 1
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 1
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 1
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL EAGAIN
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_HAS_MALLOC 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#endif
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE long
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 0
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
/* Linux has socklen_t */
|
||||
#define PJ_HAS_SOCKLEN_T 1
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_LINUX_H__ */
|
||||
|
||||
149
res/pjproject/pjlib/include/pj/compat/os_linux_kernel.h
Normal file
149
res/pjproject/pjlib/include/pj/compat/os_linux_kernel.h
Normal file
@@ -0,0 +1,149 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_LINUX_KERNEL_H__
|
||||
#define __PJ_COMPAT_OS_LINUX_KERNEL_H__
|
||||
|
||||
/**
|
||||
* @file os_linux.h
|
||||
* @brief Describes Linux operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "linux-module"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 0
|
||||
#define PJ_HAS_ASSERT_H 0
|
||||
#define PJ_HAS_CTYPE_H 0
|
||||
#define PJ_HAS_ERRNO_H 0
|
||||
#define PJ_HAS_LINUX_SOCKET_H 1
|
||||
#define PJ_HAS_MALLOC_H 0
|
||||
#define PJ_HAS_NETDB_H 0
|
||||
#define PJ_HAS_NETINET_IN_H 0
|
||||
#define PJ_HAS_SETJMP_H 0
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 0
|
||||
#define PJ_HAS_STDIO_H 0
|
||||
#define PJ_HAS_STDLIB_H 0
|
||||
#define PJ_HAS_STRING_H 0
|
||||
#define PJ_HAS_SYS_IOCTL_H 0
|
||||
#define PJ_HAS_SYS_SELECT_H 0
|
||||
#define PJ_HAS_SYS_SOCKET_H 0
|
||||
#define PJ_HAS_SYS_TIME_H 0
|
||||
#define PJ_HAS_SYS_TIMEB_H 0
|
||||
#define PJ_HAS_SYS_TYPES_H 0
|
||||
#define PJ_HAS_TIME_H 0
|
||||
#define PJ_HAS_UNISTD_H 0
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 0
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 1
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
* (probably no for linux kernel)
|
||||
* If you answer no here, you'll need to tell pjlib how to get OS
|
||||
* error (a compile error will tell you exactly where)
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 0
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL EAGAIN
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS
|
||||
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Declare __FD_SETSIZE now before including <linux*>.
|
||||
*/
|
||||
#define __FD_SETSIZE PJ_IOQUEUE_MAX_HANDLES
|
||||
|
||||
#define NULL ((void*)0)
|
||||
|
||||
#include <linux/module.h> /* Needed by all modules */
|
||||
#include <linux/kernel.h> /* Needed for KERN_INFO */
|
||||
|
||||
#define __PJ_EXPORT_SYMBOL(a) EXPORT_SYMBOL(a);
|
||||
|
||||
/*
|
||||
* Override features.
|
||||
*/
|
||||
#define PJ_HAS_FLOATING_POINT 0
|
||||
#define PJ_HAS_MALLOC 0
|
||||
#define PJ_HAS_SEMAPHORE 0
|
||||
#define PJ_HAS_EVENT_OBJ 0
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#endif
|
||||
#define PJ_TERM_HAS_COLOR 0
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE int
|
||||
#define PJ_THREAD_DESC_SIZE 128
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 0
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_LINUX_KERNEL_H__ */
|
||||
|
||||
119
res/pjproject/pjlib/include/pj/compat/os_palmos.h
Normal file
119
res/pjproject/pjlib/include/pj/compat/os_palmos.h
Normal file
@@ -0,0 +1,119 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_PALMOS_H__
|
||||
#define __PJ_COMPAT_OS_PALMOS_H__
|
||||
|
||||
/**
|
||||
* @file os_palmos.h
|
||||
* @brief Describes PalmOS operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "palmos"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 0
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 0
|
||||
#define PJ_HAS_MALLOC_H 1
|
||||
#define PJ_HAS_NETDB_H 0
|
||||
#define PJ_HAS_NETINET_IN_H 0
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 0
|
||||
#define PJ_HAS_SYS_SELECT_H 0
|
||||
#define PJ_HAS_SYS_SOCKET_H 0
|
||||
#define PJ_HAS_SYS_TIMEB_H 0
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 0
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 0
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 0
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 0
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL xxx
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL xxx
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 1
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_PALMOS_H__ */
|
||||
|
||||
139
res/pjproject/pjlib/include/pj/compat/os_rtems.h
Normal file
139
res/pjproject/pjlib/include/pj/compat/os_rtems.h
Normal file
@@ -0,0 +1,139 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* Thanks Zetron, Inc and Phil Torre <ptorre@zetron.com> for donating PJLIB
|
||||
* port to RTEMS.
|
||||
*/
|
||||
|
||||
#ifndef __PJ_COMPAT_OS_RTEMS_H__
|
||||
#define __PJ_COMPAT_OS_RTEMS_H__
|
||||
|
||||
/**
|
||||
* @file os_linux.h
|
||||
* @brief Describes Linux operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "rtems"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 1
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 1
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 1
|
||||
#define PJ_HAS_NETDB_H 1
|
||||
#define PJ_HAS_NETINET_IN_H 1
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 0
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 1
|
||||
#define PJ_HAS_SYS_SELECT_H 1
|
||||
#define PJ_HAS_SYS_SOCKET_H 1
|
||||
#define PJ_HAS_SYS_TIME_H 1
|
||||
#define PJ_HAS_SYS_TIMEB_H 1
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 1
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 1
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 1
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 1
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 1
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 1
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL EWOULDBLOCK
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_HAS_MALLOC 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#endif
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE int
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 1
|
||||
|
||||
/* Missing socklen_t */
|
||||
typedef int socklen_t;
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 1
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 1
|
||||
|
||||
/* RTEMS has socklen_t (does it? )*/
|
||||
#define PJ_HAS_SOCKLEN_T 1
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_RTEMS_H__ */
|
||||
|
||||
132
res/pjproject/pjlib/include/pj/compat/os_sunos.h
Normal file
132
res/pjproject/pjlib/include/pj/compat/os_sunos.h
Normal file
@@ -0,0 +1,132 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_SUNOS_H__
|
||||
#define __PJ_COMPAT_OS_SUNOS_H__
|
||||
|
||||
/**
|
||||
* @file os_sunos.h
|
||||
* @brief Describes SunOS/Solaris operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "sunos"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 1
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 1
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 1
|
||||
#define PJ_HAS_NETDB_H 1
|
||||
#define PJ_HAS_NETINET_IN_H 1
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 1
|
||||
#define PJ_HAS_SYS_SELECT_H 1
|
||||
#define PJ_HAS_SYS_SOCKET_H 1
|
||||
#define PJ_HAS_SYS_TIME_H 0
|
||||
#define PJ_HAS_SYS_TIMEB_H 1
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 1
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 0
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 1
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 0
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL EWOULDBLOCK
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_HAS_MALLOC 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 0
|
||||
#endif
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE long
|
||||
|
||||
/* Get BSD related identifers in Sun's include files */
|
||||
#define BSD_COMP
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 0
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
/* SunOS has socklen_t (does it? )*/
|
||||
#define PJ_HAS_SOCKLEN_T 1
|
||||
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_SUNOS_H__ */
|
||||
|
||||
167
res/pjproject/pjlib/include/pj/compat/os_symbian.h
Normal file
167
res/pjproject/pjlib/include/pj/compat/os_symbian.h
Normal file
@@ -0,0 +1,167 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_SYMBIAN_H__
|
||||
#define __PJ_COMPAT_OS_SYMBIAN_H__
|
||||
|
||||
/**
|
||||
* @file os_symbian.h
|
||||
* @brief Describes Symbian operating system specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "symbian"
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 1
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 1
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 0
|
||||
#define PJ_HAS_NETDB_H 1
|
||||
#define PJ_HAS_NETINET_IN_H 1
|
||||
#define PJ_HAS_NETINET_TCP_H 0
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_NO_SNPRINTF 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 1
|
||||
#define PJ_HAS_SYS_SELECT_H 0
|
||||
#define PJ_HAS_SYS_SOCKET_H 1
|
||||
#define PJ_HAS_SYS_TIME_H 1
|
||||
#define PJ_HAS_SYS_TIMEB_H 0
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 1
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 0
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 0
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
/* Is errno a good way to retrieve OS errors?
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 1
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 1
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() can not return immediate daata.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL EAGAIN
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS
|
||||
|
||||
/*
|
||||
* We don't want to use threads in Symbian
|
||||
*/
|
||||
#define PJ_HAS_THREADS 0
|
||||
|
||||
|
||||
/*
|
||||
* Declare __FD_SETSIZE now before including <linux*>.
|
||||
#define __FD_SETSIZE PJ_IOQUEUE_MAX_HANDLES
|
||||
*/
|
||||
|
||||
#ifndef NULL
|
||||
# define NULL 0
|
||||
#endif
|
||||
|
||||
/* Endianness */
|
||||
#ifndef PJ_IS_LITTLE_ENDIAN
|
||||
# define PJ_IS_LITTLE_ENDIAN 1
|
||||
# define PJ_IS_BIG_ENDIAN 0
|
||||
#endif
|
||||
|
||||
/* Doesn't seem to allow more than this */
|
||||
#define PJ_IOQUEUE_MAX_HANDLES 8
|
||||
|
||||
/*
|
||||
* Override features.
|
||||
*/
|
||||
#define PJ_HAS_FLOATING_POINT 0
|
||||
#define PJ_HAS_MALLOC 0
|
||||
#define PJ_HAS_SEMAPHORE 1
|
||||
#define PJ_HAS_EVENT_OBJ 0
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_OS_HAS_CHECK_STACK 0
|
||||
#define PJ_TERM_HAS_COLOR 0
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
#define PJ_NATIVE_ERR_POSITIVE 0
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE int
|
||||
#define PJ_THREAD_DESC_SIZE 128
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 1
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
/* Missing socklen_t */
|
||||
#define PJ_HAS_SOCKLEN_T 1
|
||||
typedef unsigned int socklen_t;
|
||||
|
||||
#ifndef __GCCE__
|
||||
#include <e32def.h>
|
||||
#endif
|
||||
|
||||
#define PJ_EXPORT_DECL_SPECIFIER IMPORT_C
|
||||
//#define PJ_EXPORT_DECL_SPECIFIER
|
||||
#define PJ_EXPORT_DEF_SPECIFIER EXPORT_C
|
||||
#define PJ_IMPORT_DECL_SPECIFIER IMPORT_C
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_SYMBIAN_H__ */
|
||||
|
||||
|
||||
|
||||
139
res/pjproject/pjlib/include/pj/compat/os_win32.h
Normal file
139
res/pjproject/pjlib/include/pj/compat/os_win32.h
Normal file
@@ -0,0 +1,139 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_WIN32_H__
|
||||
#define __PJ_COMPAT_OS_WIN32_H__
|
||||
|
||||
/**
|
||||
* @file os_win32.h
|
||||
* @brief Describes Win32 operating system family specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "win32"
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define PJ_WIN32_WINNT 0x0400
|
||||
#ifndef _WIN32_WINNT
|
||||
# define _WIN32_WINNT PJ_WIN32_WINNT
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 0
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 0 /* Must be zero, otherwise errno_test() fails. */
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 1
|
||||
#define PJ_HAS_NETDB_H 0
|
||||
#define PJ_HAS_NETINET_IN_H 0
|
||||
#define PJ_HAS_NETINET_TCP_H 0
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#undef PJ_HAS_STDINT_H
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 0
|
||||
#define PJ_HAS_SYS_SELECT_H 0
|
||||
#define PJ_HAS_SYS_SOCKET_H 0
|
||||
#define PJ_HAS_SYS_TIME_H 0
|
||||
#define PJ_HAS_SYS_TIMEB_H 1
|
||||
#define PJ_HAS_SYS_TYPES_H 1
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 0
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 1
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 1
|
||||
#define PJ_HAS_WS2TCPIP_H 1
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 0
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors? (No)
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 0
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 1
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() or send() can not return immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL WSAEWOULDBLOCK
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL WSAEWOULDBLOCK
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_HAS_MALLOC 1
|
||||
#ifndef PJ_OS_HAS_CHECK_STACK
|
||||
# define PJ_OS_HAS_CHECK_STACK 1
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
# define PJ_NATIVE_STRING_IS_UNICODE 1
|
||||
#else
|
||||
# define PJ_NATIVE_STRING_IS_UNICODE 0
|
||||
#endif
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE long
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 1
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_WIN32_H__ */
|
||||
|
||||
146
res/pjproject/pjlib/include/pj/compat/os_win32_wince.h
Normal file
146
res/pjproject/pjlib/include/pj/compat/os_win32_wince.h
Normal file
@@ -0,0 +1,146 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_OS_WIN32_WINCE_H__
|
||||
#define __PJ_COMPAT_OS_WIN32_WINCE_H__
|
||||
|
||||
/**
|
||||
* @file os_win32.h
|
||||
* @brief Describes Win32 operating system family specifics.
|
||||
*/
|
||||
|
||||
#define PJ_OS_NAME "win32-wince"
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define RPC_NO_WINDOWS_H
|
||||
//#define PJ_WIN32_WINNT 0x0400
|
||||
//#define _WIN32_WINNT PJ_WIN32_WINNT
|
||||
|
||||
#define PJ_HAS_ARPA_INET_H 0
|
||||
#define PJ_HAS_ASSERT_H 1
|
||||
#define PJ_HAS_CTYPE_H 1
|
||||
#define PJ_HAS_ERRNO_H 0 /* Must be zero, otherwise errno_test() fails. */
|
||||
#define PJ_HAS_LINUX_SOCKET_H 0
|
||||
#define PJ_HAS_MALLOC_H 1
|
||||
#define PJ_HAS_NETDB_H 0
|
||||
#define PJ_HAS_NETINET_IN_H 0
|
||||
#define PJ_HAS_NETINET_TCP_H 0
|
||||
#define PJ_HAS_SETJMP_H 1
|
||||
#define PJ_HAS_STDARG_H 1
|
||||
#define PJ_HAS_STDDEF_H 1
|
||||
#define PJ_HAS_STDIO_H 1
|
||||
#define PJ_HAS_STDLIB_H 1
|
||||
#define PJ_HAS_STRING_H 1
|
||||
#define PJ_HAS_SYS_IOCTL_H 0
|
||||
#define PJ_HAS_SYS_SELECT_H 0
|
||||
#define PJ_HAS_SYS_SOCKET_H 0
|
||||
#define PJ_HAS_SYS_TIME_H 0
|
||||
#define PJ_HAS_SYS_TIMEB_H 0 /* Doesn't have sys/timeb.h */
|
||||
#define PJ_HAS_SYS_TYPES_H 0 /* Doesn't have sys/types.h */
|
||||
#define PJ_HAS_TIME_H 1
|
||||
#define PJ_HAS_UNISTD_H 0
|
||||
|
||||
#define PJ_HAS_MSWSOCK_H 1
|
||||
#define PJ_HAS_WINSOCK_H 0
|
||||
#define PJ_HAS_WINSOCK2_H 1
|
||||
|
||||
#define PJ_SOCK_HAS_INET_ATON 0
|
||||
|
||||
/* Set 1 if native sockaddr_in has sin_len member.
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SOCKADDR_HAS_LEN 0
|
||||
|
||||
/* Is errno a good way to retrieve OS errors? (no)
|
||||
*/
|
||||
#define PJ_HAS_ERRNO_VAR 0
|
||||
|
||||
/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return
|
||||
* the status of non-blocking connect() operation.
|
||||
*/
|
||||
#define PJ_HAS_SO_ERROR 0
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket recv() or send() can not return immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_ERROR_VAL WSAEWOULDBLOCK
|
||||
|
||||
/* This value specifies the value set in errno by the OS when a non-blocking
|
||||
* socket connect() can not get connected immediately.
|
||||
*/
|
||||
#define PJ_BLOCKING_CONNECT_ERROR_VAL WSAEWOULDBLOCK
|
||||
|
||||
/**
|
||||
* If this macro is set, it tells select I/O Queue that select() needs to
|
||||
* be given correct value of nfds (i.e. largest fd + 1). This requires
|
||||
* select ioqueue to re-scan the descriptors on each registration and
|
||||
* unregistration.
|
||||
* If this macro is not set, then ioqueue will always give FD_SETSIZE for
|
||||
* nfds argument when calling select().
|
||||
*
|
||||
* Default: 0
|
||||
*/
|
||||
#define PJ_SELECT_NEEDS_NFDS 0
|
||||
|
||||
/* Endianness */
|
||||
#ifndef PJ_IS_LITTLE_ENDIAN
|
||||
# define PJ_IS_LITTLE_ENDIAN 1
|
||||
# define PJ_IS_BIG_ENDIAN 0
|
||||
#endif
|
||||
|
||||
/* Default threading is enabled, unless it's overridden. */
|
||||
#ifndef PJ_HAS_THREADS
|
||||
# define PJ_HAS_THREADS (1)
|
||||
#endif
|
||||
|
||||
#define PJ_HAS_HIGH_RES_TIMER 1
|
||||
#define PJ_HAS_MALLOC 1
|
||||
#define PJ_OS_HAS_CHECK_STACK 1
|
||||
|
||||
#define PJ_ATOMIC_VALUE_TYPE long
|
||||
|
||||
/* TlsAlloc() error value. */
|
||||
#define TLS_OUT_OF_INDEXES 0xFFFFFFFF
|
||||
|
||||
/* No console. */
|
||||
#define PJ_TERM_HAS_COLOR 0
|
||||
|
||||
/* No rdtsc */
|
||||
#define PJ_TIMESTAMP_USE_RDTSC 0
|
||||
|
||||
/* Native string is Unicode. */
|
||||
#define PJ_NATIVE_STRING_IS_UNICODE 1
|
||||
|
||||
/* If 1, use Read/Write mutex emulation for platforms that don't support it */
|
||||
#define PJ_EMULATE_RWMUTEX 1
|
||||
|
||||
/* If 1, pj_thread_create() should enforce the stack size when creating
|
||||
* threads.
|
||||
* Default: 0 (let OS decide the thread's stack size).
|
||||
*/
|
||||
#define PJ_THREAD_SET_STACK_SIZE 0
|
||||
|
||||
/* If 1, pj_thread_create() should allocate stack from the pool supplied.
|
||||
* Default: 0 (let OS allocate memory for thread's stack).
|
||||
*/
|
||||
#define PJ_THREAD_ALLOCATE_STACK 0
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_OS_WIN32_WINCE_H__ */
|
||||
|
||||
70
res/pjproject/pjlib/include/pj/compat/rand.h
Normal file
70
res/pjproject/pjlib/include/pj/compat/rand.h
Normal file
@@ -0,0 +1,70 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_RAND_H__
|
||||
#define __PJ_COMPAT_RAND_H__
|
||||
|
||||
/**
|
||||
* @file rand.h
|
||||
* @brief Provides platform_rand() and platform_srand() functions.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H != 0
|
||||
/*
|
||||
* Use stdlib based rand() and srand().
|
||||
*/
|
||||
# include <stdlib.h>
|
||||
# define platform_srand srand
|
||||
# if defined(RAND_MAX) && RAND_MAX <= 0xFFFF
|
||||
/*
|
||||
* When rand() is only 16 bit strong, double the strength
|
||||
* by calling it twice!
|
||||
*/
|
||||
PJ_INLINE(int) platform_rand(void)
|
||||
{
|
||||
return ((rand() & 0xFFFF) << 16) | (rand() & 0xFFFF);
|
||||
}
|
||||
# else
|
||||
# define platform_rand rand
|
||||
# endif
|
||||
|
||||
#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0
|
||||
/*
|
||||
* Linux kernel mode random number generator.
|
||||
*/
|
||||
# include <linux/random.h>
|
||||
# define platform_srand(seed)
|
||||
|
||||
PJ_INLINE(int) platform_rand(void)
|
||||
{
|
||||
int value;
|
||||
get_random_bytes((void*)&value, sizeof(value));
|
||||
return value;
|
||||
}
|
||||
|
||||
#else
|
||||
# warning "platform_rand() is not implemented"
|
||||
# define platform_rand() 1
|
||||
# define platform_srand(seed)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_RAND_H__ */
|
||||
|
||||
98
res/pjproject/pjlib/include/pj/compat/setjmp.h
Normal file
98
res/pjproject/pjlib/include/pj/compat/setjmp.h
Normal file
@@ -0,0 +1,98 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_SETJMP_H__
|
||||
#define __PJ_COMPAT_SETJMP_H__
|
||||
|
||||
/**
|
||||
* @file setjmp.h
|
||||
* @brief Provides setjmp.h functionality.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_SETJMP_H) && PJ_HAS_SETJMP_H != 0
|
||||
# include <setjmp.h>
|
||||
typedef jmp_buf pj_jmp_buf;
|
||||
# ifndef pj_setjmp
|
||||
# define pj_setjmp(buf) setjmp(buf)
|
||||
# endif
|
||||
# ifndef pj_longjmp
|
||||
# define pj_longjmp(buf,d) longjmp(buf,d)
|
||||
# endif
|
||||
|
||||
#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 && \
|
||||
defined(PJ_M_I386) && PJ_M_I386 != 0
|
||||
|
||||
/*
|
||||
* These are taken from uClibc.
|
||||
* Copyright (C) 2000-2003 Erik Andersen <andersen@uclibc.org>
|
||||
*/
|
||||
# if defined __USE_MISC || defined _ASM
|
||||
# define JB_BX 0
|
||||
# define JB_SI 1
|
||||
# define JB_DI 2
|
||||
# define JB_BP 3
|
||||
# define JB_SP 4
|
||||
# define JB_PC 5
|
||||
# define JB_SIZE 24
|
||||
# endif
|
||||
|
||||
# ifndef _ASM
|
||||
typedef int __jmp_buf[6];
|
||||
|
||||
/* A `sigset_t' has a bit for each signal. */
|
||||
# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
||||
typedef struct __sigset_t_tag
|
||||
{
|
||||
unsigned long int __val[_SIGSET_NWORDS];
|
||||
} __sigset_t;
|
||||
|
||||
/* Calling environment, plus possibly a saved signal mask. */
|
||||
typedef struct __jmp_buf_tag /* C++ doesn't like tagless structs. */
|
||||
{
|
||||
/* NOTE: The machine-dependent definitions of `__sigsetjmp'
|
||||
assume that a `jmp_buf' begins with a `__jmp_buf' and that
|
||||
`__mask_was_saved' follows it. Do not move these members
|
||||
or add others before it. */
|
||||
__jmp_buf __jmpbuf; /* Calling environment. */
|
||||
int __mask_was_saved; /* Saved the signal mask? */
|
||||
// we never saved the mask.
|
||||
__sigset_t __saved_mask; /* Saved signal mask. */
|
||||
} jmp_buf[1];
|
||||
|
||||
typedef jmp_buf sigjmp_buf;
|
||||
typedef jmp_buf pj_jmp_buf;
|
||||
|
||||
PJ_DECL(int) pj_setjmp(pj_jmp_buf env);
|
||||
PJ_DECL(void) pj_longjmp(pj_jmp_buf env, int val) __attribute__((noreturn));
|
||||
|
||||
# endif /* _ASM */
|
||||
|
||||
#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
|
||||
/* Symbian framework don't use setjmp/longjmp */
|
||||
|
||||
#else
|
||||
# warning "setjmp()/longjmp() is not implemented"
|
||||
typedef int pj_jmp_buf[1];
|
||||
# define pj_setjmp(buf) 0
|
||||
# define pj_longjmp(buf,d) 0
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_SETJMP_H__ */
|
||||
|
||||
32
res/pjproject/pjlib/include/pj/compat/size_t.h
Normal file
32
res/pjproject/pjlib/include/pj/compat/size_t.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_SIZE_T_H__
|
||||
#define __PJ_COMPAT_SIZE_T_H__
|
||||
|
||||
/**
|
||||
* @file size_t.h
|
||||
* @brief Provides size_t type.
|
||||
*/
|
||||
#if PJ_HAS_STDDEF_H
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
#endif /* __PJ_COMPAT_SIZE_T_H__ */
|
||||
|
||||
239
res/pjproject/pjlib/include/pj/compat/socket.h
Normal file
239
res/pjproject/pjlib/include/pj/compat/socket.h
Normal file
@@ -0,0 +1,239 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_SOCKET_H__
|
||||
#define __PJ_COMPAT_SOCKET_H__
|
||||
|
||||
/**
|
||||
* @file socket.h
|
||||
* @brief Provides all socket related functions,data types, error codes, etc.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H != 0
|
||||
# include <winsock2.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H != 0
|
||||
# include <winsock.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_WS2TCPIP_H) && PJ_HAS_WS2TCPIP_H != 0
|
||||
# include <ws2tcpip.h>
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* IPv6 for Visual Studio's
|
||||
*
|
||||
* = Visual Studio 6 =
|
||||
*
|
||||
* Visual Studio 6 does not ship with IPv6 support, so you MUST
|
||||
* download and install IPv6 Tehnology Preview (IPv6Kit) from:
|
||||
* http://msdn.microsoft.com/downloads/sdks/platform/tpipv6/ReadMe.asp
|
||||
* Then put IPv6Kit\inc in your Visual Studio include path.
|
||||
*
|
||||
* In addition, by default IPv6Kit does not want to install on
|
||||
* Windows 2000 SP4. Please see:
|
||||
* http://msdn.microsoft.com/downloads/sdks/platform/tpipv6/faq.asp
|
||||
* on how to install IPv6Kit on Win2K SP4.
|
||||
*
|
||||
*
|
||||
* = Visual Studio 2003, 2005 (including Express) =
|
||||
*
|
||||
* These VS uses Microsoft Platform SDK for Windows Server 2003 SP1, and
|
||||
* it has built-in IPv6 support.
|
||||
*/
|
||||
#if defined(_MSC_VER) && defined(PJ_HAS_IPV6) && PJ_HAS_IPV6!=0
|
||||
# ifndef s_addr
|
||||
# define s_addr S_un.S_addr
|
||||
# endif
|
||||
|
||||
# if !defined(IPPROTO_IPV6)
|
||||
/* Need to download and install IPv6Kit for this platform.
|
||||
* Please see the comments above about Visual Studio 6.
|
||||
*/
|
||||
# include <tpipv6.h>
|
||||
# endif
|
||||
|
||||
# define PJ_SOCK_HAS_GETADDRINFO 1
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
#if defined(PJ_HAS_SYS_TYPES_H) && PJ_HAS_SYS_TYPES_H != 0
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_SOCKET_H) && PJ_HAS_SYS_SOCKET_H != 0
|
||||
# include <sys/socket.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_LINUX_SOCKET_H) && PJ_HAS_LINUX_SOCKET_H != 0
|
||||
# include <linux/socket.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_SELECT_H) && PJ_HAS_SYS_SELECT_H != 0
|
||||
# include <sys/select.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_NETINET_IN_H) && PJ_HAS_NETINET_IN_H != 0
|
||||
# include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_NETINET_IN_SYSTM_H) && PJ_HAS_NETINET_IN_SYSTM_H != 0
|
||||
/* Required to include netinet/ip.h in FreeBSD 7.0 */
|
||||
# include <netinet/in_systm.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_NETINET_IP_H) && PJ_HAS_NETINET_IP_H != 0
|
||||
/* To pull in IPTOS_* constants */
|
||||
# include <netinet/ip.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_NETINET_TCP_H) && PJ_HAS_NETINET_TCP_H != 0
|
||||
/* To pull in TCP_NODELAY constants */
|
||||
# include <netinet/tcp.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_NET_IF_H) && PJ_HAS_NET_IF_H != 0
|
||||
/* For interface enumeration in ip_helper */
|
||||
# include <net/if.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_IFADDRS_H) && PJ_HAS_IFADDRS_H != 0
|
||||
/* Interface enum with getifaddrs() which works with IPv6 */
|
||||
# include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_ARPA_INET_H) && PJ_HAS_ARPA_INET_H != 0
|
||||
# include <arpa/inet.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_IOCTL_H) && PJ_HAS_SYS_IOCTL_H != 0
|
||||
# include <sys/ioctl.h> /* FBIONBIO */
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_ERRNO_H) && PJ_HAS_ERRNO_H != 0
|
||||
# include <errno.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_NETDB_H) && PJ_HAS_NETDB_H != 0
|
||||
# include <netdb.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_UNISTD_H) && PJ_HAS_UNISTD_H != 0
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_FILIO_H) && PJ_HAS_SYS_FILIO_H != 0
|
||||
# include <sys/filio.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_SOCKIO_H) && PJ_HAS_SYS_SOCKIO_H != 0
|
||||
# include <sys/sockio.h>
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Define common errors.
|
||||
*/
|
||||
#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \
|
||||
(defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0)
|
||||
# define OSERR_EWOULDBLOCK WSAEWOULDBLOCK
|
||||
# define OSERR_EINPROGRESS WSAEINPROGRESS
|
||||
# define OSERR_ECONNRESET WSAECONNRESET
|
||||
# define OSERR_ENOTCONN WSAENOTCONN
|
||||
#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
|
||||
# define OSERR_EWOULDBLOCK -1
|
||||
# define OSERR_EINPROGRESS -1
|
||||
# define OSERR_ECONNRESET -1
|
||||
# define OSERR_ENOTCONN -1
|
||||
#else
|
||||
# define OSERR_EWOULDBLOCK EWOULDBLOCK
|
||||
# define OSERR_EINPROGRESS EINPROGRESS
|
||||
# define OSERR_ECONNRESET ECONNRESET
|
||||
# define OSERR_ENOTCONN ENOTCONN
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* And undefine these..
|
||||
*/
|
||||
#undef s_addr
|
||||
#undef s6_addr
|
||||
|
||||
/*
|
||||
* Linux kernel specifics
|
||||
*/
|
||||
#if defined(PJ_LINUX_KERNEL)
|
||||
# include <linux/net.h>
|
||||
# include <asm/ioctls.h> /* FIONBIO */
|
||||
# include <linux/syscalls.h> /* sys_select() */
|
||||
# include <asm/uaccess.h> /* set/get_fs() */
|
||||
|
||||
typedef int socklen_t;
|
||||
# define getsockopt sys_getsockopt
|
||||
|
||||
/*
|
||||
* Wrapper for select() in Linux kernel.
|
||||
*/
|
||||
PJ_INLINE(int) select(int n, fd_set *inp, fd_set *outp, fd_set *exp,
|
||||
struct timeval *tvp)
|
||||
{
|
||||
int count;
|
||||
mm_segment_t oldfs = get_fs();
|
||||
set_fs(KERNEL_DS);
|
||||
count = sys_select(n, inp, outp, exp, tvp);
|
||||
set_fs(oldfs);
|
||||
return count;
|
||||
}
|
||||
#endif /* PJ_LINUX_KERNEL */
|
||||
|
||||
|
||||
/*
|
||||
* This will finally be obsoleted, since it should be declared in
|
||||
* os_auto.h
|
||||
*/
|
||||
#if !defined(PJ_HAS_SOCKLEN_T) || PJ_HAS_SOCKLEN_T==0
|
||||
typedef int socklen_t;
|
||||
#endif
|
||||
|
||||
/* Regarding sin_len member of sockaddr_in:
|
||||
* BSD systems (including MacOS X requires that the sin_len member of
|
||||
* sockaddr_in be set to sizeof(sockaddr_in), while other systems (Windows
|
||||
* and Linux included) do not.
|
||||
*
|
||||
* To maintain compatibility between systems, PJLIB will automatically
|
||||
* set this field before invoking native OS socket API, and it will
|
||||
* always reset the field to zero before returning pj_sockaddr_in to
|
||||
* application (such as in pj_getsockname() and pj_recvfrom()).
|
||||
*
|
||||
* Application MUST always set this field to zero.
|
||||
*
|
||||
* This way we can avoid hard to find problem such as when the socket
|
||||
* address is used as hash table key.
|
||||
*/
|
||||
#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0
|
||||
# define PJ_SOCKADDR_SET_LEN(addr,len) (((pj_addr_hdr*)(addr))->sa_zero_len=(len))
|
||||
# define PJ_SOCKADDR_RESET_LEN(addr) (((pj_addr_hdr*)(addr))->sa_zero_len=0)
|
||||
#else
|
||||
# define PJ_SOCKADDR_SET_LEN(addr,len)
|
||||
# define PJ_SOCKADDR_RESET_LEN(addr)
|
||||
#endif
|
||||
|
||||
#endif /* __PJ_COMPAT_SOCKET_H__ */
|
||||
|
||||
32
res/pjproject/pjlib/include/pj/compat/stdarg.h
Normal file
32
res/pjproject/pjlib/include/pj/compat/stdarg.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_STDARG_H__
|
||||
#define __PJ_COMPAT_STDARG_H__
|
||||
|
||||
/**
|
||||
* @file stdarg.h
|
||||
* @brief Provides stdarg functionality.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_STDARG_H) && PJ_HAS_STDARG_H != 0
|
||||
# include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#endif /* __PJ_COMPAT_STDARG_H__ */
|
||||
32
res/pjproject/pjlib/include/pj/compat/stdfileio.h
Normal file
32
res/pjproject/pjlib/include/pj/compat/stdfileio.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_STDFILEIO_H__
|
||||
#define __PJ_COMPAT_STDFILEIO_H__
|
||||
|
||||
/**
|
||||
* @file stdfileio.h
|
||||
* @brief Compatibility for ANSI file I/O like fputs, fflush, etc.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_STDIO_H) && PJ_HAS_STDIO_H != 0
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
|
||||
#endif /* __PJ_COMPAT_STDFILEIO_H__ */
|
||||
144
res/pjproject/pjlib/include/pj/compat/string.h
Normal file
144
res/pjproject/pjlib/include/pj/compat/string.h
Normal file
@@ -0,0 +1,144 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_STRING_H__
|
||||
#define __PJ_COMPAT_STRING_H__
|
||||
|
||||
/**
|
||||
* @file string.h
|
||||
* @brief Provides string manipulation functions found in ANSI string.h.
|
||||
*/
|
||||
|
||||
|
||||
#if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H != 0
|
||||
# include <string.h>
|
||||
#else
|
||||
|
||||
PJ_DECL(int) strcasecmp(const char *s1, const char *s2);
|
||||
PJ_DECL(int) strncasecmp(const char *s1, const char *s2, int len);
|
||||
|
||||
#endif
|
||||
|
||||
/* For sprintf family */
|
||||
#include <stdio.h>
|
||||
|
||||
/* On WinCE, string stuffs are declared in stdlib.h */
|
||||
#if defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H!=0
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# define strcasecmp _stricmp
|
||||
# define strncasecmp _strnicmp
|
||||
# define snprintf _snprintf
|
||||
# define vsnprintf _vsnprintf
|
||||
# define snwprintf _snwprintf
|
||||
# define wcsicmp _wcsicmp
|
||||
# define wcsnicmp _wcsnicmp
|
||||
#else
|
||||
# define stricmp strcasecmp
|
||||
# define strnicmp strncasecmp
|
||||
|
||||
# if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0
|
||||
# error "Implement Unicode string functions"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define pj_ansi_strcmp strcmp
|
||||
#define pj_ansi_strncmp strncmp
|
||||
#define pj_ansi_strlen strlen
|
||||
#define pj_ansi_strcpy strcpy
|
||||
#define pj_ansi_strncpy strncpy
|
||||
#define pj_ansi_strcat strcat
|
||||
#define pj_ansi_strstr strstr
|
||||
#define pj_ansi_strchr strchr
|
||||
#define pj_ansi_strcasecmp strcasecmp
|
||||
#define pj_ansi_stricmp strcasecmp
|
||||
#define pj_ansi_strncasecmp strncasecmp
|
||||
#define pj_ansi_strnicmp strncasecmp
|
||||
#define pj_ansi_sprintf sprintf
|
||||
|
||||
#if defined(PJ_HAS_NO_SNPRINTF) && PJ_HAS_NO_SNPRINTF != 0
|
||||
# include <pj/types.h>
|
||||
# include <pj/compat/stdarg.h>
|
||||
PJ_BEGIN_DECL
|
||||
PJ_DECL(int) snprintf(char*s1, pj_size_t len, const char*s2, ...);
|
||||
PJ_DECL(int) vsnprintf(char*s1, pj_size_t len, const char*s2, va_list arg);
|
||||
PJ_END_DECL
|
||||
#endif
|
||||
|
||||
#define pj_ansi_snprintf snprintf
|
||||
#define pj_ansi_vsprintf vsprintf
|
||||
#define pj_ansi_vsnprintf vsnprintf
|
||||
|
||||
#define pj_unicode_strcmp wcscmp
|
||||
#define pj_unicode_strncmp wcsncmp
|
||||
#define pj_unicode_strlen wcslen
|
||||
#define pj_unicode_strcpy wcscpy
|
||||
#define pj_unicode_strncpy wcsncpy
|
||||
#define pj_unicode_strcat wcscat
|
||||
#define pj_unicode_strstr wcsstr
|
||||
#define pj_unicode_strchr wcschr
|
||||
#define pj_unicode_strcasecmp wcsicmp
|
||||
#define pj_unicode_stricmp wcsicmp
|
||||
#define pj_unicode_strncasecmp wcsnicmp
|
||||
#define pj_unicode_strnicmp wcsnicmp
|
||||
#define pj_unicode_sprintf swprintf
|
||||
#define pj_unicode_snprintf snwprintf
|
||||
#define pj_unicode_vsprintf vswprintf
|
||||
#define pj_unicode_vsnprintf vsnwprintf
|
||||
|
||||
#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0
|
||||
# define pj_native_strcmp pj_unicode_strcmp
|
||||
# define pj_native_strncmp pj_unicode_strncmp
|
||||
# define pj_native_strlen pj_unicode_strlen
|
||||
# define pj_native_strcpy pj_unicode_strcpy
|
||||
# define pj_native_strncpy pj_unicode_strncpy
|
||||
# define pj_native_strcat pj_unicode_strcat
|
||||
# define pj_native_strstr pj_unicode_strstr
|
||||
# define pj_native_strchr pj_unicode_strchr
|
||||
# define pj_native_strcasecmp pj_unicode_strcasecmp
|
||||
# define pj_native_stricmp pj_unicode_stricmp
|
||||
# define pj_native_strncasecmp pj_unicode_strncasecmp
|
||||
# define pj_native_strnicmp pj_unicode_strnicmp
|
||||
# define pj_native_sprintf pj_unicode_sprintf
|
||||
# define pj_native_snprintf pj_unicode_snprintf
|
||||
# define pj_native_vsprintf pj_unicode_vsprintf
|
||||
# define pj_native_vsnprintf pj_unicode_vsnprintf
|
||||
#else
|
||||
# define pj_native_strcmp pj_ansi_strcmp
|
||||
# define pj_native_strncmp pj_ansi_strncmp
|
||||
# define pj_native_strlen pj_ansi_strlen
|
||||
# define pj_native_strcpy pj_ansi_strcpy
|
||||
# define pj_native_strncpy pj_ansi_strncpy
|
||||
# define pj_native_strcat pj_ansi_strcat
|
||||
# define pj_native_strstr pj_ansi_strstr
|
||||
# define pj_native_strchr pj_ansi_strchr
|
||||
# define pj_native_strcasecmp pj_ansi_strcasecmp
|
||||
# define pj_native_stricmp pj_ansi_stricmp
|
||||
# define pj_native_strncasecmp pj_ansi_strncasecmp
|
||||
# define pj_native_strnicmp pj_ansi_strnicmp
|
||||
# define pj_native_sprintf pj_ansi_sprintf
|
||||
# define pj_native_snprintf pj_ansi_snprintf
|
||||
# define pj_native_vsprintf pj_ansi_vsprintf
|
||||
# define pj_native_vsnprintf pj_ansi_vsnprintf
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_STRING_H__ */
|
||||
42
res/pjproject/pjlib/include/pj/compat/time.h
Normal file
42
res/pjproject/pjlib/include/pj/compat/time.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
|
||||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
|
||||
*
|
||||
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __PJ_COMPAT_TIME_H__
|
||||
#define __PJ_COMPAT_TIME_H__
|
||||
|
||||
/**
|
||||
* @file time.h
|
||||
* @brief Provides ftime() and localtime() etc functions.
|
||||
*/
|
||||
|
||||
#if defined(PJ_HAS_TIME_H) && PJ_HAS_TIME_H != 0
|
||||
# include <time.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_TIME_H) && PJ_HAS_SYS_TIME_H != 0
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#if defined(PJ_HAS_SYS_TIMEB_H) && PJ_HAS_SYS_TIMEB_H != 0
|
||||
# include <sys/timeb.h>
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __PJ_COMPAT_TIME_H__ */
|
||||
|
||||
Reference in New Issue
Block a user