Training
Certifications
Books
Special Offers
Community




 
Network Programming for Microsoft® Windows®, Second Edition
Author Anthony Jones and Jim Ohlund
Pages 608
Disk 1 Companion CD(s)
Level All Levels
Published 02/13/2002
ISBN 9780735615793
ISBN-10 0-7356-1579-9
Price(USD) $59.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Index


Numbers
802.1p, 340

A
accept, 13-16
AcceptEx, 173-77
   defined, 173
   example of, 174-76
   parameters of, 173-74
   servers, accepting conditions, 187-88
ACS, QOS policy components, 343
adapter type values, 539
Address Resolution Protocol (ARP), 60, 564. See also ARP.EXE
addressing
   IPX/SPX, 94-95
   IrSock, 88
   .NET Sockets, 466-67
   NetBIOS, 99-100
addressing, ATM, 112-16
   NNI signaling protocol, 113
   setting address types, 113
   UNI signaling protocol, 112
addressing, IP, 67-80
   IPv4, 58-59, 467
   IPv6, 62-66
   legacy name resolution, 74-80
   name resolution routines, 68-73
   simple address conversion, 73-74
   Winsock and, 6-9
Advanced Research Project Agency (ARPA), 57
anycast addresses, IPv6, 66
APCs (Asynchronous Procedure Calls), 172
APIPA (Automatic Private IP Addressing), 59
AppleTalk, 102-11
   name resolution, 105-10
   overview of, 102-3
   protocols and parameters, 111
   registering AppleTalk names, 103-5
   socket options. See SQL_APPLETALK option level
   sockets, creating, 110-11
application component requirements, GQOS, 341-43
ARP (Address Resolution Protocol), 60, 564
ARPA (Advanced Research Project Agency), 57
ARP.EXE, 563-66
   adding ARP entries, 564-65
ARP.EXE
   deleting ARP entries, 565
   overview, 563-64
   sending ARP requests, 565-66
ASCII, 448
asynchronous mode, RasDial, 516-22
   notification methods, 516
   operating states, 517-19
asynchronous model, .NET Sockets, 470-73
Asynchronous NetBEUI, 510
Asynchronous Procedure Calls (APCs), 172
ATM (Asynchronous Transfer Mode), 111-19
   addressing, 112-16
   GQOS and, 380-81
   ioctl commands. See ioctl commands
   multicasting, 334-36
   name resolution, 119
   overview of, 111-12
   socket address types, 114
   sockets, 116-19
ATMADM.EXE utility, 119
Automatic Private IP Addressing (APIPA), 59

B
bandwidth, QOS and, 337
base providers, protocol services, 44, 401
BHLI (Broadband Higher Layer Information), 114-15
big-endian, byte ordering, 7
bind, 11-12, 96
BLLI (Broadband Lower Layer Information), 114-15
blocking mode
   I/O socket, 124-27
   LSPs and, 428-29
blocking models
   I/O sockets, 129
   .NET Sockets, 469-70
   performance comparisons of, 195-96
Broadband Higher Layer Information (BHLI), 114-15
broadcast addresses, 59
broadcast data, 49
byte ordering, Winsock, 7-9

C
C#, 463, 466
ChainLen field, LSPs, 407
classes, IP addressing, 58
client API functions, Winsock connection-oriented communication
   connect, 19-21
   setting up connection, 16
clients
   I/O models and, 171
   IP version-independent programs and, 81-83
CLOSE_WAIT, TCP states, 19
CLOSED, TCP states, 16
closesocket
   terminating QOS, 353-54
   Winsock connectionless protocols, 37
   Winsock connection-oriented protocols, 30
compatibility addresses, IPv6, 65-66
completion port model, 159-68
   overlapped I/O, 165-66
   overview of, 159-60
   performance comparisons of, 196-98
   per-handle data and per-I/O operation data, 166-68
   scalability of, 172
   worker threads, 160-65
completion routines, overlapped model, 154-59
connect, Winsock client APIs, 19-21
ConnectEx, 183-84
   defined, 183
   parameters of, 183-84
   Winsock client APIs, 19
connectionless protocols, Winsock, 30-37
   connection-oriented protocols vs., 47-48
   message-basis, 36-37
   receiver, 31-33
   releasing socket resources, 37
   sender, 34-36
connection-oriented protocols, Winsock, 10-30
   breaking connection, 29-30
   client API functions, 16-21
   connectionless vs., 47-48
   data transmission, 21-26
   server API functions, 11-16
   stream protocols, 26-29
connections
   maximizing, 194
   RAS management of, 531-34
   setting up, 16
connectivity types, NLA, 304
control flags
   name resolution, 291-92
   NLA, 301
control plane, multicasting properties, 312
CreateIoCompletionPort function, 161

D
data persistence, NSPs, 457
data plane, multicasting properties, 312-13
data transfers, scalability and, 189-90
data transmission, Winsock connection-oriented communication
   recv and WSARecv, 24-26
   send and WSASend, 22-23
   WSARecvDisconnect, 26
   WSASendDisconnect, 23-24
data types, NLA, 303
debugging functions, LSPs, 443-44
DelayVariation field, FLOWSPEC structure, 346
DeleteIpNetEntry, 565
DHCP (Dynamic Host Configuration Protocol), 59
DisconnectEx, Winsock APIs, 184
DLLs, name space, 457-59
DNS names, querying, 296-99
DUN (dial-up networking), 509, 513. See also RAS clients
Dynamic Host Configuration Protocol (DHCP), 59
dynamic name spaces, 276

E
echo requests, ICMP, 391
errors
   exception handling, .NET Sockets, 473-74
   Visual Basic Winsock control, 501-2
   Winsock checking and handling, 4-6
ESTABLISHED, TCP states, 17
event notification
   FD_WRITE, 137
   overlapped model, 148-54
   scalability of, 172
   WSAEventSelect model, 139-47
events, Visual Basic Winsock control, 479-80
exception handling, .NET Sockets, 473-74
Extensible Markup Language (XML), 463
external network numbers, 97

F
FD_QOS notifications, 366-67
FD_SET
   LSPs and, 429, 432
   select model macros and, 131-32
   select model parameters and, 130-31
FD_WRITE, event notifications, 137
FEC method, reliable multicasting, 330-31
FIFO (first in first out), 172
FIONBIO, cross platform ioctl commands, 253
FIONREAD, cross platform ioctl commands, 254
FIXED_INFO structure, 536
flags
   control flags, name resolution, 291-92
flags
   control flags, NLA, 301
   GetAdaptersAddresses, 541
   IP_ADAPTER_ADDRESSES structure, 543
   protocol flags, Winsock catalog, 53-54
   service flags, WSASetService, 283-84
   ShapeDiscardMode, 355-56
   SIO_CHK_QOS, 353
   TransmitFile, 180
   WSARecvMsg, 186
FLOWSPEC structure
   defined, 345
   DelayVariation field, 346
   functions of, 344
   Latency field, 346
   MaxSduSize field, 348
   MinimumPolicedSize, 348
   PeakBandwidth field, 346
   ServiceType field, 347-48
   TokenBucketSize field, 346
   TokenRate field, 345-46
forwarding protocols, 560

G
Generic Packet Classifier (GPC), 342
GetAcceptExSockaddrs, 177-78
   defined, 177
   example of, 178
   parameters of, 178
GetAdaptersAddresses, 540-46
   defined, 540
   flags, 541
   IP_ADAPTER_ADDRESSES structure, 541-46 adapter structures, 544-46
GetAdaptersInfo, 538-40
   defined, 538
   IP_ADAPTER_INFO structure, fields, 539-40
getaddrinfo
   clients, 81-83
   protocol-independent name resolution, 67-71
   servers, 83-85
GetCallerSocket, LSPs and, 435-36
gethostbyname, legacy name resolution, 75
GetIcmpStatistics, 553-55
GetIpAddrTable, 561-62
GetIpForwardTable, 557-60
GetIpNetTable, 563
GetIpStatistics, 551-53
getnameinfo, name resolution, 67, 72-73
GetNetworkParams, 536-38
   defined, 536
   FIXED_INFO structure, fields, 536-38
getpeername, Winsock miscellaneous APIs, 37-38
GetQueuedCompletionStatus, 166, 168
getservbyname, legacy name resolution, 77
getservbyport, legacy name resolution, 77
GetService, Winsock 1, 275
getsockname, 38, 96
getsockopt
   definition and parameters, 202-3
   enumerating IrDA devices, 90
GetTcpStatistics, 555-56
GetTcpTable, 548-50
   defined, 548
   MIB_TCPTABLE structure, 549-50
GetUdpStatistics, 556-57
GetUdpTable, 550-51
global addresses, IPv6, 64-65
GPC (Generic Packet Classifier), 342
GQOS (Generic Quality of Service), 337-81
   ATM and, 380-81
   background, 338-44
   examples, 371-80
   programming techniques, 363-71
   provider-specific objects, 354-62
   QOS structures, 347-52
   QOS-terminating functions, 353-54
GQOS Service Providers, 341-42
graceful close, 48-49

H
headers
   ICMP, 385
   ICMPv6, pseudo, 386
   IP header include option, 393-96
   Winsock, 2
high throughput servers, 193-94
host-byte order, 8
HOSTENT structure, 297-99

I
iAddressFamily parameter, 54
IANA (Internet Assigned Numbers Authority), 61
IAS (Information Access Services)
   IrDA devices and, 88-89
   querying for running services, 92-93
ICMP (Internet Control Message Protocol)
   header, 385
   IPv4 and, 60
   IPv4 vs. IPv6, 385-86
   message types, 385-87
   Ping utility, 388-92
   versions of, 385
ICMPv6 (Internet Control Message Protocol for IPv6), 66
   message types, 388
   multicast support in, 315
   pseudo header, 386
IGMP (Internet Group Management Protocol)
   IPv4 and, 60
   multicast support in, 315
inet_addr, legacy name resolution, 74-75
inet_ntoa, legacy name resolution, 74
Information Access Services (IAS)
   IrDA devices and, 88-89
   querying for running services, 92-93
Infrared Data Association. See IrDA
internal network numbers, 97
Internet Assigned Numbers Authority. See IANA
Internet Control Message Protocol. See ICMP
Internet Control Message Protocol for IPv6. See ICMPv6
Internet Group Management Protocol. See IGMP
Internet Packet Exchange/Sequence Packet Exchange. See IPX/SPX
Internet Protocol. See IP
Internet types, NLA, 304
I/O methods
   ioctl functions and, 252
   LSPs and, 427-28
   .NET Sockets, 469-73
   Winsock models, 123-70
ioctl commands
   ATM specific, 272
   FIONBIO, 253
   FIONREAD, 254
   SIO_ADDRESS_LIST_CHANGE, 265
   SIO_ADDRESS_LIST_QUERY, 263-64
   SIO_ADDRESS_LIST_SORT, 264-65
   SIO_ASSOCIATE_PVC, 273-74
   SIOCATMARK, 254-55
   SIO_CHK_QOS, 257-58
   SIO_ENABLE_CIRCULAR_QUEUEING, 255
   SIO_FIND_ROUTE, 256
   SIO_FLUSH, 256
   SIO_GET_ATM_ADDRESS, 273
   SIO_GET_ATM_CONNECTION_ID, 274
   SIO_GET_BROADCAST_ADDRESS, 256
   SIO_GET_EXTENSION_FUNCTION_POINTER, 257
   SIO_GET_INTERFACE_LIST, 265-66
   SIO_GET_INTERFACE_LIST_EX, 266-67
   SIO_GET_MULTICAST_FILTER, 267
   SIO_GET_NUMBER_OF_ATM_DEVICES, 273
   SIO_GET_QOS, 258-59
   SIO_INDEX_ADD_MCAST, 268
   SIO_INDEX_BIND, 268
   SIO_INDEX_DEL_MCAST, 268-69
   SIO_INDEX_MCASTIF, 268
   SIO_KEEPALIVE_VALS, 260
   SIO_MULTICAST_SCOPE, 259-60
   SIO_MULTIPOINT_LOOPBACK, 259
   SIO_NSP_NOTIFY_CHANGE, 269
   SIO_QUERY_TARGET_PNP_HANDLE, 269
   SIO_RCVALL, 260-61
ioctl commands
   SIO_RCVALL_IGMPCAST, 261-62
   SIO_RCVALL_MCAST, 261
   SIO_ROUTING_INTERFACE_CHANGE, 263
   SIO_ROUTING_INTERFACE_QUERY, 262
   SIO_SET_MULTICAST_FILTER, 267
   SIO_SET_QOS, 259
   SIO_UDP_CONNRESET, 269
   SO_SSL_GET_CAPABILITIES, 270
   SO_SSL_GET_FLAGS, 270
   SO_SSL_GET_PROTOCOLS, 271
   SO_SSL_PERFORM_HANDSHAKE, 272
   SO_SSL_SET_FLAGS, 270-71
   SO_SSL_SET_PROTOCOLS, 271
   SO_SSL_SET_VALIDATE_CERT_HOOK, 272
   Winsock 2 specific, 255-69
ioctl functions. See also ioctl commands
   ioctlsocket, 252
   WSAIoctl, 252
   WSANSPIoctl, 253
ioctlsocket
   calling ioctl commands, 253
   definition and parameters, 252
IP addressing. See addressing, IP
IP header include option, 393-400
   IPv4 and IPv6 headers, 393-94
   UDP headers, 394-96
IP Helper APIs, 64, 535-66
   ARP.EXE, 563-66
   IPCONFIG.EXE, 536-48
   NETSTAT.EXE, 548-57
   ROUTE.EXE, 557-62
IP (Internet Protocol)
   address and name resolution, 67-80
   IPv4, 57-61
   IPv6, 62-67
   version-independent programs, 80-85
   Winsock communication over, 6-9
IP multicasting, 314-27
   IPv4, reserved addresses, 314
   IPv6, reserved addresses, 315
   setsockopt function for IPv4, 317-24
   setsockopt function for IPv6, 321-24
   supported protocols, 315-17
   WSAIoctl and, 324-26
   WSAJoinLeaf and, 326-27
IP Precedence, 340
IP version-independent programs, writing, 80-85
   client side, 81-83
   overview, 80-81
   server side, 83-85
   IP_ADAPTER_ADDRESSES structure
   adapter structures, 544-46
   fields, 541-43
   flags, 543
IP_ADAPTER_INFO structure, 538
IP_ADD_MEMBERSHIP, 231, 317, 320
IP_ADD_SOURCE_MEMBERSHIP, 232, 319-20
IP_BLOCK_SOURCE, 233, 320
IP_DONTFRAGMENT, 234
IP_DROP_MEMBERSHIP, 232, 317-18
IP_DROP_SOURCE_MEMBERSHIP, 233, 319-20
IP_HDRINCL
   building protocol headers, 393-96
   IPPROTO_IP option level, 227-29
IP_MULTICAST_IF, 230
IP_MULTICAST_LOOP, 231
IP_MULTICAST_TTL, 230-31
IP_OPTIONS, 226-27, 391
IP_PKTINFO, 234
IP_TOS, 229
IP_TTL, 230
IP_UNBLOCK_SOURCE, 233, 321
IPCONFIG.EXE, 58, 536-48
   changing IPv4 addresses, 547-48
   GetAdaptersInfo, 538-46
   GetNetworkParams, 536-38
   releasing and renewing IPv4 addresses, 546-47
IPPROTO_IP option level, 225-34
   IP_ADD_MEMBERSHIP, 231
   IP_ADD_SOURCE_MEMBERSHIP, 232
   IP_BLOCK_SOURCE, 233
   IP_DONTFRAGMENT, 234
   IP_DROP_MEMBERSHIP, 232
   IP_DROP_SOURCE_MEMBERSHIP, 233
   IP_HDRINCL, 227-29
   IP_MULTICAST_IF, 230
   IP_MULTICAST_LOOP, 231
   IP_MULTICAST_TTL, 230-31
   IP_OPTIONS, 226-27
   IP_PKTINFO, 234
   IP_TOS, 229
   IP_TTL, 230
   IP_UNBLOCK_SOURCE, 233
IPPROTO_IPV6 option level, 234-38
   IPV6_ADD_MEMBERSHIP, IPV6_JOIN_GROUP, 237
   IPV6_DROP_MEMBERSHIP, IPV6_LEAVE_GROUP, 237
   IPV6_HDRINCL, 235-36
   IPV6_MULTICAST_HOPS, 236
   IPV6_MULTICAST_IF, 236
   IPV6_MULTICAST_LOOP, 236-37
   IPV6_PKTINFO, 237-38
   IPV6_UNICAST_HOPS, 236
IPPROTO_RM option level, 238-44
   RM_ADD_RECEIVE_IF, 241
   RM_DEL_RECEIVE_IF, 242
   RM_FLUSHCACHE, 239
   RM_LATEJOIN, 241
   RM_RATE_WINDOW_SIZE, 238
IPPROTO_RM option level
   RM_RECEIVER_STATISTICS, 243-44
   RM_SEND_WINDOW_ADV_RATE, 242
   RM_SENDER_STATISTICS, 240-41
   RM_SENDER_WINDOW_ADVANCE_METHOD, 239-40
   RM_SET_MCAST_TTL, 243
   RM_SET_MESSAGE_BOUNDARY, 239
   RM_SET_SEND_IF, 241
   RM_USE_FEC, 242-43
IPPROTO_TCP level, 244-45
iProtocol parameter, 54
IPv4, 57-61
   addressing, 58-61, 546-48, 563
   IP header include option, 393-94
   management protocols, 60
   overview, 57
   protocol statistics, retrieving, 551-57
   reserved multicast addresses, 314
   setsockopt function, 317-21, 323-24
   socket options. See IPPROTO_IP option level
   Winsock communication over, 6-9
IPv6
   addressing, 62-67
   IP header include option, 393-94
   management protocols, 66
   reserved multicast addresses, 315
   setsockopt function, 321-24
   socket options. See IPPROTO_IPV6 option level
IPV6_ADD_MEMBERSHIP, 237, 321
IPV6_DROP_MEMBERSHIP, 237, 321, 323
IPV6_HDRINCL, 235-36, 393
IPV6_JOIN_GROUP, 237
IPV6_LEAVE_GROUP, 237
IPV6_MULTICAST_HOPS, 236
IPV6_MULTICAST_IF, 236, 324
IPV6_MULTICAST_LOOP, 236-37
IPV6_PKTINFO, 237-38
IPV6_UNICAST_HOPS, 236
IPV6.EXE, 63, 535
IPX packet types, setting through Winsock, 97-98
IPX_ADDRESS, 247-48
IPX_ADDRESS_NOTIFY, 249-50
IPX_DSTYPE, 246
IPX_EXTENDED_ADDRESS, 246
IPX_FILTERTYPE, 245-46
IPX_GETNETINFO, 248
IPX_GETNETINFO_NORIP, 248
IPX_IMMEDIATESPXACK, 251
IPX_MAX_ADAPTER_NUM, 250-51
IPX_MAXSIZE, 247
IPX_PTYPE, 245
IPX_RECEIVE_BROADCAST, 251
IPX_RECVHDR, 247
IPX_RERIPNETNUMBER, 251
IPX_SPXGETCONNECTIONSTATUS, 249
IPX_STOPFILTERTYPE, 246
IPX/SPX (Internet Packet Exchange/Sequence Packet Exchange), 94-98
   addressing, 94-95
   name resolution, 98
   network numbers vs. internal network numbers, 97
   overview of, 94
   setting packet types through Winsock, 97-98
   socket options. See NSPROTO_IPX option level
   sockets, binding, 96-97
   sockets, creating, 95-96
