3 * Copyright (C) 2003 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * COPYRIGHT: See COPYING in the top level directory
22 * PROJECT: ReactOS system libraries
23 * PURPOSE: Network Address Translation implementation
24 * FILE: lib/rtl/network.c
27 #include <ddk/ntddk.h>
32 /* FUNCTIONS *****************************************************************/
34 /* Borrow this from some headers... */
39 struct { UCHAR s_b1
,s_b2
,s_b3
,s_b4
; } S_un_b
;
40 struct { USHORT s_w1
,s_w2
; } S_un_w
;
61 RtlIpv4AddressToStringA(
67 addr
.S_un
.S_addr
= *IP
;
68 return Buffer
+ sprintf(Buffer
, "%u.%u.%u.%u", addr
.S_un
.S_un_b
.s_b1
,
69 addr
.S_un
.S_un_b
.s_b2
,
70 addr
.S_un
.S_un_b
.s_b3
,
71 addr
.S_un
.S_un_b
.s_b4
);
79 RtlIpv4AddressToStringExA(
87 return STATUS_NOT_IMPLEMENTED
;
95 RtlIpv4AddressToStringW(
101 addr
.S_un
.S_addr
= *IP
;
102 return Buffer
+ swprintf(Buffer
, L
"%u.%u.%u.%u", addr
.S_un
.S_un_b
.s_b1
,
103 addr
.S_un
.S_un_b
.s_b2
,
104 addr
.S_un
.S_un_b
.s_b3
,
105 addr
.S_un
.S_un_b
.s_b4
);
113 RtlIpv4AddressToStringExW(
121 return STATUS_NOT_IMPLEMENTED
;
129 RtlIpv4StringToAddressA(
132 OUT PVOID PtrToIpAddr
,
137 return STATUS_NOT_IMPLEMENTED
;
145 RtlIpv4StringToAddressExA(
153 return STATUS_NOT_IMPLEMENTED
;
161 RtlIpv4StringToAddressW(
164 OUT PVOID PtrToIpAddr
,
169 return STATUS_NOT_IMPLEMENTED
;
177 RtlIpv4StringToAddressExW(
185 return STATUS_NOT_IMPLEMENTED
;
193 RtlIpv6AddressToStringA(
199 return STATUS_NOT_IMPLEMENTED
;
207 RtlIpv6AddressToStringExA(
215 return STATUS_NOT_IMPLEMENTED
;
223 RtlIpv6AddressToStringW(
229 return STATUS_NOT_IMPLEMENTED
;
237 RtlIpv6AddressToStringExW(
245 return STATUS_NOT_IMPLEMENTED
;
253 RtlIpv6StringToAddressA(
256 OUT PVOID PtrToIpAddr
,
261 return STATUS_NOT_IMPLEMENTED
;
269 RtlIpv6StringToAddressExA(
277 return STATUS_NOT_IMPLEMENTED
;
285 RtlIpv6StringToAddressW(
288 OUT PVOID PtrToIpAddr
,
293 return STATUS_NOT_IMPLEMENTED
;
301 RtlIpv6StringToAddressExW(
309 return STATUS_NOT_IMPLEMENTED
;