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

📄 socket.h

📁 Emacs 是可扩展的、可定制的、自我编制文档实时显示的编辑器。它提供真正的 LISP — 平滑地集成进编辑器 — 用于编写扩展并提供一个基于 X Window 系统的界面
💻 H
字号:
/* Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005,      2006, 2007, 2008  Free Software Foundation, Inc.This file is part of GNU Emacs.GNU Emacs is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 3, or (at your option)any later version.GNU Emacs is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Emacs; see the file COPYING.  If not, write tothe Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,Boston, MA 02110-1301, USA.  *//* Workable version of <sys/socket.h> based on winsock.h */#ifndef _SOCKET_H_#define _SOCKET_H_/* defeat the multiple include protection */#ifdef _WINSOCKAPI_#undef _WINSOCKAPI_#endif#ifdef _WINSOCK_H#undef _WINSOCK_H#endif/* avoid confusion with our version of select */#ifdef select#undef select#define MUST_REDEF_SELECT#endif/* avoid clashing with our version of FD_SET if already defined */#ifdef FD_SET#undef FD_SET#undef FD_CLR#undef FD_ISSET#undef FD_ZERO#endif/* avoid duplicate definition of timeval */#ifdef HAVE_TIMEVAL#define timeval ws_timeval#endif#include <winsock.h>/* redefine select to reference our version */#ifdef MUST_REDEF_SELECT#define select sys_select#undef MUST_REDEF_SELECT#endif/* revert to our version of FD_SET */#undef FD_SET#undef FD_CLR#undef FD_ISSET#undef FD_ZERO/* allow us to provide our own version of fd_set */#define fd_set ws_fd_set#include "w32.h"#ifdef HAVE_TIMEVAL#undef timeval#endif/* shadow functions where we provide our own wrapper */#define socket         sys_socket#define bind           sys_bind#define connect        sys_connect#define htons          sys_htons#define ntohs          sys_ntohs#define inet_addr      sys_inet_addr#define gethostname    sys_gethostname#define gethostbyname  sys_gethostbyname#define getpeername    sys_getpeername#define getservbyname  sys_getservbyname#define shutdown       sys_shutdown#define setsockopt     sys_setsockopt#define listen         sys_listen#define getsockname    sys_getsockname#define accept         sys_accept#define recvfrom       sys_recvfrom#define sendto         sys_sendtoint sys_socket(int af, int type, int protocol);int sys_bind (int s, const struct sockaddr *addr, int namelen);int sys_connect (int s, const struct sockaddr *addr, int namelen);u_short sys_htons (u_short hostshort);u_short sys_ntohs (u_short netshort);unsigned long sys_inet_addr (const char * cp);int sys_gethostname (char * name, int namelen);struct hostent * sys_gethostbyname (const char * name);struct servent * sys_getservbyname (const char * name, const char * proto);int sys_getpeername (int s, struct sockaddr *addr, int * namelen);int sys_shutdown (int socket, int how);int sys_setsockopt (int s, int level, int oname, const void * oval, int olen);int sys_listen (int s, int backlog);int sys_getsockname (int s, struct sockaddr * name, int * namelen);int sys_accept (int s, struct sockaddr *addr, int *addrlen);int sys_recvfrom (int s, char *buf, int len, int flags,		  struct sockaddr *from, int * fromlen);int sys_sendto (int s, const char * buf, int len, int flags,		const struct sockaddr *to, int tolen);/* In addition to wrappers for the winsock functions, we also provide   an fcntl function, for setting sockets to non-blocking mode.  */int fcntl (int s, int cmd, int options);#define F_SETFL   4#define O_NDELAY  04000/* we are providing a real h_errno variable */#undef h_errnoextern int h_errno;/* map winsock error codes to standard names */#define EWOULDBLOCK             WSAEWOULDBLOCK#define EINPROGRESS             WSAEINPROGRESS#define EALREADY                WSAEALREADY#define ENOTSOCK                WSAENOTSOCK#define EDESTADDRREQ            WSAEDESTADDRREQ#define EMSGSIZE                WSAEMSGSIZE#define EPROTOTYPE              WSAEPROTOTYPE#define ENOPROTOOPT             WSAENOPROTOOPT#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT#define EOPNOTSUPP              WSAEOPNOTSUPP#define EPFNOSUPPORT            WSAEPFNOSUPPORT#define EAFNOSUPPORT            WSAEAFNOSUPPORT#define EADDRINUSE              WSAEADDRINUSE#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL#define ENETDOWN                WSAENETDOWN#define ENETUNREACH             WSAENETUNREACH#define ENETRESET               WSAENETRESET#define ECONNABORTED            WSAECONNABORTED#define ECONNRESET              WSAECONNRESET#define ENOBUFS                 WSAENOBUFS#define EISCONN                 WSAEISCONN#define ENOTCONN                WSAENOTCONN#define ESHUTDOWN               WSAESHUTDOWN#define ETOOMANYREFS            WSAETOOMANYREFS#define ETIMEDOUT               WSAETIMEDOUT#define ECONNREFUSED            WSAECONNREFUSED#define ELOOP                   WSAELOOP/* #define ENAMETOOLONG            WSAENAMETOOLONG */#define EHOSTDOWN               WSAEHOSTDOWN#define EHOSTUNREACH            WSAEHOSTUNREACH/* #define ENOTEMPTY               WSAENOTEMPTY */#define EPROCLIM                WSAEPROCLIM#define EUSERS                  WSAEUSERS#define EDQUOT                  WSAEDQUOT#define ESTALE                  WSAESTALE#define EREMOTE                 WSAEREMOTE#endif /* _SOCKET_H_ *//* end of socket.h *//* arch-tag: e3b8b91c-aaa0-4bc4-be57-a85a1dd247b4   (do not change this comment) */

⌨️ 快捷键说明

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