⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wcecompat.cxx

📁 这是国外的resip协议栈
💻 CXX
字号:
#include <windows.h>#include "WceCompat.hxx"extern "C" int errno=0;static char* messages[] = {/*0           */    "No error",/*EPERM       */    "Operation not permitted",/*ENOENT      */    "No such file or directory",/*ESRCH       */    "No such process",/*EINTR       */    "Interrupted system call",/*EIO         */    "I/O error",/*ENXIO       */    "No such device or address",/*E2BIG       */    "Arg list too long",/*ENOEXEC     */    "Exec format error",/*EBADF       */    "Bad file descriptor",/*ECHILD      */    "No child processes",/*EAGAIN      */    "Resource temporarily unavailable",/*ENOMEM      */    "Not enough memory",/*EACCES      */    "Permission denied",/*EFAULT      */    "Bad address",/*15          */    "Unknown error",						// ENOTBLK "Block device required"/*EBUSY       */    "Device or resource busy",/*EEXIST      */    "File exists",/*EXDEV       */    "Improper link",						//         "Cross-device link"/*ENODEV      */    "No such device",/*ENOTDIR     */    "Not a directory",/*EISDIR      */    "Is a directory",/*EINVAL      */    "Invalid argument",/*ENFILE      */    "Too many open files in system",/*EMFILE      */    "Too many open files",/*ENOTTY      */    "Inappropriate I/O control operation",	//         "Not a character device"/*26          */    "Unknown error",						// ETXTBSY "Text file busy"/*EFBIG       */    "File too large",/*ENOSPC      */    "No space left on device",/*ESPIPE      */    "Invalid seek",							//         "Illegal seek"/*EROFS       */    "Read-only file system",/*EMLINK      */    "Too many links",/*EPIPE       */    "Broken pipe",/*EDOM        */    "Domain error",							//         "Math arg out of domain of func"/*ERANGE      */    "Result too large",						//         "Math result out of range"/*35          */    "Unknown error",						// ENOMSG  "No message of desired type"/*EDEADLK     */    "Resource deadlock avoided",			// EIDRM   "Identifier removed"/*37          */    "Unknown error",						// ECHRNG  "Channel number out of range"/*ENAMETOOLONG*/    "Filename too long",/*ENOLCK      */    "No locks available",/*ENOSYS      */    "Function not implemented",/*ENOTEMPTY   */    "Directory not empty",/*EILSEQ      */    "Illegal byte sequence"};static const int NUM_MESSAGES = sizeof(messages)/sizeof(messages[0]);extern "C" char* __cdecl strerror(int errnum){	if (errnum < NUM_MESSAGES)		return messages[errnum];	return "Unknown error";}//.dcm. wincece lacks this function(actually no time.h)--could port from BSD// size_t __cdecl strftime (//         char *string,//         size_t maxsize,//         const char *format,//         const struct tm *timeptr//         )// {//         return (_Strftime(string, maxsize, format, timeptr, 0));// }  namespace resip{//	*******************************************************************************wchar_t* ToWString(const char *str){	if (!str) return 0;	int dCharacters = MultiByteToWideChar( CP_UTF8, 0, str,strlen(str)+1, 0,0);	wchar_t *wszStr = new wchar_t[dCharacters+1];          	MultiByteToWideChar( CP_UTF8, 0, str,-1, wszStr,dCharacters);	return wszStr;};char* FromWString(const wchar_t *wstr){	if (!wstr) return 0;	int dCharacters = WideCharToMultiByte( CP_UTF8, 0, wstr,lstrlen(wstr)+1, 0,0,0,0 );	char *str = new char[dCharacters +1];	WideCharToMultiByte( CP_UTF8, 0, wstr,-1, str,dCharacters ,0,0 );	return str;};void FreeWString(wchar_t* wstr){	if (wstr)		delete wstr;}void FreeString(char* str){	if (str)		delete str;}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -