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

📄 sock_if.h

📁 T-kernel Tcp/ip Protocol Stack Sample
💻 H
字号:
/**************************************************************************** * Copyright (C) 2001-2004 MITSUBISHI ELECTRIC CORPORATION and * RENESAS SOLUTIONS CORPORATION * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. ****************************************************************************//* * define socket system call number */#ifndef EMBEDDED_IF#define ENT_SOCKET            1#define ENT_BIND              2#define ENT_CONNECT           3#define ENT_ACCEPT            4#define ENT_LISTEN            5#define ENT_SEND              6#define ENT_RECV              7#define ENT_SENDTO            8#define ENT_RECVFROM          9#define ENT_SHUTDOWN         10#define ENT_READ             11#define ENT_WRITE            12#define ENT_CLOSE            13#define ENT_IOCTL            14#define ENT_GETSOCKOPT       15#define ENT_SETSOCKOPT       16#define ENT_GETPEERNAME      17#define ENT_GETSOCKNAME      18#define ENT_SET_HOSTENT      19#define ENT_DEL_HOSTENT      20#define ENT_GET_HOSTENT      21#define ENT_SET_SERVENT      22#define ENT_DEL_SERVENT      23#define ENT_GET_SERVENT      24#else   /* !EMBEDDED_IF */#define ENT_TCP_CRE_REP       1#define ENT_TCP_DEL_REP       2#define ENT_TCP_CRE_CEP       3#define ENT_TCP_DEL_CEP       4#define ENT_TCP_ACP_CEP       5#define ENT_TCP_CON_CEP       6#define ENT_TCP_SHT_CEP       7#define ENT_TCP_CLS_CEP       8#define ENT_TCP_SND_DAT       9#define ENT_TCP_RCV_DAT       10#define ENT_TCP_GET_BUF       11#define ENT_TCP_SND_BUF       12#define ENT_TCP_RCV_BUF       13#define ENT_TCP_REL_BUF       14#define ENT_TCP_SND_OOB       15#define ENT_TCP_RCV_OOB       16#define ENT_TCP_CAN_CEP       17#define ENT_TCP_SET_OPT       18#define ENT_TCP_GET_OPT       19#define ENT_UDP_CRE_CEP       20#define ENT_UDP_DEL_CEP       21#define ENT_UDP_SND_DAT       22#define ENT_UDP_RCV_DAT       23#define ENT_UDP_CAN_CEP       24#define ENT_UDP_SET_OPT       25#define ENT_UDP_GET_OPT       26#define ENT_CMD_THROUGH       27#endif  /* !EMBEDDED_IF *//* * define socket system call */#include <errno.h>#ifndef EMBEDDED_IF#define socket(a,b,c)		sock_scall(ENT_SOCKET,&errno,a,b,c)#define bind(a,b,c)		sock_scall(ENT_BIND,&errno,a,b,c)#define connect(a,b,c)		sock_scall(ENT_CONNECT,&errno,a,b,c)#define accept(a,b,c)		sock_scall(ENT_ACCEPT,&errno,a,b,c)#define listen(a,b)		sock_scall(ENT_LISTEN,&errno,a,b)#define send(a,b,c,d)		sock_scall(ENT_SEND,&errno,a,b,c,d)#define recv(a,b,c,d)		sock_scall(ENT_RECV,&errno,a,b,c,d)#define sendto(a,b,c,d,e,f)	sock_scall(ENT_SENDTO,&errno,a,b,c,d,e,f)#define recvfrom(a,b,c,d,e,f)	sock_scall(ENT_RECVFROM,&errno,a,b,c,d,e,f)#define shutdown(a,b)		sock_scall(ENT_SHUTDOWN,&errno,a,b)#define read(a,b,c)		sock_scall(ENT_READ,&errno,a,b,c)#define write(a,b,c)		sock_scall(ENT_WRITE,&errno,a,b,c)#define close(a)		sock_scall(ENT_CLOSE,&errno,a)#define ioctl(a,b,c)		sock_scall(ENT_IOCTL,&errno,a,b,c)#define getsockopt(a,b,c,d,e)	sock_scall(ENT_GETSOCKOPT,&errno,a,b,c,d,e)#define setsockopt(a,b,c,d,e)	sock_scall(ENT_SETSOCKOPT,&errno,a,b,c,d,e)#define getpeername(a,b,c)	sock_scall(ENT_GETPEERNAME,&errno,a,b,c)#define getsockname(a,b,c)	sock_scall(ENT_GETSOCKNAME,&errno,a,b,c)#define	set_hostent(a,b,c,d)	sock_scall(ENT_SET_HOSTENT,&errno,a,b,c,d)#define	del_hostent(a,b,c,d)	sock_scall(ENT_DEL_HOSTENT,&errno,a,b,c,d)#define	get_hostent(a,b,c,d,e,f) sock_scall(ENT_GET_HOSTENT,&errno,a,b,c,d,e,f)#define	set_servent(a,b,c,d,e)	sock_scall(ENT_SET_SERVENT,&errno,a,b,c,d,e)#define	del_servent(a,b,c,d,e)	sock_scall(ENT_DEL_SERVENT,&errno,a,b,c,d,e)#define	get_servent(a,b,c,d,e)	sock_scall(ENT_GET_SERVENT,&errno,a,b,c,d,e)#else   /* !EMBEDDED_IF */#define tcp_cre_rep(a,b)	sock_scall(ENT_TCP_CRE_REP,&errno,a,b)#define tcp_del_rep(a)		sock_scall(ENT_TCP_DEL_REP,&errno,a)#define tcp_cre_cep(a,b)	sock_scall(ENT_TCP_CRE_CEP,&errno,a,b)#define tcp_del_cep(a)		sock_scall(ENT_TCP_DEL_CEP,&errno,a)#define tcp_acp_cep(a,b,c)	sock_scall(ENT_TCP_ACP_CEP,&errno,a,b,c)#define tcp_con_cep(a,b,c,d)	sock_scall(ENT_TCP_CON_CEP,&errno,a,b,c,d)#define tcp_sht_cep(a)		sock_scall(ENT_TCP_SHT_CEP,&errno,a)#define tcp_cls_cep(a,b)	sock_scall(ENT_TCP_CLS_CEP,&errno,a,b)#define tcp_snd_dat(a,b,c,d)	sock_scall(ENT_TCP_SND_DAT,&errno,a,b,c,d)#define tcp_rcv_dat(a,b,c,d)	sock_scall(ENT_TCP_RCV_DAT,&errno,a,b,c,d)#define tcp_get_buf(a,b,c)	sock_scall(ENT_TCP_GET_BUF,&errno,a,b,c)#define tcp_snd_buf(a,b)	sock_scall(ENT_TCP_SND_BUF,&errno,a,b)#define tcp_rcv_buf(a,b,c)	sock_scall(ENT_TCP_RCV_BUF,&errno,a,b,c)#define tcp_rel_buf(a,b)	sock_scall(ENT_TCP_REL_BUF,&errno,a,b)#define tcp_snd_oob(a,b,c,d)	sock_scall(ENT_TCP_SND_OOB,&errno,a,b,c,d)#define tcp_rcv_oob(a,b,c)	sock_scall(ENT_TCP_RCV_OOB,&errno,a,b,c)#define tcp_can_cep(a,b)	sock_scall(ENT_TCP_CAN_CEP,&errno,a,b)#define tcp_set_opt(a,b,c,d)	sock_scall(ENT_TCP_SET_OPT,&errno,a,b,c,d)#define tcp_get_opt(a,b,c,d)	sock_scall(ENT_TCP_GET_OPT,&errno,a,b,c,d)#define udp_cre_cep(a,b)	sock_scall(ENT_UDP_CRE_CEP,&errno,a,b)#define udp_del_cep(a)		sock_scall(ENT_UDP_DEL_CEP,&errno,a)#define udp_snd_dat(a,b,c,d,e)	sock_scall(ENT_UDP_SND_DAT,&errno,a,b,c,d,e)#define udp_rcv_dat(a,b,c,d,e)	sock_scall(ENT_UDP_RCV_DAT,&errno,a,b,c,d,e)#define udp_can_cep(a,b)	sock_scall(ENT_UDP_CAN_CEP,&errno,a,b)#define udp_set_opt(a,b,c,d)	sock_scall(ENT_UDP_SET_OPT,&errno,a,b,c,d)#define udp_get_opt(a,b,c,d)	sock_scall(ENT_UDP_GET_OPT,&errno,a,b,c,d)#define cmd_through(a,b,c)	sock_scall(ENT_CMD_THROUGH,&errno,a,b,c)#endif  /* !EMBEDDED_IF */

⌨️ 快捷键说明

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