亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? errno.h

?? 基于sip協(xié)議的網(wǎng)絡電話源碼
?? H
字號:
/* $Id: errno.h 974 2007-02-19 01:13:53Z bennylp $ *//*  * Copyright (C)2003-2007 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_ERRNO_H__#define __PJ_ERRNO_H__/** * @file errno.h * @brief PJLIB Error Codes */#include <pj/types.h>#include <pj/compat/errno.h>PJ_BEGIN_DECL/** * @defgroup pj_errno Error Codes * @ingroup PJ * @{ * * In PJLIB, error/status codes from operating system are translated * into PJLIB error namespace, and stored in @a pj_status_t. All functions * that work with @a pj_status_t expect to get PJLIB error code instead * of native codes. * * @section pj_errno_retval Return Values * * All functions that returns @a pj_status_t returns @a PJ_SUCCESS if the * operation was completed successfully, or non-zero value to indicate  * error. If the error came from operating system, then the native error * code is translated/folded into PJLIB's error namespace by using * #PJ_STATUS_FROM_OS() macro. The function will do this automatically * before returning the error to caller. * * @section pj_errno_errmsg Error Message * * To get the error message corresponding to a particular code, use function * #pj_strerror(). This function expects error code in PJLIB error namespace, * not the native error code. Application can pass the value from the  * following sources to this function: *  - #pj_get_os_error() *  - #pj_get_netos_error() *  - any return value from function returning @a pj_status_t. * * Application MUST NOT pass native error code (such as error code from * functions like GetLastError() or errno) to PJLIB functions expecting * @a pj_status_t. * *//** * Guidelines on error message length. */#define PJ_ERR_MSG_SIZE  80/** * Get the last platform error/status, folded into pj_status_t. * @return	OS dependent error code, folded into pj_status_t. * @remark	This function gets errno, or calls GetLastError() function and *		convert the code into pj_status_t with PJ_STATUS_FROM_OS. Do *		not call this for socket functions! * @see	pj_get_netos_error() */PJ_DECL(pj_status_t) pj_get_os_error(void);/** * Set last error. * @param code	pj_status_t */PJ_DECL(void) pj_set_os_error(pj_status_t code);/** * Get the last error from socket operations. * @return	Last socket error, folded into pj_status_t. */PJ_DECL(pj_status_t) pj_get_netos_error(void);/** * Set error code. * @param code	pj_status_t. */PJ_DECL(void) pj_set_netos_error(pj_status_t code);/** * Get the error message for the specified error code. The message * string will be NULL terminated. * * @param statcode  The error code. * @param buf	    Buffer to hold the error message string. * @param bufsize   Size of the buffer. * * @return	    The error message as NULL terminated string, *                  wrapped with pj_str_t. */PJ_DECL(pj_str_t) pj_strerror( pj_status_t statcode, 			       char *buf, pj_size_t bufsize);/** * Register strerror message handler for the specified error space. * Application can register its own handler to supply the error message * for the specified error code range. This handler will be called * by #pj_strerror(). * * @param start_code	The starting error code where the handler should *			be called to retrieve the error message. * @param err_space	The size of error space. The error code range then *			will fall in start_code to start_code+err_space-1 *			range. * @param f		The handler to be called when #pj_strerror() is *			supplied with error code that falls into this range. * * @return		PJ_SUCCESS or the specified error code. The  *			registration may fail when the error space has been *			occupied by other handler, or when there are too many *			handlers registered to PJLIB. */PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code,					  pj_status_t err_space,					  pj_str_t (*f)(pj_status_t,char*,							pj_size_t));/** * @hideinitializer * Return platform os error code folded into pj_status_t code. This is * the macro that is used throughout the library for all PJLIB's functions * that returns error from operating system. Application may override * this macro to reduce size (e.g. by defining it to always return  * #PJ_EUNKNOWN). * * Note: *  This macro MUST return non-zero value regardless whether zero is *  passed as the argument. The reason is to protect logic error when *  the operating system doesn't report error codes properly. * * @param os_code   Platform OS error code. This value may be evaluated *		    more than once. * @return	    The platform os error code folded into pj_status_t. */#ifndef PJ_RETURN_OS_ERROR#   define PJ_RETURN_OS_ERROR(os_code)   (os_code ? \					    PJ_STATUS_FROM_OS(os_code) : -1)#endif/** * @hideinitializer * Fold a platform specific error into an pj_status_t code. * * @param e	The platform os error code. * @return	pj_status_t * @warning	Macro implementation; the syserr argument may be evaluated *		multiple times. */#define PJ_STATUS_FROM_OS(e) (e == 0 ? PJ_SUCCESS : e + PJ_ERRNO_START_SYS)/** * @hideinitializer * Fold an pj_status_t code back to the native platform defined error. * * @param e	The pj_status_t folded platform os error code. * @return	pj_os_err_type * @warning	macro implementation; the statcode argument may be evaluated *		multiple times.  If the statcode was not created by  *		pj_get_os_error or PJ_STATUS_FROM_OS, the results are undefined. */#define PJ_STATUS_TO_OS(e) (e == 0 ? PJ_SUCCESS : e - PJ_ERRNO_START_SYS)/** * @defgroup pj_errnum PJLIB's Own Error Codes * @ingroup pj_errno * @{ *//** * Use this macro to generate error message text for your error code, * so that they look uniformly as the rest of the libraries. * * @param code	The error code * @param msg	The error test. */#ifndef PJ_BUILD_ERR#   define PJ_BUILD_ERR(code,msg) { code, msg " (" #code ")" }#endif/** * @hideinitializer * Unknown error has been reported. */#define PJ_EUNKNOWN	    (PJ_ERRNO_START_STATUS + 1)	/* 70001 *//** * @hideinitializer * The operation is pending and will be completed later. */#define PJ_EPENDING	    (PJ_ERRNO_START_STATUS + 2)	/* 70002 *//** * @hideinitializer * Too many connecting sockets. */#define PJ_ETOOMANYCONN	    (PJ_ERRNO_START_STATUS + 3)	/* 70003 *//** * @hideinitializer * Invalid argument. */#define PJ_EINVAL	    (PJ_ERRNO_START_STATUS + 4)	/* 70004 *//** * @hideinitializer * Name too long (eg. hostname too long). */#define PJ_ENAMETOOLONG	    (PJ_ERRNO_START_STATUS + 5)	/* 70005 *//** * @hideinitializer * Not found. */#define PJ_ENOTFOUND	    (PJ_ERRNO_START_STATUS + 6)	/* 70006 *//** * @hideinitializer * Not enough memory. */#define PJ_ENOMEM	    (PJ_ERRNO_START_STATUS + 7)	/* 70007 *//** * @hideinitializer * Bug detected! */#define PJ_EBUG             (PJ_ERRNO_START_STATUS + 8)	/* 70008 *//** * @hideinitializer * Operation timed out. */#define PJ_ETIMEDOUT        (PJ_ERRNO_START_STATUS + 9)	/* 70009 *//** * @hideinitializer * Too many objects. */#define PJ_ETOOMANY         (PJ_ERRNO_START_STATUS + 10)/* 70010 *//** * @hideinitializer * Object is busy. */#define PJ_EBUSY            (PJ_ERRNO_START_STATUS + 11)/* 70011 *//** * @hideinitializer * The specified option is not supported. */#define PJ_ENOTSUP	    (PJ_ERRNO_START_STATUS + 12)/* 70012 *//** * @hideinitializer * Invalid operation. */#define PJ_EINVALIDOP	    (PJ_ERRNO_START_STATUS + 13)/* 70013 *//** * @hideinitializer * Operation is cancelled. */#define PJ_ECANCELLED	    (PJ_ERRNO_START_STATUS + 14)/* 70014 *//** * @hideinitializer * Object already exists. */#define PJ_EEXISTS          (PJ_ERRNO_START_STATUS + 15)/* 70015 *//** * @hideinitializer * End of file. */#define PJ_EEOF		    (PJ_ERRNO_START_STATUS + 16)/* 70016 *//** * @hideinitializer * Size is too big. */#define PJ_ETOOBIG	    (PJ_ERRNO_START_STATUS + 17)/* 70017 *//** * @hideinitializer * Error in gethostbyname(). This is a generic error returned when * gethostbyname() has returned an error. */#define PJ_ERESOLVE	    (PJ_ERRNO_START_STATUS + 18)/* 70018 *//** * @hideinitializer * Size is too small. */#define PJ_ETOOSMALL	    (PJ_ERRNO_START_STATUS + 19)/* 70019 *//** @} */   /* pj_errnum *//** @} */   /* pj_errno *//** * PJ_ERRNO_START is where PJLIB specific error values start. */#define PJ_ERRNO_START		20000/** * PJ_ERRNO_SPACE_SIZE is the maximum number of errors in one of  * the error/status range below. */#define PJ_ERRNO_SPACE_SIZE	50000/** * PJ_ERRNO_START_STATUS is where PJLIB specific status codes start. * Effectively the error in this class would be 70000 - 119000. */#define PJ_ERRNO_START_STATUS	(PJ_ERRNO_START + PJ_ERRNO_SPACE_SIZE)/** * PJ_ERRNO_START_SYS converts platform specific error codes into * pj_status_t values. * Effectively the error in this class would be 120000 - 169000. */#define PJ_ERRNO_START_SYS	(PJ_ERRNO_START_STATUS + PJ_ERRNO_SPACE_SIZE)/** * PJ_ERRNO_START_USER are reserved for applications that use error * codes along with PJLIB codes. * Effectively the error in this class would be 170000 - 219000. */#define PJ_ERRNO_START_USER	(PJ_ERRNO_START_SYS + PJ_ERRNO_SPACE_SIZE)/* * Below are list of error spaces that have been taken so far: *  - PJSIP_ERRNO_START		(PJ_ERRNO_START_USER) *  - PJMEDIA_ERRNO_START	(PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE) *  - PJSIP_SIMPLE_ERRNO_START	(PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*2) *  - PJLIB_UTIL_ERRNO_START	(PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*3) */PJ_END_DECL/* Internal */void pj_errno_clear_handlers(void);#endif	/* __PJ_ERRNO_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
自拍av一区二区三区| 久久精品二区亚洲w码| 欧美视频一区在线观看| 亚洲第一搞黄网站| 欧美一区二区三区在线观看| 青青草成人在线观看| 精品国产成人在线影院| 国产精品一区二区视频| 国产精品欧美极品| 色综合久久久久网| 午夜婷婷国产麻豆精品| 精品久久一二三区| 成人午夜短视频| 亚洲黄一区二区三区| 欧美一区二区视频在线观看2022| 国精产品一区一区三区mba视频| 国产人久久人人人人爽| 色综合色综合色综合| 天堂精品中文字幕在线| 久久久青草青青国产亚洲免观| 成人激情视频网站| 亚洲va欧美va国产va天堂影院| 9191成人精品久久| 国产精品一区二区无线| 亚洲一区免费在线观看| 精品国产免费人成在线观看| 成人动漫中文字幕| 日韩电影在线观看一区| 欧美激情综合在线| 欧美日韩在线播放一区| 国产乱理伦片在线观看夜一区| 亚洲欧美一区二区三区国产精品| 欧美精品vⅰdeose4hd| 国产成人在线视频免费播放| 亚洲综合在线五月| 欧美精品一区二区三区在线播放| 92国产精品观看| 男女性色大片免费观看一区二区 | 久久综合九色欧美综合狠狠| 99国产精品久| 蜜桃视频第一区免费观看| 国产精品福利av| 欧美成人一区二区| 色偷偷久久一区二区三区| 黄色小说综合网站| 亚洲一区二区三区中文字幕| 国产视频一区在线播放| 91精品欧美久久久久久动漫| 成人性生交大片免费看在线播放| 午夜av一区二区三区| 中文字幕av一区二区三区免费看| 欧美电影在哪看比较好| 成人h动漫精品一区二区| 免费在线看成人av| 亚洲精品国产精华液| 久久久91精品国产一区二区精品 | 在线不卡一区二区| 99精品久久99久久久久| 久久机这里只有精品| 亚洲国产欧美日韩另类综合| 欧美国产在线观看| 日韩三级中文字幕| 欧美在线小视频| 成人福利在线看| 极品少妇一区二区| 亚洲成人av一区二区三区| 国产精品久久久久精k8| 亚洲精品一区二区三区四区高清| 欧美日韩亚洲不卡| 91小视频在线免费看| 国产成人在线影院| 狠狠色狠狠色综合| 午夜日韩在线电影| 亚洲一区二区在线播放相泽| 亚洲色图色小说| 欧美国产日韩精品免费观看| 精品乱人伦一区二区三区| 91麻豆精品国产自产在线| 欧美在线一区二区三区| 91免费在线视频观看| 成人性生交大片免费| 国模一区二区三区白浆| 开心九九激情九九欧美日韩精美视频电影| 亚洲一区二区在线免费看| 亚洲欧洲av另类| 国产精品久久影院| 国产亚洲综合色| 2023国产精品自拍| 精品美女一区二区| 欧美电影免费观看完整版| 日韩一区二区精品在线观看| 欧美另类z0zxhd电影| 欧美日韩在线免费视频| 欧美三区在线视频| 欧美午夜不卡视频| 在线观看一区不卡| 在线这里只有精品| 91久久精品午夜一区二区| 色香蕉成人二区免费| 色噜噜偷拍精品综合在线| 99re这里只有精品视频首页| av亚洲精华国产精华精| eeuss鲁片一区二区三区在线观看| 懂色av一区二区三区蜜臀| 国产成人av一区二区三区在线观看| 国产乱人伦偷精品视频不卡| 国产精一品亚洲二区在线视频| 韩国精品一区二区| 国产一区视频导航| 国产乱人伦偷精品视频不卡| 高清国产一区二区| 成人av网址在线| 91色|porny| 欧美主播一区二区三区| 欧美日韩亚洲综合| 69精品人人人人| 欧美va亚洲va| 国产日韩v精品一区二区| 中文字幕免费不卡在线| 亚洲欧洲日本在线| 一区二区三区日本| 五月天激情综合| 蜜臀久久99精品久久久画质超高清 | 久久福利视频一区二区| 激情小说欧美图片| 丁香啪啪综合成人亚洲小说| gogo大胆日本视频一区| 欧美怡红院视频| 日韩精品一区二区三区在线播放| 精品国产乱码久久久久久影片| 国产婷婷精品av在线| 亚洲色图都市小说| 午夜精品久久一牛影视| 久久成人免费电影| 福利电影一区二区| 色88888久久久久久影院野外| 欧美日韩国产影片| 日韩美女视频一区二区在线观看| 久久婷婷国产综合国色天香| 国产精品久99| 亚洲国产乱码最新视频| 久久精品国产一区二区三| 国产91对白在线观看九色| 91麻豆swag| 日韩限制级电影在线观看| 国产日产欧美精品一区二区三区| 尤物av一区二区| 蜜桃视频免费观看一区| 成人黄页毛片网站| 欧美日韩国产一二三| 2021国产精品久久精品| 亚洲欧美偷拍卡通变态| 日韩成人一区二区三区在线观看| 国产精品亚洲成人| 欧美制服丝袜第一页| 亚洲精品在线免费观看视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲成人一区二区在线观看| 韩国欧美国产一区| 欧美亚洲一区二区在线| 精品对白一区国产伦| 亚洲免费色视频| 久久超碰97人人做人人爱| 91尤物视频在线观看| 日韩视频在线观看一区二区| 国产精品久久久久久久裸模 | 国产精一区二区三区| 欧美三级电影网| 久久精品亚洲精品国产欧美kt∨| 亚洲影视在线观看| 国产精一区二区三区| 欧美日韩国产精选| 久久九九久久九九| 手机精品视频在线观看| 成人精品视频一区二区三区| 91精品国产一区二区人妖| 中文字幕亚洲成人| 精品亚洲国内自在自线福利| 日本大香伊一区二区三区| 国产视频一区在线观看| 日本v片在线高清不卡在线观看| 丰满放荡岳乱妇91ww| 欧美一区二区三区系列电影| 亚洲少妇最新在线视频| 国产伦精品一区二区三区免费| 欧美日韩精品一区二区| 国产精品视频观看| 狠狠色综合播放一区二区| 欧美日韩精品专区| 亚洲三级免费观看| 国产精华液一区二区三区| 91麻豆精品国产自产在线| 亚洲精品福利视频网站| 岛国av在线一区| 欧美成人三级在线| 午夜精品免费在线观看| 色婷婷久久一区二区三区麻豆| 国产三级精品视频| 伦理电影国产精品| 欧美日韩国产精品自在自线|