Winsock定数

Last-modified: 2006-12-11 (月) 22:39:06

(^-^ Address Family


普通はAF_INETだけ使ってればよい


AF_UNSPEC (0) - unspecified
AF_UNIX (1) - local to host (pipes, portals)
AF_INET (2) - internetwork: UDP, TCP, etc.
AF_IMPLINK (3) - arpanet imp addresses
AF_PUP (4) - pup protocols: e.g. BSP
AF_CHAOS (5) - mit CHAOS protocols
AF_NS (6) - XEROX NS protocols
AF_IPX (AF_NS) - IPX protocols: IPX, SPX, etc.
AF_ISO (7) - ISO protocols
AF_OSI (AF_ISO) - OSI is ISO
AF_ECMA (8) - european computer manufacturers
AF_DATAKIT (9) - datakit protocols
AF_CCITT (10) - CCITT protocols, X.25 etc
AF_SNA (11) - IBM SNA
AF_DECnet (12) - DECnet
AF_DLI (13) - Direct data link interface
AF_LAT (14) - LAT
AF_HYLINK (15) - NSC Hyperchannel
AF_APPLETALK (16) - AppleTalk
AF_NETBIOS (17) - NetBios-style addresses
AF_VOICEVIEW (18) - VoiceView
AF_FIREFOX (19) - Protocols from Firefox
AF_UNKNOWN1 (20) - Somebody is using this!
AF_BAN (21) - Banyan
AF_ATM (22) - Native ATM Services
AF_INET6 (23) - Internetwork Version 6
AF_CLUSTER (24) - Microsoft Wolfpack
AF_12844 (25) - IEEE 1284.4 WG AF
AF_IRDA (26) - IrDA
AF_NETDES (28) - Network Designers OSI & gateway enabled protocols

(^-^ Socket Type


socket() 関数で使用


SOCK_STREAM(1) - stream socket

  • 順序性・信頼性がある

SOCK_DGRAM(2) - datagram socket

  • 信頼性がない

SOCK_RAW(3) - raw-protocol interface

  • 生パケットを扱う

SOCK_RDM(4) - reliably-delivered message
SOCK_SEQPACKET(5) - sequenced packet stream

(^-^ Protocol Type

IPPROTO_IP(0) - dummy for IP
IPPROTO_ICMP(1) - control message protocol
IPPROTO_IGMP(2) - internet group management protocol
IPPROTO_GGP(3) - gateway^2 (deprecated)
IPPROTO_TCP(6) - tcp
IPPROTO_PUP(12) - pup
IPPROTO_UDP(17) - user datagram protocol
IPPROTO_IDP(22) - xns idp
IPPROTO_ND(77) - UNOFFICIAL net disk proto
IPPROTO_RAW(255) - raw IP packet
NSPROTO_IPX(1000)
NSPROTO_SPX(1256)
NSPROTO_SPXII(1257)

(^-^ Socket Flags

MSG_OOB(0x1) - process out-of-band data
MSG_PEEK(0x2) - peek at incoming message
MSG_DONTROUTE(0x4) - send without using routing tables
MSG_PARTIAL(0x8000) - partial send or recv for message xport

(^-^ Socket Option Name

Option flags per-socket.

SO_DEBUG(0x0001) - turn on debugging info recording
SO_ACCEPTCONN(0x0002) - socket has had listen()
SO_REUSEADDR(0x0004) - allow local address reuse
SO_KEEPALIVE(0x0008) - keep connections alive
SO_DONTROUTE(0x0010) - just use interface addresses
SO_BROADCAST(0x0020) - permit sending of broadcast msgs
SO_USELOOPBACK(0x0040) - bypass hardware when possible
SO_LINGER(0x0080) - linger on close if data present
SO_OOBINLINE(0x0100) - leave received OOB data in line

Additional options.

SO_SNDBUF(0x1001) - send buffer size
SO_RCVBUF(0x1002) - receive buffer size
SO_SNDLOWAT(0x1003) - send low-water mark
SO_RCVLOWAT(0x1004) - receive low-water mark
SO_SNDTIMEO(0x1005) - send timeout
SO_RCVTIMEO(0x1006) - receive timeout
SO_ERROR(0x1007) - get error status and clear
SO_TYPE(0x1008) - get socket type

IP_OPTIONS(1) - set/get IP options
IP_HDRINCL(2) - header is included with data
IP_TOS(3) - IP type of service and preced
IP_TTL(4) - IP time to live
IP_MULTICAST_IF(9) - set/get IP multicast i/f
IP_MULTICAST_TTL(10) - set/get IP multicast ttl
IP_MULTICAST_LOOP(11) -set/get IP multicast loopback
IP_ADD_MEMBERSHIP(12) - add an IP group membership
IP_DROP_MEMBERSHIP(13) - drop an IP group membership
IP_DONTFRAGMENT(14) - don't fragment IP datagrams
IP_ADD_SOURCE_MEMBERSHIP (15) - join IP group/source
IP_DROP_SOURCE_MEMBERSHIP (16) - leave IP group/source
IP_BLOCK_SOURCE(17) - block IP group/source
IP_UNBLOCK_SOURCE(18) - unblock IP group/source
IP_PKTINFO(19) - receive packet information for ipv4

TCP options.

TCP_NODELAY(0x0001)
TCP_BSDURGENT(0x7000)

UDP options.

UDP_NOCHECKSUM(1)
UDP_CHECKSUM_COVERAGE(20) - Set/get UDP-Lite checksum coverage

(^-^ Socket error Codes

INVALID_SOCKET - socket() 関数がソケット割り当てに失敗した場合に返される
SOCKET_ERROR(-1) - ほとんどの Winsock 関数がエラー時に返す
WSAHOST_NOT_FOUND(11001L)
WSATRY_AGAIN(11002L)
WSANO_RECOVERY(11003L)
WSANO_DATA(11004L)
WSAEINTR(10004L)
WSAEBADF(10009L)
WSAEACCES(10013L)
WSAEFAULT(10014L)
WSAEINVAL(10022L)
WSAEMFILE(10024L)
WSAEWOULDBLOCK(10035L)
WSAEINPROGRESS(10036L)
WSAEALREADY(10037L)
WSAENOTSOCK(10038L)
WSAEMSGSIZE(10040L)
WSAEPROTOTYPE(10041L)
WSAENOPROTOOPT(10042L)
WSAEPROTONOSUPPORT(10043L)
WSAESOCKTNOSUPPORT(10044L)
WSAEOPNOTSUPP(10045L)
WSAEAFNOSUPPORT(10047L)
WSAEADDRINUSE(10048L)
WSAEADDRNOTAVAIL(10049L)
WSAENETUNREACH(10051L)
WSAECONNABORTED(10053L)
WSAECONNRESET(10054L)
WSAENOBUFS(10055L)
WSAEISCONN(10056L)
WSAENOTCONN(10057L)
WSAESHUTDOWN(10058L)
WSAETIMEDOUT(10060L)
WSAECONNREFUSED(10061L)
WSAEHOSTDOWN(10064L)
WSAEHOSTUNREACH(10065L)
WSASYSNOTREADY(10091L)
WSAVERNOTSUPPORTED(10092L)
WSANOTINITIALISED(10093L)