IrDA (Infrared Data Association). See also IrSock
   enumerating devices, 89-92
   name resolution and, 88
   socket options. See SQL_IRLMP option level
IRLMP_9WIRE_MODE, 220
IRLMP_ENUMDEVICES, 221-22
IRLMP_EXCLUSIVE_MODE, 222
IRLMP_IAS_QUERY, 222-23
IRLMP_IAS_SET, 223-25
IRLMP_IRLPT_MODE, 225
IRLMP_SEND_PDU_LEN, 225
IrSock (Infrared sockets), 87-94
   addressing, 88
   creating clients and servers, 91-92
   enumerating IrDA devices, 89-92
   name resolution, 88-89
   overview of, 87-94
   querying IAS, 92-93
   sockets, creating, 93
   sockets, options, 94. See also SQL_IRLMP option level
iSocketType parameter, 54

L
L2TP (Layer 2 Tunneling Protocol), 510
LANA numbers, NetBIOS, 98, 100-102
Latency field, FLOWSPEC structure, 346
Layer 2 signaling, QOS networking components, 340-41
Layer 2 Tunneling Protocol (L2TP), 510
layered service providers. See LSPs
legacy name resolution, 74-80
libraries, Winsock, 2
link-local addresses, IPv6, 64
listen, Winsock server APIs, 12-13
little-endian, byte ordering, 7
local addresses, site-local and link-local, 64
Local Policy Module (LPM), 343
Local Security Authentication Server System (LSASS), 410
Logical Service Access Point Selectors (LSAP), 88-89
LPM (Local Policy Module), 343
LSAP (Logical Service Access Point Selectors), 88-89
LSASS (Local Security Authentication Server System), 410
LSPs (layered service providers), 44, 402-45
   architecture of, 404
   blocking and nonblocking sockets, 428-29
   creating sockets for, 419-27
   debugging, 443-44
   example of, 444-45
   handling I/O, 427-28
   initializing, 414-19
   installing, 406-11
   modifying, 413
   overlapped I/O and, 436-42
   overview of, 402-6
   removing, 412-13
   select and WSPSelect, 429-33
   transport service providers and, 401
   Winsock-specific extension functions, 442
   WSAAsyncSelect, 433-36
   WSAEventSelect, 436
   WSPAddressToString and WSPStringToAddress, 443
   WSPGetSockOpt, 442
   WSPIoctl, 443
   WSPJoinLeaf, 443
   WSPSetSockOpt, 443

M
MAC addresses, 563
management protocols
   IPv4, 60
   IPv6, 66
   marshalling data, 459
MaxSduSize field, FLOWSPEC structure, 348
message notification, WSAAsyncSelect, 134-39
message-based protocols, 36-37, 45-46
MIB_ICMP structure, 553-55
MIB_IPADDRTABLE structure, 561-62
MIB_IPFORWARDTABLE structure, 558-60
MIB_IPNETROW structure, 564
MIB_IPNETTABLE structure, 563
MIB_IPSTATS structure, 551-53
MIB_TCPSTATS structure, 555-56
MIB_TCPTABLE structure, 549-50
MIB_UDPSTATS structure, 556-57
MIB_UDPTABLE structure, 550
Microsoft Generic Quality of Service. See GQOS
Microsoft Message Queueing (MSMQ), 327
Microsoft Windows. See Windows platforms
MinimumPolicedSize, FLOWSPEC structure, 348
MLD (Multicast Listener Discovery)
   IPv6, 66
   managing multicast membership with, 315-16
MSMQ (Microsoft Message Queueing), 327
MSTCPIP.H, 255
MSWSOCK.DLL, 43, 172
MSWSOCK.H, 172
multicast addresses, 314-15
   IPv4, 59, 314
   IPv6, 66, 315
Multicast Listener Discovery. See MLD (Multicast Listener Discovery)
multicasting, 311-36
   ATM multipoint, 334-36
   IP multicasting, 314-27
   multicast data, 49
   multicast properties, 313
   QOS and, 365-66
   reliable multicasting, 327-34
   semantics, 312-13

N
Nagle algorithm, 46
Name Binding Protocol (NBP), 102
name registration, 278-90. See also name resolution
   background of, 275-76
   example, 287-90
   name space models and, 276-78
   service class installation, 279-82
   WSASetService function, 283-87
name resolution, 290-310. See also name registration
   AppleTalk, 105-10
   ATM, 119
   background of, 275-76
   control flags, 291-92
   DNS queries, 296-99
   forming a query, 293-96
   IP protocol, 67-80
   IPX/SPX, 98
   IrSock, 88-89
   name space models and, 276-78
   .NET Sockets, 468
   NLA queries, 299-310
   overview of, 290-92
name space providers. See NSPs
name spaces, 276-78
   common examples, 276
   enumerating, 277-78
   installing, 459-60
   querying, 461
   services, 460-61
   types of, 276-77
NATs (network address translators), 62
NBP (Name Binding Protocol), 102
ND (Neighbor Discovery), 66
Neighbor Discovery (ND), 66
.NET Framework, 463
.NET Sockets, 463-74
   addressing protocols, 466-67
.NET Sockets
   example of, 474
   exception handling, 473-74
   I/O methods, 469-73
   methods, 465
   name resolution, 468
   properties and descriptions, 464-65
   sending/receiving data, 469
NetBIOS, 98-102
   addressing, 99-100
   overview of, 98-99
   sockets, creating, 100-102
NETSH.EXE, 63
NETSTAT.EXE, 548-57
   retrieving IPv4 protocol statistics, 551-57
   retrieving TCP connection table, 548-50
   retrieving UDP listener table, 550-51
network address translators (NATs), 62
network component requirements, GQOS, 339-41
network event types, WSAAsyncSelect model, 135
network numbers, external vs. internal, 97
network-byte order, 8
NLA, querying, 299-310
   connectivity types, 304
   control flags, 301
   data types, 303
   Internet types, 304
NNI signaling protocol, 113
node type values, 537
non-blocking mode
   I/O socket, 127-29
   LSPs and, 428-29
non-blocking models, performance comparisons, 195-96
non-rooted control plane, 312
non-rooted data plane, 313
notification methods
   event notification, 139-54, 172
   I/O completion notification, 166, 168
   message notification, 134-39
   QOS notifications, 366-69
   RasDial asynchronous, 516
NSPCleanup, 450
NSPGetServiceClassInfo, 451-52
NSPInstallServiceClass, 450-51
NSPIoctl, 454-56
NSPLookupServiceBegin, 452-53
NSPLookupServiceEnd, 454
NSPLookupServiceNext, 453-54
NSPRemoveServiceClass, 451
NSPROTO_IPX option level, 245-50
   IPX_ADDRESS, 247-48
   IPX_ADDRESS_NOTIFY, 249-50
   IPX_DSTYPE, 246
   IPX_EXTENDED_ADDRESS, 246
