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

📄 ioqueue_dummy.c

📁 基于sip协议的网络电话源码
💻 C
字号:
/* $Id: ioqueue_dummy.c 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  */#include <pj/ioqueue.h>#include <pj/os.h>#include <pj/log.h>#include <pj/list.h>#include <pj/pool.h>#include <pj/string.h>#include <pj/assert.h>#include <pj/sock.h>#include <pj/errno.h>#define THIS_FILE   "ioqueue"#define PJ_IOQUEUE_IS_READ_OP(op)   \	((op & PJ_IOQUEUE_OP_READ)  || (op & PJ_IOQUEUE_OP_RECV_FROM))#define PJ_IOQUEUE_IS_WRITE_OP(op)  \	((op & PJ_IOQUEUE_OP_WRITE) || (op & PJ_IOQUEUE_OP_SEND_TO))#if PJ_HAS_TCP#  define PJ_IOQUEUE_IS_ACCEPT_OP(op)	(op & PJ_IOQUEUE_OP_ACCEPT)#  define PJ_IOQUEUE_IS_CONNECT_OP(op)	(op & PJ_IOQUEUE_OP_CONNECT)#else#  define PJ_IOQUEUE_IS_ACCEPT_OP(op)	0#  define PJ_IOQUEUE_IS_CONNECT_OP(op)	0#endif#if defined(PJ_DEBUG) && PJ_DEBUG != 0#  define VALIDATE_FD_SET		1#else#  define VALIDATE_FD_SET		0#endifstruct pj_ioqueue_key_t{    PJ_DECL_LIST_MEMBER(struct pj_ioqueue_key_t)    pj_sock_t		    fd;    pj_ioqueue_operation_e  op;    void		   *user_data;    pj_ioqueue_callback	    cb;};struct pj_ioqueue_t{};PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, 				       pj_size_t max_fd,				       int max_threads,				       pj_ioqueue_t **ptr_ioqueue){    return PJ_ENOTSUP;}PJ_DEF(pj_status_t) pj_ioqueue_destroy(pj_ioqueue_t *ioque){    return PJ_ENOTSUP;}PJ_DEF(pj_status_t) pj_ioqueue_set_lock( pj_ioqueue_t *ioque, 					 pj_lock_t *lock,					 pj_bool_t auto_delete ){    return PJ_ENOTSUP;}PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool,					      pj_ioqueue_t *ioque,					      pj_sock_t sock,					      void *user_data,					      const pj_ioqueue_callback *cb,					      pj_ioqueue_key_t **ptr_key){    return PJ_ENOTSUP;}PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_t *ioque,					   pj_ioqueue_key_t *key){    return PJ_ENOTSUP;}PJ_DEF(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ){    return NULL;}PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioque, const pj_time_val *timeout){    return -1;}PJ_DEF(pj_status_t) pj_ioqueue_read( pj_ioqueue_t *ioque,				     pj_ioqueue_key_t *key,				     void *buffer,				     pj_size_t buflen){    return -1;}PJ_DEF(pj_status_t) pj_ioqueue_recv( pj_ioqueue_t *ioque,				     pj_ioqueue_key_t *key,				     void *buffer,				     pj_size_t buflen,				     unsigned flags){    return -1;}PJ_DEF(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_t *ioque,					 pj_ioqueue_key_t *key,					 void *buffer,					 pj_size_t buflen,					 unsigned flags,					 pj_sockaddr_t *addr,					 int *addrlen){    return -1;}PJ_DEF(pj_status_t) pj_ioqueue_write( pj_ioqueue_t *ioque,				      pj_ioqueue_key_t *key,				      const void *data,				      pj_size_t datalen){    return -1;}PJ_DEF(pj_status_t) pj_ioqueue_send( pj_ioqueue_t *ioque,				     pj_ioqueue_key_t *key,				     const void *data,				     pj_size_t datalen,				     unsigned flags){    return -1;}PJ_DEF(pj_status_t) pj_ioqueue_sendto( pj_ioqueue_t *ioque,				       pj_ioqueue_key_t *key,				       const void *data,				       pj_size_t datalen,				       unsigned flags,				       const pj_sockaddr_t *addr,				       int addrlen){    return -1;}#if PJ_HAS_TCP/* * Initiate overlapped accept() operation. */PJ_DEF(pj_status_t) pj_ioqueue_accept( pj_ioqueue_t *ioqueue,				       pj_ioqueue_key_t *key,				       pj_sock_t *new_sock,				       pj_sockaddr_t *local,				       pj_sockaddr_t *remote,				      int *addrlen){    return -1;}/* * Initiate overlapped connect() operation (well, it's non-blocking actually, * since there's no overlapped version of connect()). */PJ_DEF(pj_status_t) pj_ioqueue_connect( pj_ioqueue_t *ioqueue,					pj_ioqueue_key_t *key,					const pj_sockaddr_t *addr,					int addrlen ){    return -1;}#endif	/* PJ_HAS_TCP */

⌨️ 快捷键说明

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