/* * 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] -------------- next part -------------- An HTML attachment was scrubbed...
URL:http://www.reactos.org/pipermail/ros-diffs/2005-December/010377.html