NSPROTO_IPX option level
   IPX_FILTERTYPE, 245-46
   IPX_GETNETINFO, 248
   IPX_GETNETINFO_NORIP, 248
   IPX_IMMEDIATESPXACK, 251
   IPX_MAX_ADAPTER_NUM, 250-51
   IPX_MAXSIZE, 247
   IPX_PTYPE, 245
   IPX_RECEIVE_BROADCAST, 251
   IPX_RECVHDR, 247
   IPX_RERIPNETNUMBER, 251
   IPX_SPXGETCONNECTIONSTATUS, 249
   IPX_STOPFILTERTYPE, 246
NSPs (name space providers), 445-62
   examples, 457-62
   implementing, 447-56
   installing, 446-47
   overview of, 445-46
NSPSetService, 452
NSPStartup, 449-50
NTSD (NT Symbolic Debugger), 444

O
object types, provider-specific, 354-55
OOB (out-of-band) data, 23-24
ordering, protocol design and, 47-48
out-of-band (OOB) data, 23-24
overlapped model, 147-59
   completion port model and, 165-66
   completion routines, 154-59
   event notification, 148-54
   LSPs and, 436-42
   overview of, 147-48
   performance comparisons of, 196-97
   scalability of, 172

P
packet scheduler, 342
packet shaper, 342
partial messages, message-based protocols, 50
PATH messages
   parameters of, 363
   QOS and, 338-39
PE (Policy Element), 344
PeakBandwidth field, FLOWSPEC structure, 346
performance comparison, server strategies, 194-98
persistent name spaces, 276-77
PGM (Pragmatic General Multicasting), 327
phonebook, RAS, 523-31
   adding entries, 525-28
   deleting entries, 528
   managing user credentials, 528-31
   RASENTRY structure, 523-25
Ping utility, 388-92
point-to-multipoint, 311. See also multicasting
Point-to-Point (PPP), 510
Point-to-Point Tunneling Protocol (PPTP), 510
policy component requirements, GQOS, 343-44
Policy Element (PE), 344
ports, assigning, 61
PPP (Point-to-Point), 510
PPTP (Point-to-Point Tunneling Protocol), 510
Pragmatic General Multicasting (PGM), 327
Programming Applications for Microsoft Windows, 4th Edition (Rich.ter), 447
programming techniques, GQOS
   PATH and RESV RSVP messages, 363-64
   QOS notifications, 366-69
   QOS templates, 369-71
   RSVP and socket types, 364-66
protocol characteristics, Winsock
   broadcast data, 49
   connection-oriented vs. connectionless, 47-48
   graceful close, 48-49
   message-based, 45-46
   multicast data, 49
   partial messages, 50
   pseudo stream, 47
   QOS, 50
   reliability and ordering, 48
   routing considerations, 50-51
   stream-oriented, 46-47
protocol flags, Winsock catalog, 53-54
protocol service providers, 44
PROTOENT structure, 79
providers. See LSPs; NSPs; protocol service providers
ProviderSpecific field, QOS structure, 354. See also provider-specific objects
provider-specific objects, GQOS, 354-62
   list of, 354-55
   QOS_DESTADDR, 356
   QOS_SD_MODE, 355-56
   RSVP_ADPEC, 361-62
   RSVP_DEFAULT_STYLE, 358
   RSVP_FIXED_FILTER_STYLE, 358-59
   RSVP_POLICY_INFO, 362
   RSVP_RESERVE_INFO, 357-58
   RSVP_SHARED_EXPLICIT_STYLE, 359-61
   RSVP_STATUS_INFO, 356-57
   RSVP_WILDCARD_STYLE, 359
pseudo stream protocols, 47

Q
QOS notifications, 366-69
   FD_QOS notifications, 366-67
   RSVP notifications, 367-68
   WSA_QOS_REQUEST_CONFIRMED, 369
   WSA_QOS_SENDERS, WSA_QOS_NO_SENDERS, 369
QOS (quality of service). See also GQOS
   AppleTalk and, 111
   definition and overview, 50
QOS templates, 369-71
QOS_DESTADDR, 356
QOS_SD_MODE, 355-56
querying services. See name resolution

R
RAS clients, 509-11
RAS (Remote Access Service), 509-34
   compiling and linking RAS applications, 511-12
   connection management, 531-34
   data structures and compatibility issues, 512-13
   DUN 1.3 upgrade and, 513
   RAS client, 509-11
   RAS phonebook, 523-31
   RasDial, 513-23
   VPN and, 534
RASAPI32.LIB, 511
RASCN_Connection, 521
RASCN_Disconnection, 522
RasConnectionNotification, 521
RASCREDENTIALS structure, 529
RasDeleteEntry, 528
RasDial, 513
   asynchronous mode, 516-22
   closing connections, 522-23
   synchronous mode, 514-16
RASENTRY structures, 523-25
RasEnumConnections, 531
RASERROR.H, 511
RasGetCredentials, 529
RasGetEntryProperties, 525
RasGetErrorString, 512
RasGetProjectionInfo, 531
RAS.H, 511
RasHangUp, 522
RASPROJECTION enumeration type, 532
RasSetEntryProperties, 525
raw sockets
   creating, 383-85
   ICMP, 385-92
   ICMPv6, 386, 388
   IP header include option, 393-400
   overview of, 383
   Traceroute utility and, 392-93
Receive, .NET Sockets, 469
ReceiveFrom, .NET Sockets, 469
recv, Winsock, 24-26
recvfrom, Winsock, 31-32
reliability, protocol design and, 47-48
reliable multicasting, 327-34
   overview, 327-28
   reliable receiver, 332-34
   reliable sender, 328-31
   socket options. See IPPROTO_RM option level
reliable receivers, 332-34
reliable senders, 328-31
   establishing, 328-30
   FEC method, 330-31
   modifying window size, 330
Remote Access Service. See RAS
resource management, 190-92
RESV messages
   parameters of, 363
   QOS and, 339
RM_ADD_RECEIVE_IF, 241
RM_DEL_RECEIVE_IF, 242
RM_FLUSHCACHE, 239
RM_LATEJOIN, 241
RM_RATE_WINDOW_SIZE, 238
RM_RECEIVER_STATISTICS, 243-44
RM_SEND_WINDOW_ADV_RATE, 242
RM_SENDER_STATISTICS, 240-41
RM_SENDER_WINDOW_ADVANCE_METHOD, 239- 40
RM_SET_MCAST_TTL, 243
RM_SET_MESSAGE_BOUNDARY, 239
RM_SET_SEND_IF, 241
RM_USE_FEC, 242-43
RNR (Winsock Registration and Name Resolution), 67, 448- 49
RNRSERVICE_DELETE flags, 284
RNRSERVICE_DEREGISTER flags, 284
RNRSERVICE_REGISTER flags, 284
rooted control plane, 312
rooted data plane, 313
ROUTE.EXE, 557-62
   adding routes, 561-62
   deleting routes, 562
   getting routing table, 557-60
