mssip.h: Added function definition.
[wine] / include / iptypes.h
1 /* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 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
36 typedef struct {
37     char String[4 * 4];
38 } IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
39
40 typedef 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
47 typedef 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
68 typedef 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
75 typedef 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_*/