Latest user-mode winsock code (ws2help.dll, rasadhlp.dll, mswsock.dll,
ws2_32.dll). Doesn't compile/link/work in ROS. Commit only for archival
purposes: mswsock -not- fully tested in windows yet (tests will begin
tomorrow till the ~14th-20th.) - - Missing: wsock32.dll, msafd.dll,
wshtcpip. Will be commited within some days...- - Missing ws2ifsl.sys,
rasacd.sys. Will not be implemented at this point (part of kernel-mode
and optional components)
Added: branches/alex-network-branch/reactos/drivers/net/ws2ifsl/
Added: branches/alex-network-branch/reactos/include/drivers/afd/afd.h
Added: branches/alex-network-branch/reactos/include/drivers/ws2ifsl/
Added:
branches/alex-network-branch/reactos/include/drivers/ws2ifsl/wshdrv.h
Added: branches/alex-network-branch/reactos/include/libs/dnsapi/
Added:
branches/alex-network-branch/reactos/include/libs/dnsapi/windnsp.h
Added: branches/alex-network-branch/reactos/include/libs/dnslib/
Added: branches/alex-network-branch/reactos/include/libs/dnslib/dnslib.h
Added: branches/alex-network-branch/reactos/include/libs/winsock/
Added:
branches/alex-network-branch/reactos/include/libs/winsock/nsp_dns.h
Added:
branches/alex-network-branch/reactos/include/libs/winsock/ws2help.h
Added:
branches/alex-network-branch/reactos/include/libs/winsock/wsahelp.h
Added: branches/alex-network-branch/reactos/lib/dnslib/
Added: branches/alex-network-branch/reactos/lib/dnslib/addr.c
Added: branches/alex-network-branch/reactos/lib/dnslib/debug.c
Added: branches/alex-network-branch/reactos/lib/dnslib/dnsaddr.c
Added: branches/alex-network-branch/reactos/lib/dnslib/dnsutil.c
Added: branches/alex-network-branch/reactos/lib/dnslib/flatbuf.c
Added: branches/alex-network-branch/reactos/lib/dnslib/hostent.c
Added: branches/alex-network-branch/reactos/lib/dnslib/ip6.c
Added: branches/alex-network-branch/reactos/lib/dnslib/memory.c
Added: branches/alex-network-branch/reactos/lib/dnslib/name.c
Added: branches/alex-network-branch/reactos/lib/dnslib/precomp.h
Added: branches/alex-network-branch/reactos/lib/dnslib/print.c
Added: branches/alex-network-branch/reactos/lib/dnslib/record.c
Added: branches/alex-network-branch/reactos/lib/dnslib/rrprint.c
Added: branches/alex-network-branch/reactos/lib/dnslib/sablob.c
Added: branches/alex-network-branch/reactos/lib/dnslib/straddr.c
Added: branches/alex-network-branch/reactos/lib/dnslib/string.c
Added: branches/alex-network-branch/reactos/lib/dnslib/table.c
Added: branches/alex-network-branch/reactos/lib/dnslib/utf8.c
Deleted: branches/alex-network-branch/reactos/lib/msafd/
Deleted: branches/alex-network-branch/reactos/lib/mswsock/extensions.c
Added: branches/alex-network-branch/reactos/lib/mswsock/inc/
Added: branches/alex-network-branch/reactos/lib/mswsock/inc/msafd.h
Added: branches/alex-network-branch/reactos/lib/mswsock/inc/msafdlib.h
Added: branches/alex-network-branch/reactos/lib/mswsock/inc/mswinsock.h
Added: branches/alex-network-branch/reactos/lib/mswsock/inc/rnr20lib.h
Added: branches/alex-network-branch/reactos/lib/mswsock/inc/wsmobile.h
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/init.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/msext.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/mswsock.def
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/mswsock.rc
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/nspeprot.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/nspgaddr.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/nspmisc.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/nspsvc.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/nsptcpip.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/nsputil.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/proc.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/recvex.c
Added: branches/alex-network-branch/reactos/lib/mswsock/lib/setup.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/accept.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/addrconv.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/afdsan.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/async.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/bind.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/connect.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/eventsel.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/getname.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/helper.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/listen.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/nspeprot.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/proc.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/recv.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanaccpt.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanconn.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanflow.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanlistn.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanprov.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanrdma.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanrecv.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sansend.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanshutd.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sansock.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/santf.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sanutil.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/select.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/send.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/shutdown.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sockerr.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/socket.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/sockopt.c
Added: branches/alex-network-branch/reactos/lib/mswsock/msafdlib/spi.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/tpackets.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/tranfile.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/msafdlib/wspmisc.c
Deleted: branches/alex-network-branch/reactos/lib/mswsock/mswsock.def
Deleted: branches/alex-network-branch/reactos/lib/mswsock/mswsock.rc
Deleted: branches/alex-network-branch/reactos/lib/mswsock/mswsock.xml
Added: branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/
Added:
branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/context.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/getserv.c
Added: branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/init.c
Added: branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/logit.c
Added:
branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/lookup.c
Added: branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/nbt.c
Added: branches/alex-network-branch/reactos/lib/mswsock/rnr20lib/nsp.c
[truncated at 100 lines; 28 more skipped]
_____
Added: branches/alex-network-branch/reactos/include/drivers/afd/afd.h
--- branches/alex-network-branch/reactos/include/drivers/afd/afd.h
2005-12-09 02:07:47 UTC (rev 19999)
+++ branches/alex-network-branch/reactos/include/drivers/afd/afd.h
2005-12-09 02:10:31 UTC (rev 20000)
@@ -0,0 +1,458 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Ancillary Function Driver
+ * FILE: include/afd/shared.h
+ * PURPOSE: Shared definitions for AFD.SYS and MSAFD.DLL
+ */
+#ifndef __AFD_SHARED_H
+#define __AFD_SHARED_H
+
+#define AFD_MAX_EVENTS 10
+#define AFD_PACKET_COMMAND_LENGTH 15
+#define AfdCommand "AfdOpenPacketXX"
+
+typedef struct _AFD_CREATE_PACKET
+{
+ DWORD EndpointFlags;
+ DWORD GroupID;
+ DWORD SizeOfTransportName;
+ WCHAR TransportName[1];
+} AFD_CREATE_PACKET, *PAFD_CREATE_PACKET;
+
+typedef struct _AFD_INFO
+{
+ ULONG InformationClass;
+ union
+ {
+ BOOLEAN Boolean;
+ ULONG Ulong;
+ LARGE_INTEGER LargeInteger;
+ } Information;
+ ULONG Unknown;
+} AFD_INFO, *PAFD_INFO;
+
+typedef struct _AFD_TDI_HANDLE_DATA
+{
+ HANDLE TdiAddressHandle;
+ HANDLE TdiConnectionHandle;
+} AFD_TDI_HANDLE_DATA, *PAFD_TDI_HANDLE_DATA;
+
+typedef struct _AFD_BIND_DATA
+{
+ ULONG ShareType;
+ TRANSPORT_ADDRESS Address;
+} AFD_BIND_DATA, *PAFD_BIND_DATA;
+
+typedef struct _AFD_LISTEN_DATA
+{
+ BOOLEAN UseSAN;
+ ULONG Backlog;
+ BOOLEAN UseDelayedAcceptance;
+} AFD_LISTEN_DATA, *PAFD_LISTEN_DATA;
+
+typedef struct _AFD_HANDLE
+{
+ HANDLE Handle;
+ ULONG Events;
+ NTSTATUS Status;
+} AFD_HANDLE, *PAFD_HANDLE;
+
+typedef struct _AFD_POLL_INFO
+{
+ LARGE_INTEGER Timeout;
+ ULONG HandleCount;
+ ULONG Exclusive;
+ AFD_HANDLE Handles[1];
+} AFD_POLL_INFO, *PAFD_POLL_INFO;
+
+typedef struct _AFD_ACCEPT_DATA
+{
+ ULONG UseSAN;
+ ULONG SequenceNumber;
+ HANDLE ListenHandle;
+} AFD_ACCEPT_DATA, *PAFD_ACCEPT_DATA;
+
+typedef struct _AFD_RECEIVED_ACCEPT_DATA
+{
+ ULONG SequenceNumber;
+ TRANSPORT_ADDRESS Address;
+} AFD_RECEIVED_ACCEPT_DATA, *PAFD_RECEIVED_ACCEPT_DATA;
+
+typedef struct _AFD_PENDING_ACCEPT_DATA
+{
+ ULONG SequenceNumber;
+ ULONG SizeOfData;
+ ULONG ReturnSize;
+} AFD_PENDING_ACCEPT_DATA, *PAFD_PENDING_ACCEPT_DATA;
+
+typedef struct _AFD_DEFER_ACCEPT_DATA
+{
+ ULONG SequenceNumber;
+ BOOLEAN RejectConnection;
+} AFD_DEFER_ACCEPT_DATA, *PAFD_DEFER_ACCEPT_DATA;
+
+typedef struct _AFD_RECV_INFO
+{
+ LPWSABUF BufferArray;
+ ULONG BufferCount;
+ ULONG AfdFlags;
+ ULONG TdiFlags;
+} AFD_RECV_INFO, *PAFD_RECV_INFO;
+
+typedef struct _AFD_RECV_INFO_UDP
+{
+ LPWSABUF BufferArray;
+ ULONG BufferCount;
+ ULONG AfdFlags;
+ ULONG TdiFlags;
+ PVOID Address;
+ PINT AddressLength;
+} AFD_RECV_INFO_UDP, *PAFD_RECV_INFO_UDP;
+
+typedef struct _AFD_SEND_INFO
+{
+ LPWSABUF BufferArray;
+ ULONG BufferCount;
+ ULONG AfdFlags;
+ ULONG TdiFlags;
+} AFD_SEND_INFO , *PAFD_SEND_INFO;
+
+typedef struct _AFD_SEND_INFO_UDP
+{
+ LPWSABUF BufferArray;
+ ULONG BufferCount;
+ ULONG AfdFlags;
+ TDI_REQUEST_SEND_DATAGRAM TdiRequest;
+ TDI_CONNECTION_INFORMATION TdiConnection;
+} AFD_SEND_INFO_UDP, *PAFD_SEND_INFO_UDP;
+
+typedef struct _AFD_CONNECT_INFO
+{
+ BOOLEAN UseSAN;
+ ULONG Root;
+ ULONG Unknown;
+ TRANSPORT_ADDRESS RemoteAddress;
+} AFD_CONNECT_INFO , *PAFD_CONNECT_INFO ;
+
+typedef struct _AFD_EVENT_SELECT_INFO
+{
+ HANDLE EventObject;
+ ULONG Events;
+} AFD_EVENT_SELECT_INFO, *PAFD_EVENT_SELECT_INFO;
+
+typedef struct _AFD_ENUM_NETWORK_EVENTS_INFO
+{
+ HANDLE Event;
+ ULONG PollEvents;
+ NTSTATUS EventStatus[AFD_MAX_EVENTS];
+} AFD_ENUM_NETWORK_EVENTS_INFO, *PAFD_ENUM_NETWORK_EVENTS_INFO;
+
+typedef struct _AFD_DISCONNECT_INFO
+{
+ ULONG DisconnectType;
+ ULONG Unknown;
+ LARGE_INTEGER Timeout;
+} AFD_DISCONNECT_INFO, *PAFD_DISCONNECT_INFO;
+
+typedef struct _AFD_VALIDATE_GROUP_DATA
+{
+ LONG GroupId;
+ TRANSPORT_ADDRESS Address;
+} AFD_VALIDATE_GROUP_DATA, *PAFD_VALIDATE_GROUP_DATA;
+
+/* AFD Packet Endpoint Flags */
+#define AFD_ENDPOINT_CONNECTIONLESS 0x1
+#define AFD_ENDPOINT_MESSAGE_ORIENTED 0x10
+#define AFD_ENDPOINT_RAW 0x100
+#define AFD_ENDPOINT_MULTIPOINT 0x1000
+#define AFD_ENDPOINT_C_ROOT 0x10000
+#define AFD_ENDPOINT_D_ROOT 0x100000
+
+/* AFD Info Flags */
+#define AFD_INFO_INLINING_MODE 0x01L
+#define AFD_INFO_BLOCKING_MODE 0x02L
+#define AFD_INFO_SENDS_IN_PROGRESS 0x04L
+#define AFD_INFO_RECEIVE_WINDOW_SIZE 0x06L
+#define AFD_INFO_SEND_WINDOW_SIZE 0x07L
+#define AFD_INFO_GROUP_ID_TYPE 0x10L
+
+/* AFD TDI Query Flags */
+#define AFD_ADDRESS_HANDLE 0x1L
+#define AFD_CONNECTION_HANDLE 0x2L
+
+/* AFD Share Flags */
+#define AFD_SHARE_UNIQUE 0x0L
+#define AFD_SHARE_REUSE 0x1L
+#define AFD_SHARE_WILDCARD 0x2L
+#define AFD_SHARE_EXCLUSIVE 0x3L
+
+/* AFD Disconnect Flags */
+#define AFD_DISCONNECT_SEND 0x01L
+#define AFD_DISCONNECT_RECV 0x02L
+#define AFD_DISCONNECT_ABORT 0x04L
+#define AFD_DISCONNECT_DATAGRAM 0x08L
+
+/* AFD Event Bits, similar to FD bits in winsock2.h */
+#define AFD_EVENT_RECEIVE_BIT 0
+#define AFD_EVENT_OOB_RECEIVE_BIT 1
+#define AFD_EVENT_SEND_BIT 2
+#define AFD_EVENT_DISCONNECT_BIT 3
+#define AFD_EVENT_ABORT_BIT 4
+#define AFD_EVENT_CLOSE_BIT 5
+#define AFD_EVENT_CONNECT_BIT 6
+#define AFD_EVENT_ACCEPT_BIT 7
+#define AFD_EVENT_CONNECT_FAIL_BIT 8
+#define AFD_EVENT_QOS_BIT 9
+#define AFD_EVENT_GROUP_QOS_BIT 10
+#define AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT 11
+#define AFD_EVENT_ADDRESS_LIST_CHANGE_BIT 12
+#define AFD_MAX_EVENT 13
+#define AFD_ALL_EVENTS ((1 << AFD_MAX_EVENT) -
1)
+
+/* AFD Event Flags */
+#define AFD_EVENT_RECEIVE (1 <<
AFD_EVENT_RECEIVE_BIT)
+#define AFD_EVENT_OOB_RECEIVE (1 <<
AFD_EVENT_OOB_RECEIVE_BIT)
+#define AFD_EVENT_SEND (1 << AFD_EVENT_SEND_BIT)
+#define AFD_EVENT_DISCONNECT (1 <<
AFD_EVENT_DISCONNECT_BIT)
+#define AFD_EVENT_ABORT (1 << AFD_EVENT_ABORT_BIT)
+#define AFD_EVENT_CLOSE (1 << AFD_EVENT_CLOSE_BIT)
+#define AFD_EVENT_CONNECT (1 <<
AFD_EVENT_CONNECT_BIT)
+#define AFD_EVENT_ACCEPT (1 << AFD_EVENT_ACCEPT_BIT)
+#define AFD_EVENT_CONNECT_FAIL (1 <<
AFD_EVENT_CONNECT_FAIL_BIT)
+#define AFD_EVENT_QOS (1 << AFD_EVENT_QOS_BIT)
+#define AFD_EVENT_GROUP_QOS (1 <<
AFD_EVENT_GROUP_QOS_BIT)
+#define AFD_EVENT_ROUTING_INTERFACE_CHANGE (1 <<
AFD_EVENT_ROUTING_INTERFACE_CHANGE_BIT)
+#define AFD_EVENT_ADDRESS_LIST_CHANGE (1 <<
AFD_EVENT_ADDRESS_LIST_CHANGE_BIT)
+
+/* AFD SEND/RECV Flags */
+#define AFD_SKIP_FIO 0x1L
+#define AFD_OVERLAPPED 0x2L
+#define AFD_IMMEDIATE 0x4L
+
+/* IOCTL Generation */
+#define FSCTL_AFD_BASE FILE_DEVICE_NETWORK
+#define _AFD_CONTROL_CODE(Operation,Method) \
+ ((FSCTL_AFD_BASE)<<12 | (Operation<<2) | Method)
+
+/* AFD Commands */
+#define AFD_BIND 0
+#define AFD_CONNECT 1
+#define AFD_START_LISTEN 2
+#define AFD_WAIT_FOR_LISTEN 3
+#define AFD_ACCEPT 4
+#define AFD_RECV 5
+#define AFD_RECV_DATAGRAM 6
+#define AFD_SEND 7
+#define AFD_SEND_DATAGRAM 8
+#define AFD_SELECT 9
+#define AFD_DISCONNECT 10
+#define AFD_GET_SOCK_NAME 11
+#define AFD_GET_PEER_NAME 12
+#define AFD_GET_TDI_HANDLES 13
+#define AFD_SET_INFO 14
+#define AFD_GET_CONTEXT_SIZE 15
+#define AFD_GET_CONTEXT 16
+#define AFD_SET_CONTEXT 17
+#define AFD_SET_CONNECT_DATA 18
+#define AFD_SET_CONNECT_OPTIONS 19
+#define AFD_SET_DISCONNECT_DATA 20
+#define AFD_SET_DISCONNECT_OPTIONS 21
+#define AFD_GET_CONNECT_DATA 22
+#define AFD_GET_CONNECT_OPTIONS 23
+#define AFD_GET_DISCONNECT_DATA 24
+#define AFD_GET_DISCONNECT_OPTIONS 25
+#define AFD_SET_CONNECT_DATA_SIZE 26
+#define AFD_SET_CONNECT_OPTIONS_SIZE 27
+#define AFD_SET_DISCONNECT_DATA_SIZE 28
+#define AFD_SET_DISCONNECT_OPTIONS_SIZE 29
+#define AFD_GET_INFO 30
+#define AFD_EVENT_SELECT 33
+#define AFD_ENUM_NETWORK_EVENTS 34
+#define AFD_DEFER_ACCEPT 35
+#define AFD_GET_PENDING_CONNECT_DATA 41
+#define AFD_VALIDATE_GROUP 42
+
+/* AFD IOCTLs */
+
+#define IOCTL_AFD_BIND \
+ _AFD_CONTROL_CODE(AFD_BIND, METHOD_NEITHER)
+#define IOCTL_AFD_CONNECT \
+ _AFD_CONTROL_CODE(AFD_CONNECT, METHOD_NEITHER)
+#define IOCTL_AFD_START_LISTEN \
+ _AFD_CONTROL_CODE(AFD_START_LISTEN, METHOD_NEITHER)
+#define IOCTL_AFD_WAIT_FOR_LISTEN \
+ _AFD_CONTROL_CODE(AFD_WAIT_FOR_LISTEN, METHOD_BUFFERED )
+#define IOCTL_AFD_ACCEPT \
+ _AFD_CONTROL_CODE(AFD_ACCEPT, METHOD_BUFFERED )
+#define IOCTL_AFD_RECV \
+ _AFD_CONTROL_CODE(AFD_RECV, METHOD_NEITHER)
+#define IOCTL_AFD_RECV_DATAGRAM \
+ _AFD_CONTROL_CODE(AFD_RECV_DATAGRAM, METHOD_NEITHER)
+#define IOCTL_AFD_SEND \
+ _AFD_CONTROL_CODE(AFD_SEND, METHOD_NEITHER)
+#define IOCTL_AFD_SEND_DATAGRAM \
+ _AFD_CONTROL_CODE(AFD_SEND_DATAGRAM, METHOD_NEITHER)
+#define IOCTL_AFD_SELECT \
+ _AFD_CONTROL_CODE(AFD_SELECT, METHOD_BUFFERED )
+#define IOCTL_AFD_DISCONNECT \
+ _AFD_CONTROL_CODE(AFD_DISCONNECT, METHOD_NEITHER)
+#define IOCTL_AFD_GET_SOCK_NAME \
+ _AFD_CONTROL_CODE(AFD_GET_SOCK_NAME, METHOD_NEITHER)
+#define IOCTL_AFD_GET_PEER_NAME \
+ _AFD_CONTROL_CODE(AFD_GET_PEER_NAME, METHOD_NEITHER)
+#define IOCTL_AFD_GET_TDI_HANDLES \
+ _AFD_CONTROL_CODE(AFD_GET_TDI_HANDLES, METHOD_NEITHER)
+#define IOCTL_AFD_SET_INFO \
+ _AFD_CONTROL_CODE(AFD_SET_INFO, METHOD_NEITHER)
+#define IOCTL_AFD_GET_CONTEXT_SIZE \
+ _AFD_CONTROL_CODE(AFD_GET_CONTEXT_SIZE, METHOD_NEITHER)
+#define IOCTL_AFD_GET_CONTEXT \
+ _AFD_CONTROL_CODE(AFD_GET_CONTEXT, METHOD_NEITHER)
+#define IOCTL_AFD_SET_CONTEXT \
+ _AFD_CONTROL_CODE(AFD_SET_CONTEXT, METHOD_NEITHER)
+#define IOCTL_AFD_SET_CONNECT_DATA \
+ _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA, METHOD_NEITHER)
+#define IOCTL_AFD_SET_CONNECT_OPTIONS \
+ _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS, METHOD_NEITHER)
+#define IOCTL_AFD_SET_DISCONNECT_DATA \
+ _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA, METHOD_NEITHER)
+#define IOCTL_AFD_SET_DISCONNECT_OPTIONS \
+ _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS, METHOD_NEITHER)
+#define IOCTL_AFD_GET_CONNECT_DATA \
+ _AFD_CONTROL_CODE(AFD_GET_CONNECT_DATA, METHOD_NEITHER)
+#define IOCTL_AFD_GET_CONNECT_OPTIONS \
+ _AFD_CONTROL_CODE(AFD_GET_CONNECT_OPTIONS, METHOD_NEITHER)
+#define IOCTL_AFD_GET_DISCONNECT_DATA \
+ _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_DATA, METHOD_NEITHER)
+#define IOCTL_AFD_GET_DISCONNECT_OPTIONS \
+ _AFD_CONTROL_CODE(AFD_GET_DISCONNECT_OPTIONS, METHOD_NEITHER)
+#define IOCTL_AFD_SET_CONNECT_DATA_SIZE \
+ _AFD_CONTROL_CODE(AFD_SET_CONNECT_DATA_SIZE, METHOD_NEITHER)
+#define IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE \
+ _AFD_CONTROL_CODE(AFD_SET_CONNECT_OPTIONS_SIZE, METHOD_NEITHER)
+#define IOCTL_AFD_SET_DISCONNECT_DATA_SIZE \
+ _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_DATA_SIZE, METHOD_NEITHER)
+#define IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE \
+ _AFD_CONTROL_CODE(AFD_SET_DISCONNECT_OPTIONS_SIZE, METHOD_NEITHER)
+#define IOCTL_AFD_GET_INFO \
+ _AFD_CONTROL_CODE(AFD_GET_INFO, METHOD_NEITHER)
+#define IOCTL_AFD_EVENT_SELECT \
+ _AFD_CONTROL_CODE(AFD_EVENT_SELECT, METHOD_NEITHER)
+#define IOCTL_AFD_DEFER_ACCEPT \
+ _AFD_CONTROL_CODE(AFD_DEFER_ACCEPT, METHOD_NEITHER)
+#define IOCTL_AFD_GET_PENDING_CONNECT_DATA \
+ _AFD_CONTROL_CODE(AFD_GET_PENDING_CONNECT_DATA, METHOD_NEITHER)
+#define IOCTL_AFD_ENUM_NETWORK_EVENTS \
+ _AFD_CONTROL_CODE(AFD_ENUM_NETWORK_EVENTS, METHOD_NEITHER)
+#define IOCTL_AFD_VALIDATE_GROUP \
+ _AFD_CONTROL_CODE(AFD_VALIDATE_GROUP, METHOD_NEITHER)
+
+typedef struct _AFD_SOCKET_INFORMATION {
+ BOOL CommandChannel;
+ INT AddressFamily;
+ INT SocketType;
+ INT Protocol;
+ PVOID HelperContext;
+ DWORD NotificationEvents;
+ UNICODE_STRING TdiDeviceName;
+ SOCKADDR Name;
+} AFD_SOCKET_INFORMATION, *PAFD_SOCKET_INFORMATION;
+
+typedef struct _FILE_REQUEST_BIND {
+ SOCKADDR Name;
+} FILE_REQUEST_BIND, *PFILE_REQUEST_BIND;
+
+typedef struct _FILE_REPLY_BIND {
+ INT Status;
+ HANDLE TdiAddressObjectHandle;
+ HANDLE TdiConnectionObjectHandle;
+} FILE_REPLY_BIND, *PFILE_REPLY_BIND;
+
+typedef struct _FILE_REQUEST_LISTEN {
+ INT Backlog;
+} FILE_REQUEST_LISTEN, *PFILE_REQUEST_LISTEN;
+
+typedef struct _FILE_REPLY_LISTEN {
+ INT Status;
+} FILE_REPLY_LISTEN, *PFILE_REPLY_LISTEN;
+
+typedef struct _FILE_REQUEST_SENDTO {
+ LPWSABUF Buffers;
+ DWORD BufferCount;
+ DWORD Flags;
+ SOCKADDR To;
+ INT ToLen;
+} FILE_REQUEST_SENDTO, *PFILE_REQUEST_SENDTO;
+
+typedef struct _FILE_REPLY_SENDTO {
+ INT Status;
+ DWORD NumberOfBytesSent;
+} FILE_REPLY_SENDTO, *PFILE_REPLY_SENDTO;
+
+typedef struct _FILE_REQUEST_RECVFROM {
+ LPWSABUF Buffers;
+ DWORD BufferCount;
+ LPDWORD Flags;
+ LPSOCKADDR From;
+ LPINT FromLen;
+} FILE_REQUEST_RECVFROM, *PFILE_REQUEST_RECVFROM;
+
+typedef struct _FILE_REPLY_RECVFROM {
+ INT Status;
+ DWORD NumberOfBytesRecvd;
+} FILE_REPLY_RECVFROM, *PFILE_REPLY_RECVFROM;
+
+typedef struct _FILE_REQUEST_RECV {
+ LPWSABUF Buffers;
+ DWORD BufferCount;
+ LPDWORD Flags;
+} FILE_REQUEST_RECV, *PFILE_REQUEST_RECV;
+
+typedef struct _FILE_REPLY_RECV {
+ INT Status;
+ DWORD NumberOfBytesRecvd;
+} FILE_REPLY_RECV, *PFILE_REPLY_RECV;
+
+
+typedef struct _FILE_REQUEST_SEND {
+ LPWSABUF Buffers;
+ DWORD BufferCount;
+ DWORD Flags;
+} FILE_REQUEST_SEND, *PFILE_REQUEST_SEND;
+
+typedef struct _FILE_REPLY_SEND {
+ INT Status;
+ DWORD NumberOfBytesSent;
+} FILE_REPLY_SEND, *PFILE_REPLY_SEND;
+
+
+typedef struct _FILE_REQUEST_ACCEPT {
+ LPSOCKADDR addr;
+ INT addrlen;
+ LPCONDITIONPROC lpfnCondition;
+ DWORD dwCallbackData;
+} FILE_REQUEST_ACCEPT, *PFILE_REQUEST_ACCEPT;
+
+typedef struct _FILE_REPLY_ACCEPT {
+ INT Status;
+ INT addrlen;
+ SOCKET Socket;
+} FILE_REPLY_ACCEPT, *PFILE_REPLY_ACCEPT;
+
+
+typedef struct _FILE_REQUEST_CONNECT {
+ LPSOCKADDR name;
+ INT namelen;
+ LPWSABUF lpCallerData;
+ LPWSABUF lpCalleeData;
+ LPQOS lpSQOS;
+ LPQOS lpGQOS;
+} FILE_REQUEST_CONNECT, *PFILE_REQUEST_CONNECT;
+
+typedef struct _FILE_REPLY_CONNECT {
+ INT Status;
+} FILE_REPLY_CONNECT, *PFILE_REPLY_CONNECT;
+
+#endif /*__AFD_SHARED_H */
+
+/* EOF */
_____
Added:
branches/alex-network-branch/reactos/include/drivers/ws2ifsl/wshdrv.h
---
branches/alex-network-branch/reactos/include/drivers/ws2ifsl/wshdrv.h
2005-12-09 02:07:47 UTC (rev 19999)
+++
branches/alex-network-branch/reactos/include/drivers/ws2ifsl/wshdrv.h
2005-12-09 02:10:31 UTC (rev 20000)
@@ -0,0 +1,28 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS WinSock 2 DLL
+ * FILE: include/drivers/ws2ifsl/wshdrv.h
+ * PURPOSE: WinSock 2 Helper Driver header
+ */
+
+#ifndef __WSHDRV_H
+#define __WSHDRV_H
+
+typedef struct _WSH_EA_DATA
+{
+ HANDLE FileHandle;
+ PVOID Context;
+} WSH_EA_DATA, *PWAH_EA_DATA;
+
+typedef struct _WAH_EA_DATA2
+{
+ HANDLE ThreadHandle;
+ PVOID RequestRoutine;
+ PVOID CancelRoutine;
+ PVOID ApcContext;
+ ULONG Reserved;
+} WAH_EA_DATA2, *PWAH_EA_DATA2;
+
+#define IOCTL_WS2IFSL_SET_HANDLE 0x12B00
+
+#endif
_____
Added:
branches/alex-network-branch/reactos/include/libs/dnsapi/windnsp.h
--- branches/alex-network-branch/reactos/include/libs/dnsapi/windnsp.h
2005-12-09 02:07:47 UTC (rev 19999)
+++ branches/alex-network-branch/reactos/include/libs/dnsapi/windnsp.h
2005-12-09 02:10:31 UTC (rev 20000)
@@ -0,0 +1,28 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS DNSAPI Header
+ * FILE: include/libs/dns/windnsp.h
+ * PURPOSE: DNSLIB Precompiled Header
+ */
+
+PVOID
+WINAPI
+DnsApiAlloc(
+ IN DWORD Size
+);
+
+PVOID
+WINAPI
+DnsQueryConfigAllocEx(
+ IN DNS_CONFIG_TYPE Config,
+ OUT PVOID pBuffer,
+ IN OUT PDWORD pBufferLength
+);
+
+PVOID
+WINAPI
+DnsApiFree(
+ IN PVOID pBuffer
+);
+
+/* EOF */
_____
Added: branches/alex-network-branch/reactos/include/libs/dnslib/dnslib.h
--- branches/alex-network-branch/reactos/include/libs/dnslib/dnslib.h
2005-12-09 02:07:47 UTC (rev 19999)
+++ branches/alex-network-branch/reactos/include/libs/dnslib/dnslib.h
2005-12-09 02:10:31 UTC (rev 20000)
@@ -0,0 +1,343 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Ancillary Function Driver DLL
+ * FILE: include/mswsock.h
+ * PURPOSE: Ancillary Function Driver DLL header
+ */
+#ifndef __DNSLIB_H
+#define __DNSLIB_H
+
+/* INCLUDES
******************************************************************/
+#include <ws2atm.h>
+
+/* ENUMERATIONS
**************************************************************/
+
+typedef enum _DNS_STRING_TYPE
+{
+ UnicodeString = 1,
+ Utf8String,
+ AnsiString,
+} DNS_STRING_TYPE;
+
+#define IpV4Address 3
+
+/* TYPES
*********************************************************************/
+
+typedef struct _DNS_IPV6_ADDRESS
+{
+ ULONG Unknown;
+ ULONG Unknown2;
+ IP6_ADDRESS Address;
+ ULONG Unknown3;
+ ULONG Unknown4;
+ DWORD Reserved;
+ ULONG Unknown5;
+} DNS_IPV6_ADDRESS, *PDNS_IPV6_ADDRESS;
+
+typedef struct _DNS_ADDRESS
+{
+ union
+ {
+ struct
+ {
+ WORD AddressFamily;
+ WORD Port;
+ ATM_ADDRESS AtmAddress;
+ };
+ SOCKADDR_IN Ip4Address;
+ SOCKADDR_IN6 Ip6Address;
+ };
+ ULONG AddressLength;
+ DWORD Sub;
+ ULONG Flag;
+} DNS_ADDRESS, *PDNS_ADDRESS;
+
+typedef struct _DNS_ARRAY
+{
+ ULONG AllocatedAddresses;
+ ULONG UsedAddresses;
+ ULONG Unknown[0x6];
+ DNS_ADDRESS Addresses[1];
+} DNS_ARRAY, *PDNS_ARRAY;
+
+typedef struct _DNS_BLOB
+{
+ LPWSTR Name;
+ PDNS_ARRAY DnsAddrArray;
+ PHOSTENT Hostent;
+ ULONG AliasCount;
+ ULONG Unknown;
+ LPWSTR Aliases[8];
+} DNS_BLOB, *PDNS_BLOB;
+
+typedef struct _DNS_FAMILY_INFO
+{
+ WORD AddrType;
+ WORD DnsType;
+ DWORD AddressSize;
+ DWORD SockaddrSize;
+ DWORD AddressOffset;
+} DNS_FAMILY_INFO, *PDNS_FAMILY_INFO;
+
+typedef struct _FLATBUFF
+{
+ PVOID Buffer;
+ PVOID BufferEnd;
+ ULONG_PTR BufferPos;
+ SIZE_T BufferSize;
+ SIZE_T BufferFreeSize;
+} FLATBUFF, *PFLATBUFF;
+
+/*
+ * memory.c
+ */
+VOID
+WINAPI
+Dns_Free(IN PVOID Address);
+
+PVOID
+WINAPI
+Dns_AllocZero(IN SIZE_T Size);
+
+/*
+ * addr.c
+ */
+PDNS_FAMILY_INFO
+WINAPI
+FamilyInfo_GetForFamily(IN WORD AddressFamily);
+
+/*
+ * dnsaddr.c
+ */
+VOID
+WINAPI
+DnsAddr_BuildFromIp4(
+ IN PDNS_ADDRESS DnsAddress,
+ IN IN_ADDR Address,
+ IN WORD Unknown
+);
+
+VOID
+WINAPI
+DnsAddr_BuildFromIp6(
+ IN PDNS_ADDRESS DnsAddress,
+ IN PIN6_ADDR Address,
+ IN ULONG ScopeId,
+ IN WORD Port
+);
+
+PDNS_ARRAY
+WINAPI
+DnsAddrArray_Create(ULONG Count);
+
+BOOL
+WINAPI
+DnsAddrArray_AddAddr(
+ IN PDNS_ARRAY DnsAddrArray,
+ IN PDNS_ADDRESS DnsAddress,
+ IN WORD AddressFamily OPTIONAL,
+ IN DWORD AddressType OPTIONAL
+);
+
+VOID
+WINAPI
+DnsAddrArray_Free(IN PDNS_ARRAY DnsAddrArray);
+
+BOOL
+WINAPI
+DnsAddrArray_AddIp4(
+ IN PDNS_ARRAY DnsAddrArray,
+ IN IN_ADDR Address,
+ IN DWORD AddressType
+);
+
+BOOL
+WINAPI
+DnsAddrArray_ContainsAddr(
+ IN PDNS_ARRAY DnsAddrArray,
+ IN PDNS_ADDRESS DnsAddress,
+ IN DWORD AddressType
+);
+
+BOOLEAN
+WINAPI
+DnsAddr_BuildFromDnsRecord(
+ IN PDNS_RECORD DnsRecord,
+ OUT PDNS_ADDRESS DnsAddr
+);
+
+/*
+ * hostent.c
+ */
+PHOSTENT
+WINAPI
+Hostent_Init(
+ IN PVOID *Buffer,
+ IN WORD AddressFamily,
+ IN ULONG AddressSize,
+ IN ULONG AddressCount,
+ IN ULONG AliasCount
+);
+
+VOID
+WINAPI
+Hostent_ConvertToOffsets(IN PHOSTENT Hostent);
+
+/*
+ * flatbuf.c
+ */
+VOID
+WINAPI
+FlatBuf_Init(
+ IN PFLATBUFF FlatBuffer,
+ IN PVOID Buffer,
+ IN SIZE_T Size
+);
+
+PVOID
+WINAPI
+FlatBuf_Arg_CopyMemory(
+ IN PVOID Position,
+ IN PSIZE_T FreeSize,
+ IN PVOID Buffer,
+ IN SIZE_T Size,
+ IN ULONG Align
+);
+
+PVOID
+WINAPI
+FlatBuf_Arg_Reserve(
+ IN PVOID Position,
+ IN PSIZE_T FreeSize,
+ IN SIZE_T Size,
+ IN ULONG Align
+);
+
+PVOID
+WINAPI
+FlatBuf_Arg_WriteString(
+ IN PVOID Position,
+ IN PSIZE_T FreeSize,
+ IN PVOID String,
+ IN BOOLEAN IsUnicode
+);
+
+/*
+ * sablob.c
+ */
+PDNS_BLOB
+WINAPI
+SaBlob_Create(
+ IN ULONG Count
+);
+
+PDNS_BLOB
+WINAPI
+SaBlob_CreateFromIp4(
+ IN LPWSTR Name,
+ IN ULONG Count,
+ IN PVOID Array
+);
+
+VOID
+WINAPI
+SaBlob_Free(IN PDNS_BLOB Blob);
+
+PHOSTENT
+WINAPI
+SaBlob_CreateHostent(
+ IN OUT PULONG_PTR BufferPosition,
+ IN OUT PSIZE_T RemainingBufferSpace,
+ IN OUT PSIZE_T HostEntrySize,
+ IN PDNS_BLOB Blob,
+ IN DWORD StringType,
+ IN BOOLEAN Relative,
+ IN BOOLEAN BufferAllocated
+);
+
+INT
+WINAPI
+SaBlob_WriteNameOrAlias(
+ IN PDNS_BLOB Blob,
+ IN LPWSTR String,
+ IN BOOLEAN IsAlias
+);
+
+PDNS_BLOB
+WINAPI
+SaBlob_Query(
+ IN LPWSTR Name,
+ IN WORD DnsType,
+ IN ULONG Flags,
+ IN PVOID *Reserved,
+ IN DWORD AddressFamily
+);
+
+/*
+ * string.c
+ */
+ULONG
+WINAPI
+Dns_StringCopy(
+ OUT PVOID Destination,
+ IN OUT PULONG DestinationSize,
+ IN PVOID String,
+ IN ULONG StringSize OPTIONAL,
+ IN DWORD InputType,
+ IN DWORD OutputType
+);
+
+LPWSTR
+WINAPI
+Dns_CreateStringCopy_W(IN LPWSTR Name);
+
+ULONG
+WINAPI
+Dns_GetBufferLengthForStringCopy(
+ IN PVOID String,
+ IN ULONG Size OPTIONAL,
+ IN DWORD InputType,
+ IN DWORD OutputType
+);
+
+/*
+ * straddr.c
+ */
+BOOLEAN
+WINAPI
+Dns_StringToAddressW(
+ OUT PVOID Address,
+ IN OUT PULONG AddressSize,
+ IN LPWSTR AddressName,
+ IN OUT PDWORD AddressFamily
+);
+
+LPWSTR
+WINAPI
+Dns_Ip4AddressToReverseName_W(
+ OUT LPWSTR Name,
+ IN IN_ADDR Address
+);
+
+LPWSTR
+WINAPI
+Dns_Ip6AddressToReverseName_W(
+ OUT LPWSTR Name,
+ IN IN6_ADDR Address
+);
+
+BOOLEAN
+WINAPI
+Dns_ReverseNameToDnsAddr_W(
+ OUT PDNS_ADDRESS DnsAddr,
+ IN LPWSTR Name
+);
+
+BOOLEAN
+WINAPI
+Dns_Ip4ReverseNameToAddress_W(
+ OUT PIN_ADDR Address,
+ IN LPWSTR Name
+);
+
+#endif
_____
Added:
branches/alex-network-branch/reactos/include/libs/winsock/nsp_dns.h
--- branches/alex-network-branch/reactos/include/libs/winsock/nsp_dns.h
2005-12-09 02:07:47 UTC (rev 19999)
+++ branches/alex-network-branch/reactos/include/libs/winsock/nsp_dns.h
2005-12-09 02:10:31 UTC (rev 20000)
@@ -0,0 +1,25 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS WinSock 2 Headers
+ * FILE: include/winsock/nsp_dns.h
+ * PURPOSE: WinSock 2 Shared NSP Header
+ */
+
+#ifndef __NSP_DNS_H
+#define __NSP_DNS_H
+
+/* Includes */
+#include <svcguid.h>
+
+/* Globals */
+static GUID HostnameGuid = SVCID_HOSTNAME;
+static GUID AddressGuid = SVCID_INET_HOSTADDRBYINETSTRING;
+static GUID HostAddrByNameGuid = SVCID_INET_HOSTADDRBYNAME;
+static GUID IANAGuid = SVCID_INET_SERVICEBYNAME;
+static GUID InetHostName = SVCID_INET_HOSTADDRBYNAME;
+static GUID Ipv6Guid = SVCID_DNS_TYPE_AAAA;
+
+/* Macros and Defines */
+#define RNR_BUFFER_SIZE 512
+
+#endif
\ No newline at end of file
_____
Added:
branches/alex-network-branch/reactos/include/libs/winsock/ws2help.h
--- branches/alex-network-branch/reactos/include/libs/winsock/ws2help.h
2005-12-09 02:07:47 UTC (rev 19999)
+++ branches/alex-network-branch/reactos/include/libs/winsock/ws2help.h
2005-12-09 02:10:31 UTC (rev 20000)
@@ -0,0 +1,139 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS WinSock 2 Helper DLL
+ * FILE: include/libs/winsock/ws2help.h
+ * PURPOSE: WinSock 2 Helper DLL header
+ */
+
+#ifndef __WS2HELP_H
+#define __WS2HELP_H
+
+typedef struct _WSH_HANDLE_TABLE *PWAH_HANDLE_TABLE;
+
+typedef struct _WSH_HANDLE
+{
+ LONG RefCount;
+ HANDLE Handle;
+} WSH_HANDLE, *PWAH_HANDLE;
+
+typedef BOOL
+(WINAPI *PWAH_HANDLE_ENUMERATE_PROC)(
+ IN PVOID Context,
+ IN PWAH_HANDLE Handle
+);
+
+PWAH_HANDLE
+WINAPI
+WahReferenceContextByHandle(
+ IN PWAH_HANDLE_TABLE Table,
+ IN HANDLE Handle
+);
+
+DWORD
+WINAPI
+WahRemoveHandleContext(
+ IN PWAH_HANDLE_TABLE Table,
+ IN PWAH_HANDLE Handle
+);
+
+DWORD
+WINAPI
+WahCloseSocketHandle(
+ IN HANDLE HelperHandle,
+ IN SOCKET Socket
+);
+
+DWORD
+WINAPI
+WahOpenCurrentThread(
+ IN HANDLE HelperHandle,
+ OUT LPWSATHREADID ThreadId
+);
+
+DWORD
+WINAPI
+WahCloseApcHelper(
+ IN HANDLE HelperHandle
+);
+
+DWORD
+WINAPI
+WahCloseThread(
+ IN HANDLE HelperHandle,
+ IN LPWSATHREADID ThreadId
+);
+
+DWORD
+WINAPI
+WahCloseHandleHelper(
+ IN HANDLE HelperHandle
+);
+
+DWORD
+WINAPI
+WahCloseNotificationHandleHelper(
+ IN HANDLE HelperHandle
+);
+
+DWORD
+WINAPI
+WahOpenNotificationHandleHelper(
+ OUT PHANDLE HelperHandle
+);
+
+DWORD
+WINAPI
+WahCreateNotificationHandle(
+ IN HANDLE HelperHandle,
[truncated at 1000 lines; 19182 more skipped]