routing considerations, Winsock protocols, 50-51
Routing Table Maintenance Protocol (RTMP), 103
RSVP
   function of, 338
   multicast and, 365-66
   QOS and, 338-39
   QOS notifications and, 367-68
   Unicast TCP and, 365
   Unicast UDP and, 364-65
RSVP_ADPEC, 361-62
RSVP_DEFAULT_STYLE, 358
RSVP_FIXED_FILTER_STYLE, 358-59
RSVP_POLICY_INFO, 362
RSVP_RESERVE_INFO, 357-58
RSVP_SHARED_EXPLICIT_STYLE, 359-61
RSVP_STATUS_INFO, 356-57
RSVP_WILDCARD_STYLE, 359
RTMP (Routing Table Maintenance Protocol), 103

S
SAPs (service access points), 117-19
SBM (Subnet Bandwidth Manager), 341
scalability, Winsock applications, 171-99
   AcceptEx, 173-77
   ConnectEx, 183-84
   DisconnectEx, 184
   GetAcceptExSockaddrs, 177-78
   I/O models and, 172
   overview of, 171
   resource management, 190-92
   server strategies, 192-98
   servers, 187-90
   Sockets Direct Protocol, 199
   TransmitFile, 178-81
   TransmitPackets, 181-82
   Winsock Direct, 198
   WSARecvMsg, 185-87
scatter-gather I/O, 28-29
Secure Sockets Layer (SSL), 270
Select model, .NET Sockets, 470
select model, Winsock, 129-33
   fd_set macros, 131-32
   fd_set parameters, 130-31
   LSPs and, 429-33
   overview, 129-30
send function, Winsock, 22-23
Send method, .NET Sockets, 468
SendTo method, .NET Sockets, 469
sendto, Winsock, 34-36
Sequence Packet Exchange (SPX), 94. See also IPX/SPX
serial framing protocols, 510
Serial Line Internet Protocol (SLIP), 510
SERVENT structure, 77
Server APIs, connection-oriented
   accepting connections, 13-16
   binding, 11-12
   listening, 12-13
server side, IP version-independent programs, 83-85
servers
   I/O models and, 171
   scalability, 187-90
   strategies, 192-98
service access points (SAPs), 117-19
service classes, installing, 279-82. See also name registration
   example, 281-82
   service ID macros, 280
   service types, 280
   WSAInstallServiceClass, 279-81
service flags, WSASetService, 283-84
service ID macros, 280
Service Provider Interface. See SPI
service providers. See protocol service providers
service types, 280
ServiceType field, FLOWSPEC structure, 347-48
SetIpNetEntry, 564
SetService, Winsock 1, 275
setsockopt
   definition and parameters, 202-3
   IP multicasting for IPv4, 317-21, 323-24
   IP multicasting for IPv6, 321-23, 324
ShapeDiscardMode field, QOS structure, 355-56
shutdown
   terminating QOS, 353-54
   Winsock, 29-30
SIO_ADDRESS_LIST_CHANGE, 265
SIO_ADDRESS_LIST_QUERY, 64, 263-64
SIO_ADDRESS_LIST_SORT, 264-65
SIO_ASSOCIATE_PVC, 273-74
SIO_CHK_QOS, 257-58, 353
SIO_ENABLE_CIRCULAR QUEUEING, 255
SIO_FIND_ROUTE, 256
SIO_FLUSH, 256
SIO_GET_ATM_ADDRESS, 273
SIO_GET_ATM_CONNECTION_ID, 274
SIO_GET_BROADCAST_ADDRESS, 256
SIO_GET_EXTENSION_FUNCTION_POINTER, 257
SIO_GET_INTERFACE_LIST, 265-66
SIO_GET_INTERFACE_LIST_EX, 266-67
SIO_GET_MULTICAST_FILTER, 267, 326
SIO_GET_NUMBER_OF_ATM_DEVICES, 273
SIO_GET_QOS, 258-59
SIO_INDEX_ADD_MCAST, 268
SIO_INDEX_BIND, 268
SIO_INDEX_DEL_MCAST, 268-69
SIO_INDEX_MCASTIF, 268
SIO_KEEPALIVE_VALS, 260
SIO_MULTICAST_SCOPE, 259-60
SIO_MULTIPOINT_LOOPBACK, 259
SIO_NSP_NOTIFY_CHANGE, 269
SIO_QUERY_TARGET_PNP_HANDLE, 269
SIO_RCVALL, 260-61
SIO_RCVALL_IGMPCAST, 261-62
SIO_RCVALL_MCAST, 261
SIO_ROUTING_INTERFACE_CHANGE, 263
SIO_ROUTING_INTERFACE_QUERY, 262
SIO_SET_MULTICAST_FILTER, 267, 324
SIO_SET_QOS, 259
SIO_UDP_CONNRESET, 269
SIOCATMARK, 254-55
site-local addresses, IPv6, 64-65
SLIP (Serial Line Internet Protocol), 510
SO_ACCEPTCONN, 203
SO_BROADCAST, 203-4
SO_CONDITIONAL_ACCEPT, 204-5
SO_CONFIRM_NAME, 215
SO_CONNECT_TIME, 205
SO_DEBUG, 205-6
SO_DEREGISTER_NAME, 215
SO_DONTLINGER, 206
SO_DONTROUTE, 206-7
SO_ERROR, 207
SO_EXCLUSIVEADDRUSE, 207
SO_GETLOCALZONES, 217
SO_GETMYZONE, 216
SO_GETNETINFO, 218
SO_GETZONELIST, 217
SO_KEEPALIVE, 208
SO_LINGER, 208-9
SO_LOOKUP_MYZONE, 216
SO_LOOKUP_NAME, 216
SO_LOOKUP_NETDEF_ON_ADAPTER, 218
SO_LOOKUP_ZONES, 217
SO_LOOKUP_ZONES_ON_ADAPTER, 217
SO_MAX_MSG_SIZE, 210
SO_OOBINLINE, 210
SO_OPENTYPE, 210
SO_PAP_GET_SERVER_STATUS, 218-19
SO_PAP_PRIME_READ, 219
SO_PAP_SET_SERVER_STATUS, 219
SO_PROTOCOL_INFO, 211
SO_RCVBUF, 211
SO_RCVTIMEO, 212
SO_REGISTER_NAME, 220
SO_REMOVE_NAME, 215
SO_REUSEADDR, 212-13
SO_SNDBUF, 213
SO_SNDTIMEO, 213-14
SO_SSL_GET_CAPABILITIES, 270
SO_SSL_GET_FLAGS, 270
SO_SSL_GET_PROTOCOLS, 271
SO_SSL_PERFORM_HANDSHAKE, 272
SO_SSL_SET_FLAGS, 270-71
SO_SSL_SET_PROTOCOLS, 271
SO_SSL_SET_VALIDATE_CERT_HOOK, 272
SO_TYPE, 214
SO_UPDATE_ACCEPT_CONTEXT, 214-15
SOCK_RAW, 383. See also raw sockets
SOCKADDR_IN, 7, 60-61
SOCKADDR_IN6, 66-67
SOCKADDR_STORAGE structure, 80-81
socket function
   creating raw sockets, 383
   parameters, 54-55
