blob: 3265ae38ff60595f071b773f94f63e300bfc4af8 [file] [log] [blame]
Juan Lang38fa5ad2003-05-13 03:32:20 +00001/* WINE iptypes.h
2 * Copyright (C) 2003 Juan Lang
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19#ifndef WINE_IPTYPES_H_
20#define WINE_IPTYPES_H_
21
22#include <time.h>
23
24#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
25#define MAX_ADAPTER_NAME_LENGTH 256
26#define MAX_ADAPTER_ADDRESS_LENGTH 8
27#define MAX_HOSTNAME_LEN 128
28#define MAX_DOMAIN_NAME_LEN 128
29#define MAX_SCOPE_ID_LEN 256
30
31#define BROADCAST_NODETYPE 1
32#define PEER_TO_PEER_NODETYPE 2
33#define MIXED_NODETYPE 4
34#define HYBRID_NODETYPE 8
35
36typedef struct {
37 char String[4 * 4];
38} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
39
40typedef struct _IP_ADDR_STRING {
41 struct _IP_ADDR_STRING* Next;
42 IP_ADDRESS_STRING IpAddress;
43 IP_MASK_STRING IpMask;
44 DWORD Context;
45} IP_ADDR_STRING, *PIP_ADDR_STRING;
46
47typedef struct _IP_ADAPTER_INFO {
48 struct _IP_ADAPTER_INFO* Next;
49 DWORD ComboIndex;
50 char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
51 char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
52 UINT AddressLength;
53 BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
54 DWORD Index;
55 UINT Type;
56 UINT DhcpEnabled;
57 PIP_ADDR_STRING CurrentIpAddress;
58 IP_ADDR_STRING IpAddressList;
59 IP_ADDR_STRING GatewayList;
60 IP_ADDR_STRING DhcpServer;
61 BOOL HaveWins;
62 IP_ADDR_STRING PrimaryWinsServer;
63 IP_ADDR_STRING SecondaryWinsServer;
64 time_t LeaseObtained;
65 time_t LeaseExpires;
66} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
67
68typedef struct _IP_PER_ADAPTER_INFO {
69 UINT AutoconfigEnabled;
70 UINT AutoconfigActive;
71 PIP_ADDR_STRING CurrentDnsServer;
72 IP_ADDR_STRING DnsServerList;
73} IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO;
74
75typedef struct {
76 char HostName[MAX_HOSTNAME_LEN + 4] ;
77 char DomainName[MAX_DOMAIN_NAME_LEN + 4];
78 PIP_ADDR_STRING CurrentDnsServer;
79 IP_ADDR_STRING DnsServerList;
80 UINT NodeType;
81 char ScopeId[MAX_SCOPE_ID_LEN + 4];
82 UINT EnableRouting;
83 UINT EnableProxy;
84 UINT EnableDns;
85} FIXED_INFO, *PFIXED_INFO;
86
87#endif /* WINE_IPTYPES_H_*/