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

📄 f-b1.html

📁 WinSock编程规范及应用
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<P ALIGN="JUSTIFY">};</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Structure used by kernel to pass protocol</P>
<P ALIGN="JUSTIFY"> * information in raw sockets.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">struct sockproto {</P>
<P ALIGN="JUSTIFY">        u_short sp_family;              /* address family */</P>
<P ALIGN="JUSTIFY">        u_short sp_protocol;            /* protocol */</P>
<P ALIGN="JUSTIFY">};</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Protocol families, same as address families for now.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define PF_UNSPEC       AF_UNSPEC</P>
<P ALIGN="JUSTIFY">#define PF_UNIX         AF_UNIX</P>
<P ALIGN="JUSTIFY">#define PF_INET         AF_INET</P>
<P ALIGN="JUSTIFY">#define PF_IMPLINK      AF_IMPLINK</P>
<P ALIGN="JUSTIFY">#define PF_PUP          AF_PUP</P>
<P ALIGN="JUSTIFY">#define PF_CHAOS        AF_CHAOS</P>
<P ALIGN="JUSTIFY">#define PF_NS           AF_NS</P>
<P ALIGN="JUSTIFY">#define PF_ISO          AF_ISO</P>
<P ALIGN="JUSTIFY">#define PF_OSI          AF_OSI</P>
<P ALIGN="JUSTIFY">#define PF_ECMA         AF_ECMA</P>
<P ALIGN="JUSTIFY">#define PF_DATAKIT      AF_DATAKIT</P>
<P ALIGN="JUSTIFY">#define PF_CCITT        AF_CCITT</P>
<P ALIGN="JUSTIFY">#define PF_SNA          AF_SNA</P>
<P ALIGN="JUSTIFY">#define PF_DECnet       AF_DECnet</P>
<P ALIGN="JUSTIFY">#define PF_DLI          AF_DLI</P>
<P ALIGN="JUSTIFY">#define PF_LAT          AF_LAT</P>
<P ALIGN="JUSTIFY">#define PF_HYLINK       AF_HYLINK</P>
<P ALIGN="JUSTIFY">#define PF_APPLETALK    AF_APPLETALK</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define PF_MAX          AF_MAX</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Structure used for manipulating linger option.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">struct  linger {</P>
<P ALIGN="JUSTIFY">        u_short l_onoff;                /* option on/off */</P>
<P ALIGN="JUSTIFY">        u_short l_linger;               /* linger time */</P>
<P ALIGN="JUSTIFY">};</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Level number for (get/set)sockopt() to apply to socket itself.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define SOL_SOCKET      0xffff          /* options for socket level */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Maximum queue length specifiable by listen.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define SOMAXCONN       5</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define MSG_OOB         0x1             /* process out-of-band data */</P>
<P ALIGN="JUSTIFY">#define MSG_PEEK        0x2             /* peek at incoming message */</P>
<P ALIGN="JUSTIFY">#define MSG_DONTROUTE   0x4             /* send without using routing tables */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define MSG_MAXIOVLEN   16</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Define constant based on rfc883, used by gethostbyxxxx() calls.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define MAXGETHOSTSTRUCT        1024</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Define flags to be used with the WSAAsyncSelect() call.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define FD_READ         0x01</P>
<P ALIGN="JUSTIFY">#define FD_WRITE        0x02</P>
<P ALIGN="JUSTIFY">#define FD_OOB          0x04</P>
<P ALIGN="JUSTIFY">#define FD_ACCEPT       0x08</P>
<P ALIGN="JUSTIFY">#define FD_CONNECT      0x10</P>
<P ALIGN="JUSTIFY">#define FD_CLOSE        0x20</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * All Windows Sockets error constants are biased by WSABASEERR from</P>
<P ALIGN="JUSTIFY"> * the "normal"</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define WSABASEERR              10000</P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Windows Sockets definitions of regular Microsoft C error constants</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define WSAEINTR                (WSABASEERR+4)</P>
<P ALIGN="JUSTIFY">#define WSAEBADF                (WSABASEERR+9)</P>
<P ALIGN="JUSTIFY">#define WSAEACCES               (WSABASEERR+13)</P>
<P ALIGN="JUSTIFY">#define WSAEFAULT               (WSABASEERR+14)</P>
<P ALIGN="JUSTIFY">#define WSAEINVAL               (WSABASEERR+22)</P>
<P ALIGN="JUSTIFY">#define WSAEMFILE               (WSABASEERR+24)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Windows Sockets definitions of regular Berkeley error constants</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define WSAEWOULDBLOCK          (WSABASEERR+35)</P>
<P ALIGN="JUSTIFY">#define WSAEINPROGRESS          (WSABASEERR+36)</P>
<P ALIGN="JUSTIFY">#define WSAEALREADY             (WSABASEERR+37)</P>
<P ALIGN="JUSTIFY">#define WSAENOTSOCK             (WSABASEERR+38)</P>
<P ALIGN="JUSTIFY">#define WSAEDESTADDRREQ         (WSABASEERR+39)</P>
<P ALIGN="JUSTIFY">#define WSAEMSGSIZE             (WSABASEERR+40)</P>
<P ALIGN="JUSTIFY">#define WSAEPROTOTYPE           (WSABASEERR+41)</P>
<P ALIGN="JUSTIFY">#define WSAENOPROTOOPT          (WSABASEERR+42)</P>
<P ALIGN="JUSTIFY">#define WSAEPROTONOSUPPORT      (WSABASEERR+43)</P>
<P ALIGN="JUSTIFY">#define WSAESOCKTNOSUPPORT      (WSABASEERR+44)</P>
<P ALIGN="JUSTIFY">#define WSAEOPNOTSUPP           (WSABASEERR+45)</P>
<P ALIGN="JUSTIFY">#define WSAEPFNOSUPPORT         (WSABASEERR+46)</P>
<P ALIGN="JUSTIFY">#define WSAEAFNOSUPPORT         (WSABASEERR+47)</P>
<P ALIGN="JUSTIFY">#define WSAEADDRINUSE           (WSABASEERR+48)</P>
<P ALIGN="JUSTIFY">#define WSAEADDRNOTAVAIL        (WSABASEERR+49)</P>
<P ALIGN="JUSTIFY">#define WSAENETDOWN             (WSABASEERR+50)</P>
<P ALIGN="JUSTIFY">#define WSAENETUNREACH          (WSABASEERR+51)</P>
<P ALIGN="JUSTIFY">#define WSAENETRESET            (WSABASEERR+52)</P>
<P ALIGN="JUSTIFY">#define WSAECONNABORTED         (WSABASEERR+53)</P>
<P ALIGN="JUSTIFY">#define WSAECONNRESET           (WSABASEERR+54)</P>
<P ALIGN="JUSTIFY">#define WSAENOBUFS              (WSABASEERR+55)</P>
<P ALIGN="JUSTIFY">#define WSAEISCONN              (WSABASEERR+56)</P>
<P ALIGN="JUSTIFY">#define WSAENOTCONN             (WSABASEERR+57)</P>
<P ALIGN="JUSTIFY">#define WSAESHUTDOWN            (WSABASEERR+58)</P>
<P ALIGN="JUSTIFY">#define WSAETOOMANYREFS         (WSABASEERR+59)</P>
<P ALIGN="JUSTIFY">#define WSAETIMEDOUT            (WSABASEERR+60)</P>
<P ALIGN="JUSTIFY">#define WSAECONNREFUSED         (WSABASEERR+61)</P>
<P ALIGN="JUSTIFY">#define WSAELOOP                (WSABASEERR+62)</P>
<P ALIGN="JUSTIFY">#define WSAENAMETOOLONG         (WSABASEERR+63)</P>
<P ALIGN="JUSTIFY">#define WSAEHOSTDOWN            (WSABASEERR+64)</P>
<P ALIGN="JUSTIFY">#define WSAEHOSTUNREACH         (WSABASEERR+65)</P>
<P ALIGN="JUSTIFY">#define WSAENOTEMPTY            (WSABASEERR+66)</P>
<P ALIGN="JUSTIFY">#define WSAEPROCLIM             (WSABASEERR+67)</P>
<P ALIGN="JUSTIFY">#define WSAEUSERS               (WSABASEERR+68)</P>
<P ALIGN="JUSTIFY">#define WSAEDQUOT               (WSABASEERR+69)</P>
<P ALIGN="JUSTIFY">#define WSAESTALE               (WSABASEERR+70)</P>
<P ALIGN="JUSTIFY">#define WSAEREMOTE              (WSABASEERR+71)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Extended Windows Sockets error constant definitions</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define WSASYSNOTREADY          (WSABASEERR+91)</P>
<P ALIGN="JUSTIFY">#define WSAVERNOTSUPPORTED      (WSABASEERR+92)</P>
<P ALIGN="JUSTIFY">#define WSANOTINITIALISED       (WSABASEERR+93)</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Error return codes from gethostbyname() and gethostbyaddr()</P>
<P ALIGN="JUSTIFY"> * (when using the resolver). Note that these errors are</P>
<P ALIGN="JUSTIFY"> * retrieved via WSAGetLastError() and must therefore follow</P>
<P ALIGN="JUSTIFY"> * the rules for avoiding clashes with error numbers from</P>
<P ALIGN="JUSTIFY"> * specific implementations or language run-time systems.</P>
<P ALIGN="JUSTIFY"> * For this reason the codes are based at WSABASEERR+1001.</P>
<P ALIGN="JUSTIFY"> * Note also that [WSA]NO_ADDRESS is defined only for</P>
<P ALIGN="JUSTIFY"> * compatibility purposes.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define h_errno         WSAGetLastError()</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Authoritative Answer: Host not found */</P>
<P ALIGN="JUSTIFY">#define WSAHOST_NOT_FOUND       (WSABASEERR+1001)</P>
<P ALIGN="JUSTIFY">#define HOST_NOT_FOUND          WSAHOST_NOT_FOUND</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Non-Authoritative: Host not found, or SERVERFAIL */</P>
<P ALIGN="JUSTIFY">#define WSATRY_AGAIN            (WSABASEERR+1002)</P>
<P ALIGN="JUSTIFY">#define TRY_AGAIN               WSATRY_AGAIN</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Non recoverable errors, FORMERR, REFUSED, NOTIMP */</P>
<P ALIGN="JUSTIFY">#define WSANO_RECOVERY          (WSABASEERR+1003)</P>
<P ALIGN="JUSTIFY">#define NO_RECOVERY             WSANO_RECOVERY</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Valid name, no data record of requested type */</P>
<P ALIGN="JUSTIFY">#define WSANO_DATA              (WSABASEERR+1004)</P>
<P ALIGN="JUSTIFY">#define NO_DATA                 WSANO_DATA</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* no address, look for MX record */</P>
<P ALIGN="JUSTIFY">#define WSANO_ADDRESS           WSANO_DATA</P>
<P ALIGN="JUSTIFY">#define NO_ADDRESS              WSANO_ADDRESS</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Windows Sockets errors redefined as regular Berkeley error constants</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define EWOULDBLOCK             WSAEWOULDBLOCK</P>
<P ALIGN="JUSTIFY">#define EINPROGRESS             WSAEINPROGRESS</P>
<P ALIGN="JUSTIFY">#define EALREADY                WSAEALREADY</P>
<P ALIGN="JUSTIFY">#define ENOTSOCK                WSAENOTSOCK</P>
<P ALIGN="JUSTIFY">#define EDESTADDRREQ            WSAEDESTADDRREQ</P>
<P ALIGN="JUSTIFY">#define EMSGSIZE                WSAEMSGSIZE</P>
<P ALIGN="JUSTIFY">#define EPROTOTYPE              WSAEPROTOTYPE</P>
<P ALIGN="JUSTIFY">#define ENOPROTOOPT             WSAENOPROTOOPT</P>
<P ALIGN="JUSTIFY">#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT</P>
<P ALIGN="JUSTIFY">#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT</P>
<P ALIGN="JUSTIFY">#define EOPNOTSUPP              WSAEOPNOTSUPP</P>
<P ALIGN="JUSTIFY">#define EPFNOSUPPORT            WSAEPFNOSUPPORT</P>
<P ALIGN="JUSTIFY">#define EAFNOSUPPORT            WSAEAFNOSUPPORT</P>
<P ALIGN="JUSTIFY">#define EADDRINUSE              WSAEADDRINUSE</P>
<P ALIGN="JUSTIFY">#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL</P>
<P ALIGN="JUSTIFY">#define ENETDOWN                WSAENETDOWN</P>
<P ALIGN="JUSTIFY">#define ENETUNREACH             WSAENETUNREACH</P>
<P ALIGN="JUSTIFY">#define ENETRESET               WSAENETRESET</P>
<P ALIGN="JUSTIFY">#define ECONNABORTED            WSAECONNABORTED</P>
<P ALIGN="JUSTIFY">#define ECONNRESET              WSAECONNRESET</P>
<P ALIGN="JUSTIFY">#define ENOBUFS                 WSAENOBUFS</P>
<P ALIGN="JUSTIFY">#define EISCONN                 WSAEISCONN</P>
<P ALIGN="JUSTIFY">#define ENOTCONN                WSAENOTCONN</P>
<P ALIGN="JUSTIFY">#define ESHUTDOWN               WSAESHUTDOWN</P>
<P ALIGN="JUSTIFY">#define ETOOMANYREFS            WSAETOOMANYREFS</P>
<P ALIGN="JUSTIFY">#define ETIMEDOUT               WSAETIMEDOUT</P>
<P ALIGN="JUSTIFY">#define ECONNREFUSED            WSAECONNREFUSED</P>
<P ALIGN="JUSTIFY">#define ELOOP                   WSAELOOP</P>
<P ALIGN="JUSTIFY">#define ENAMETOOLONG            WSAENAMETOOLONG</P>
<P ALIGN="JUSTIFY">#define EHOSTDOWN               WSAEHOSTDOWN</P>
<P ALIGN="JUSTIFY">#define EHOSTUNREACH            WSAEHOSTUNREACH</P>
<P ALIGN="JUSTIFY">#define ENOTEMPTY               WSAENOTEMPTY</P>
<P ALIGN="JUSTIFY">#define EPROCLIM                WSAEPROCLIM</P>
<P ALIGN="JUSTIFY">#define EUSERS                  WSAEUSERS</P>
<P ALIGN="JUSTIFY">#define EDQUOT                  WSAEDQUOT</P>
<P ALIGN="JUSTIFY">#define ESTALE                  WSAESTALE</P>
<P ALIGN="JUSTIFY">#define EREMOTE                 WSAEREMOTE</P>

⌨️ 快捷键说明

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