socket models, I/O
   blocking model, 129
   client/server development, 171
   completion port model, 159-68
   overlapped model, 147-59
socket models, I/O
   select model, 129-33
   WSAAsyncSelect model, 133-39
socket modes, I/O
   blocking mode, 124-27
   nonblocking mode, 127-29
socket options
   getsockopt and setsockopt function, 202-3
   ioctl functions. See ioctl functions
   IPPROTO_IP level. See IPPROTO_IP option level
   IPPROTO_IPV6 level. See IPPROTO_IPV6 option level
   IPPROTO_RM level. See IPPROTO_RM option level
   IPPROTO_TCP level, 244-45
   list of, 201
   non-protocol specific. See SQL_SOCKET option level
   NSPROTO_IPX level. See NSPROTO_IPX option level
   SQL_APPLETALK level. See SQL_APPLETALK option level
   SQL_IRLMP level. See SQL_IRLMP option level
   SQL_SOCKET level. See SQL_SOCKET option level
   Windows platforms and, 201
SOCKET_ERROR, 4
sockets
   AppleTalk, creating for, 110-11
   ATM, 116-19
   creating, 54-55
   IPX/SPX, 95-97
   IrSock, 93-94
   LSPs, creating for, 419-27
   NetBIOS, creating for, 100-102
   overview of, 9-10
SPI (Service Provider Interface)
   API prefixes, 402
   architecture of, 402
   layered service providers. See LSPs
   name space providers. See NSPs
SPX (Sequence Packet Exchange), 94. See also IPX/SPX
SQL_APPLETALK option level, 215-20
   SO_CONFIRM_NAME, 215
   SO_DEREGISTER_NAME, SO_REMOVE_NAME, 215
   SO_LOOKUP_MYZONE, SO_GETMYZONE, 216
   SO_LOOKUP_NAME, 216
   SO_LOOKUP_NETDEF_ON_ADAPTER, SO_GETNETINFO, 218
   SO_LOOKUP_ZONES, SO_GETZONELIST, 217
   SO_LOOKUP_ZONES_ON_ADAPTER, SO_GETLOCALZONES, 217
   SO_PAP_GET_SERVER_STATUS, 218-19
   SO_PAP_PRIME_READ, 219
   SO_PAP_SET_SERVER_STATUS, 219
   SO_REGISTER_NAME, 220
SQL_IRLMP option level, 220-25
   IRLMP_9WIRE_MODE, 220
   IRLMP_ENUMDEVICES, 221-22
SQL_IRLMP option level
   IRLMP_EXCLUSIVE_MODE, 222
   IRLMP_IAS_QUERY, 222-23
   IRLMP_IAS_SET, 223-25
   IRLMP_IRLPT_MODE, 225
   IRLMP_SEND_PDU_LEN, 225
SQL_SOCKET option level, 203-15
   SO_ACCEPTCONN, 203
   SO_BROADCAST, 203-4
   SO_CONDITIONAL_ACCEPT, 204-5
   SO_CONNECT_TIME, 205
   SO_DEBUG, 205-6
   SO_DONTLINGER, 206
   SO_DONTROUTE, 206-7
   SO_ERROR, 207
   SO_EXCLUSIVEADDRUSE, 207
   SO_KEEPALIVE, 208
   SO_LINGER, 208-9
   SO_MAX_MSG_SIZE, 210
   SO_OOBINLINE, 210
   SO_OPENTYPE, 210
   SO_PROTOCOL_INFO, 211
   SO_RCVBUF, 211
   SO_RCVTIMEO, 212
   SO_REUSEADDR, 212-13
   SO_SNDBUF, 213
   SO_SNDTIMEO, 213-14
   SO_TYPE, 214
   SO_UPDATE_ACCEPT_CONTEXT, 214-15
SSL ioctl commands. See ioctl commands
SSL (Secure Sockets Layer), 270
static name spaces, 276
stream-based protocols, 26-28, 46-47
Subnet Bandwidth Manager (SBM), 341
synchronous mode, RasDial, 514-16
system architecture, Winsock, 43-45
System.NET.DNS class, 468
System.NET.Enpoint class, 466
System.NET.IPAddress class, 467
System.Net.Sockets, 463. See also .NET Sockets
System.Net.Sockets.SocketException, 473
System.ObjectDisposedException, 473

T
TAPI (Telephony Application Programming Interface), 511
TC API, QOS application components, 342-43
TC (traffic control) module, 342
TCP (Transmission Control Protocol)
   connection states, 549-50
   connection table, retrieving, 548-50
   GGOS example for, 371-80
   IP addressing and, 6-7
   OOB data in, 23-24
   QOS and, 365
   socket options, IPPROTO_TCP, 244-45
TCP (Transmission Control Protocol)
   states, 16-19
   Visual Basic Winsock control, 489-500
TCP_NODELAY, 244-45
TCP/IP: Architecture, Protocols, and Implementation with IPv6 and IP Security (Feit), 488
TCP/IP Illustrated, Volume 1 (Stevens), 387-88, 487
TCP/IP, multicast support in, 315
TDI (Transport Driver Interface), 44
Telephony Application Programming Interface (TAPI), 511
TIME_WAIT, TCP states, 17-18
TokenBucketSize field, FLOWSPEC structure, 346
TokenRate field, FLOWSPEC structure, 345-46
Traceroute utility, 392-93
traffic control (TC) module, 342
TransmitFile, 178-81
   defined, 179
   flags, 180
   parameters of, 179-81
   sending data and, 190
TransmitPackets, 190
   defined, 181
   parameters of, 181-82
   sending data and, 181-82
Transport Driver Interface (TDI), 44
transport service providers. See also LSPs
   API functions of, 404-5
   types of, 401
