ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dnslib.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:   See COPYING in the top level directory
00003  * PROJECT:     ReactOS Ancillary Function Driver DLL
00004  * FILE:        include/mswsock.h
00005  * PURPOSE:     Ancillary Function Driver DLL header
00006  */
00007 
00008 #pragma once
00009 
00010 /* INCLUDES ******************************************************************/
00011 #include <ws2atm.h>
00012 
00013 /* ENUMERATIONS **************************************************************/
00014 
00015 typedef enum _DNS_STRING_TYPE
00016 {
00017     UnicodeString = 1,
00018     Utf8String,
00019     AnsiString,
00020 } DNS_STRING_TYPE;
00021 
00022 #define IpV4Address 3
00023 
00024 /* TYPES *********************************************************************/
00025 
00026 typedef struct _DNS_IPV6_ADDRESS
00027 {
00028     ULONG Unknown;
00029     ULONG Unknown2;
00030     IP6_ADDRESS Address;
00031     ULONG Unknown3;
00032     ULONG Unknown4;
00033     DWORD Reserved;
00034     ULONG Unknown5;
00035 } DNS_IPV6_ADDRESS, *PDNS_IPV6_ADDRESS;
00036 
00037 typedef struct _DNS_ADDRESS
00038 {
00039     union
00040     {
00041         struct
00042         {
00043             WORD AddressFamily;
00044             WORD Port;
00045             ATM_ADDRESS AtmAddress;
00046         };
00047         SOCKADDR_IN Ip4Address;
00048         SOCKADDR_IN6 Ip6Address;
00049     };
00050     ULONG AddressLength;
00051     DWORD Sub;
00052     ULONG Flag;
00053 } DNS_ADDRESS, *PDNS_ADDRESS;
00054 
00055 typedef struct _DNS_ARRAY
00056 {
00057     ULONG AllocatedAddresses;
00058     ULONG UsedAddresses;
00059     ULONG Unknown[0x6];
00060     DNS_ADDRESS Addresses[1];
00061 } DNS_ARRAY, *PDNS_ARRAY;
00062 
00063 typedef struct _DNS_BLOB
00064 {
00065     LPWSTR Name;
00066     PDNS_ARRAY DnsAddrArray;
00067     PHOSTENT Hostent;
00068     ULONG AliasCount;
00069     ULONG Unknown;
00070     LPWSTR Aliases[8];
00071 } DNS_BLOB, *PDNS_BLOB;
00072 
00073 typedef struct _DNS_FAMILY_INFO
00074 {
00075     WORD AddrType;
00076     WORD DnsType;
00077     DWORD AddressSize;
00078     DWORD SockaddrSize;
00079     DWORD AddressOffset;
00080 } DNS_FAMILY_INFO, *PDNS_FAMILY_INFO;
00081 
00082 typedef struct _FLATBUFF
00083 {
00084     PVOID Buffer;
00085     PVOID BufferEnd;
00086     ULONG_PTR BufferPos;
00087     SIZE_T BufferSize;
00088     SIZE_T BufferFreeSize;
00089 } FLATBUFF, *PFLATBUFF;
00090 
00091 /*
00092  * memory.c
00093  */
00094 VOID
00095 WINAPI
00096 Dns_Free(IN PVOID Address);
00097 
00098 PVOID
00099 WINAPI
00100 Dns_AllocZero(IN SIZE_T Size);
00101 
00102 /*
00103  * addr.c
00104  */
00105 PDNS_FAMILY_INFO
00106 WINAPI
00107 FamilyInfo_GetForFamily(IN WORD AddressFamily);
00108 
00109 /*
00110  * dnsaddr.c
00111  */
00112 VOID
00113 WINAPI
00114 DnsAddr_BuildFromIp4(
00115     IN PDNS_ADDRESS DnsAddress,
00116     IN IN_ADDR Address,
00117     IN WORD Unknown
00118 );
00119 
00120 VOID
00121 WINAPI
00122 DnsAddr_BuildFromIp6(
00123     IN PDNS_ADDRESS DnsAddress,
00124     IN PIN6_ADDR Address,
00125     IN ULONG ScopeId,
00126     IN WORD Port
00127 );
00128 
00129 PDNS_ARRAY
00130 WINAPI
00131 DnsAddrArray_Create(ULONG Count);
00132 
00133 BOOL
00134 WINAPI
00135 DnsAddrArray_AddAddr(
00136     IN PDNS_ARRAY DnsAddrArray,
00137     IN PDNS_ADDRESS DnsAddress,
00138     IN WORD AddressFamily OPTIONAL,
00139     IN DWORD AddressType OPTIONAL
00140 );
00141 
00142 VOID
00143 WINAPI
00144 DnsAddrArray_Free(IN PDNS_ARRAY DnsAddrArray);
00145 
00146 BOOL
00147 WINAPI
00148 DnsAddrArray_AddIp4(
00149     IN PDNS_ARRAY DnsAddrArray,
00150     IN IN_ADDR Address,
00151     IN DWORD AddressType
00152 );
00153 
00154 BOOL
00155 WINAPI
00156 DnsAddrArray_ContainsAddr(
00157     IN PDNS_ARRAY DnsAddrArray,
00158     IN PDNS_ADDRESS DnsAddress,
00159     IN DWORD AddressType
00160 );
00161 
00162 BOOLEAN
00163 WINAPI
00164 DnsAddr_BuildFromDnsRecord(
00165     IN PDNS_RECORD DnsRecord,
00166     OUT PDNS_ADDRESS DnsAddr
00167 );
00168 
00169 /*
00170  * hostent.c
00171  */
00172 PHOSTENT
00173 WINAPI
00174 Hostent_Init(
00175     IN PVOID *Buffer,
00176     IN WORD AddressFamily,
00177     IN ULONG AddressSize,
00178     IN ULONG AddressCount,
00179     IN ULONG AliasCount
00180 );
00181 
00182 VOID
00183 WINAPI
00184 Hostent_ConvertToOffsets(IN PHOSTENT Hostent);
00185 
00186 /*
00187  * flatbuf.c
00188  */
00189 VOID
00190 WINAPI
00191 FlatBuf_Init(
00192     IN PFLATBUFF FlatBuffer,
00193     IN PVOID Buffer,
00194     IN SIZE_T Size
00195 );
00196 
00197 PVOID
00198 WINAPI
00199 FlatBuf_Arg_CopyMemory(
00200     IN OUT PULONG_PTR Position,
00201     IN OUT PSIZE_T FreeSize,
00202     IN PVOID Buffer,
00203     IN SIZE_T Size,
00204     IN ULONG Align
00205 );
00206 
00207 PVOID
00208 WINAPI
00209 FlatBuf_Arg_Reserve(
00210     IN OUT PULONG_PTR Position,
00211     IN OUT PSIZE_T FreeSize,
00212     IN SIZE_T Size,
00213     IN ULONG Align
00214 );
00215 
00216 PVOID
00217 WINAPI
00218 FlatBuf_Arg_WriteString(
00219     IN OUT PULONG_PTR Position,
00220     IN OUT PSIZE_T FreeSize,
00221     IN PVOID String,
00222     IN BOOLEAN IsUnicode
00223 );
00224 
00225 /*
00226  * sablob.c
00227  */
00228 PDNS_BLOB
00229 WINAPI
00230 SaBlob_Create(
00231     IN ULONG Count
00232 );
00233 
00234 PDNS_BLOB
00235 WINAPI
00236 SaBlob_CreateFromIp4(
00237     IN LPWSTR Name,
00238     IN ULONG Count,
00239     IN PIN_ADDR AddressArray
00240 );
00241 
00242 VOID
00243 WINAPI
00244 SaBlob_Free(IN PDNS_BLOB Blob);
00245 
00246 PHOSTENT
00247 WINAPI
00248 SaBlob_CreateHostent(
00249     IN OUT PULONG_PTR BufferPosition,
00250     IN OUT PSIZE_T RemainingBufferSpace,
00251     IN OUT PSIZE_T HostEntrySize,
00252     IN PDNS_BLOB Blob,
00253     IN DWORD StringType,
00254     IN BOOLEAN Relative,
00255     IN BOOLEAN BufferAllocated
00256 );
00257 
00258 INT
00259 WINAPI
00260 SaBlob_WriteNameOrAlias(
00261     IN PDNS_BLOB Blob,
00262     IN LPWSTR String,
00263     IN BOOLEAN IsAlias
00264 );
00265 
00266 PDNS_BLOB
00267 WINAPI
00268 SaBlob_Query(
00269     IN LPWSTR Name,
00270     IN WORD DnsType,
00271     IN ULONG Flags,
00272     IN PVOID *Reserved,
00273     IN DWORD AddressFamily
00274 );
00275 
00276 /*
00277  * string.c
00278  */
00279 ULONG
00280 WINAPI
00281 Dns_StringCopy(
00282     OUT PVOID Destination,
00283     IN OUT PULONG DestinationSize,
00284     IN PVOID String,
00285     IN ULONG StringSize OPTIONAL,
00286     IN DWORD InputType,
00287     IN DWORD OutputType
00288 );
00289 
00290 LPWSTR
00291 WINAPI
00292 Dns_CreateStringCopy_W(IN LPWSTR Name);
00293 
00294 ULONG
00295 WINAPI
00296 Dns_GetBufferLengthForStringCopy(
00297     IN PVOID String,
00298     IN ULONG Size OPTIONAL,
00299     IN DWORD InputType,
00300     IN DWORD OutputType
00301 );
00302 
00303 /*
00304  * straddr.c
00305  */
00306 BOOLEAN
00307 WINAPI
00308 Dns_StringToAddressW(
00309     OUT PVOID Address,
00310     IN OUT PULONG AddressSize,
00311     IN LPWSTR AddressName,
00312     IN OUT PDWORD AddressFamily
00313 );
00314 
00315 LPWSTR
00316 WINAPI
00317 Dns_Ip4AddressToReverseName_W(
00318     OUT LPWSTR Name,
00319     IN IN_ADDR Address
00320 );
00321 
00322 LPWSTR
00323 WINAPI
00324 Dns_Ip6AddressToReverseName_W(
00325     OUT LPWSTR Name,
00326     IN IN6_ADDR Address
00327 );
00328 
00329 BOOLEAN
00330 WINAPI
00331 Dns_ReverseNameToDnsAddr_W(
00332     OUT PDNS_ADDRESS DnsAddr,
00333     IN LPWSTR Name
00334 );
00335 
00336 BOOLEAN
00337 WINAPI
00338 Dns_Ip4ReverseNameToAddress_W(
00339     OUT PIN_ADDR Address,
00340     IN LPWSTR Name
00341 );

Generated on Mon May 28 2012 04:35:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.