TTL (time to live) parameters, 316
tunneling protocols, 510

U
UDP (User Datagram Protocol)
   GGOS example for, 380
   IP addressing and, 6-7
   listener table, retrieving, 550-51
   QOS and, 364-65
   Visual Basic Winsock control, 480-88
Understanding IPv6 (Davies), 62
UNI signaling protocol, 112
unicast addresses
   IPv4, 59
   IPv6, 64-66
   TCP and, 365
   UDP and, 364-65
UNICODE, 448
U.S. Department of Defense, 57

V
VBCE (Visual Basic Toolkit for Windows CE), 502, 508
VCs (virtual connections), 111
virtual connections (VCs), 111
Virtual Private Networking (VPN), 509, 534
Visual Basic, 463
Visual Basic Toolkit for Windows CE (VBCE), 502, 508
Visual Basic Winsock control, 475-508
   common errors, 501-2
   events, 479-80
   functions of, 475-76
   limitations of, 500-501
   methods, 478-79
   properties, 476-78
   socket states, 478
   TCP example, 489-500
   UDP example, 480-88
   Windows CE, 502-8
VPN (Virtual Private Networking), 509, 534

W
Win64, 54
Windows platforms
   ATM programming support, 380
   blocking and non-blocking socket modes, 122-27
   GQOS programming techniques, 363
   IGMP multicasting support, 316-17
   internal network numbers, 97
   ioctl commands, 253, 255
   IP Helper APIs, 535
   IPX support, 94
   IrDA socket options, 220
   IrSock and, 87
   multicasting, 311
   NetBIOS support, 99
   QOS and, 337
   RAS and, 509, 511-12
   reliable multicasting, 327-28
   socket models and, 124
   socket options and, 201
   SSL-specific ioctl commands and, 270
   Windows 95, DUN 1.3 upgrade, 513
   Windows CE, 2, 39-40, 87, 502-8
   Windows NT, scalable applications for, 171
   Windows XP, 299
   WINIPCFG.EXE and, 535
   Winsock and, 3-4, 44
WINIPCFG.EXE, 535
Winsock. See also Winsock design
   ATM programming from, 380
   connectionless communication, 30-37
   connection-oriented communication, 10-30
   error checking and handling, 4-6
   headers and libraries, 2
   initializing, 2-4
   IP addressing, 6-9, 60-61
   overview of, 1-2
   QOS and, 344
Winsock
   scatter-gather I/O, 28-29
   sockets, creating, 9-10
   versions of, 2
   Windows platforms and, 3-4, 39-40, 44
Winsock 1, 275
Winsock 2
   enumerating name spaces with, 277
   ioctl commands. See ioctl commands
   name registration and resolution, 275
   overlapped model and, 147
   SPI (Service Provider Interface). See SPI
Winsock catalog, 51-55
   multiple LSPs, 413
   overview of, 51-54
   protocol flags, 53-54
Winsock control. See Visual Basic Winsock control
Winsock design
   protocol characteristics, 45-50
   sockets, creating, 54-55
   system architecture, 43-45
   Win64 and, 54
   Winsock catalog, 51-55
Winsock Direct, 198
Winsock Information, 486, 498
WINSOCK2.H, 43, 201, 255
WINSOCK.H, 201
Winsock-specific extension functions, LSPs and, 442
WINVER, 512
worker threads, completion port model, 160-65
WPUCloseSocketHandle, 427
WPUCreateSocketHandle, 420-21, 427
WPUPostMessage, 436
WSA_QOS_NO_SENDERS, QOS notifications, 369
WSA_QOS_REQUEST_CONFIRMED, QOS notifications, 369
WSA_QOS_SENDERS, QOS notifications, 369
WSAAccept, 14, 350-51
WSAAsyncGetHostByAddr, 75-76
WSAAsyncGetHostByName, 75-76
WSAAsyncGetServByName, 77
WSAAsyncGetServByPort, 77
WSAAsyncSelect model, 133-39
   LSPs and, 433-36
   message notification, 134-39
   network event types, 135
   overview, 133-34
   performance comparisons, 195, 197
WSACancelAsyncRequest, 77
WSACleanup, 4
WSAConnect
   functions of, 350
   QOS and, 349-50
   Winsock client API functions, 19
WSACreateEvent, 139
WSADuplicateSocket, 38-39
WSAENOBUFS error, 190, 192
WSAEnumNameSpaceProviders, 277-78
WSAEnumNetworkEvents, 142-43
WSAEnumProtocols, 51-52
WSAEventSelect model, 140, 188
   event notification, 139-47
   LSPs and, 436
   overview, 139
   performance comparisons of, 195, 197-98
WSAEWOULDBLOCK errors, 128, 191
WSAGetLastError, 4-6
WSAGetQOSByName, 369
WSAInstallServiceClass, 279-81
WSAIoctl
   calling ioctl commands, 253
   definition and parameters, 252
   IP multicasting and, 324-26
   QOS and, 352-53
WSAJoinLeaf
   ATM multipoint and, 335-36
   IP multicasting and, 326-27
   QOS and, 351-52
WSALookupServiceBegin, 290, 292
WSALookupServiceEnd, 290
WSALookupServiceNext, 290, 292
WSANAMESPACE_INFO structure, 278
WSANETWORKEVENTS structure, 143
WSANSPIoctl, 253
WSAOVERLAPPED structure, 148-54, 437-38
WSAPROTOCOL_INFO structure, 52
WSAPROTOCOL_INFOW structure, 406
WSAQUERYSET structure, 285-87, 290-92
WSARecv, 24-26
WSARecvDisconnect, 26
WSARecvFrom, 31-32
WSARecvMsg, 185-86
   defined, 185
   flags, 186
   parameters of, 185-86
WSASend, 22-23
WSASendDisconnect, 23-24
WSASendTo, 34-36
WSASetService, 283-87
WSASocket, 383
WSAStartup, 2-4
WSAStringToAddress, 73-74
WSAWaitForMultipleEvents, 140-42
WSCDeinstallProvider, 412
WSCEnableNSProvider, 447
WSCInstallNameSpace, 446-47
WSCInstallProvider, 408-11
   defined, 408-9
   parameters of, 410-11
WSCUnInstallNameSpace, 447
WSCUpdateProvider, 413
WSPAddressToString, 443
WSPGetSockOpt, 442
WSPIoctl, 443
WSPJoinLeaf, 443
WSPSelect model, 429-33
WSPSetSockOpt, 443
WSPSocket, 419
WSPStartup, 414-19
   calling behavior, 415
   tasks performed by, 416
WSPStringToAddress, 443

X
XML (Extensible Markup Language), 463



Last Updated: January 28, 2002
Top of Page