summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/nspapi.h
blob: 04b63c1b3e8a73f6992a8445a4818a6c35436fb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
/* NSPAPI.H -- winsock 1.1
 * not supported on win95
 *
 * Copyright (C) 2001 Stefan Leichter
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/*
 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
 * a choice of LGPL license versions is made available with the language indicating
 * that LGPLv2 or any later version may be used, or where a choice of which version
 * of the LGPL is applied is otherwise unspecified.
 */

#ifndef _WINE_NSPAPI_
#define _WINE_NSPAPI_

#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/*
 * constants
 */
#define XP_CONNECTIONLESS		0x00000001
#define XP_GUARANTEED_DELIVERY		0x00000002
#define XP_GUARANTEED_ORDER		0x00000004
#define XP_MESSAGE_ORIENTED		0x00000008
#define XP_PSEUDO_STREAM		0x00000010
#define XP_GRACEFUL_CLOSE		0x00000020
#define XP_EXPEDITED_DATA		0x00000040
#define XP_CONNECT_DATA			0x00000080
#define XP_DISCONNECT_DATA		0x00000100
#define XP_SUPPORTS_BROADCAST		0x00000200
#define XP_SUPPORTS_MULTICAST		0x00000400
#define XP_BANDWIDTH_ALLOCATION		0x00000800
#define XP_FRAGMENTATION		0x00001000
#define XP_ENCRYPTS			0x00002000

/*
 * structures
 */
typedef  struct _PROTOCOL_INFOA
{
         DWORD   dwServiceFlags;
         INT     iAddressFamily;
         INT     iMaxSockAddr;
         INT     iMinSockAddr;
         INT     iSocketType;
         INT     iProtocol;
         DWORD   dwMessageSize;
         LPSTR   lpProtocol;
} PROTOCOL_INFOA, *PPROTOCOL_INFOA, *LPPROTOCOL_INFOA;

typedef  struct _PROTOCOL_INFOW
{
         DWORD   dwServiceFlags;
         INT     iAddressFamily;
         INT     iMaxSockAddr;
         INT     iMinSockAddr;
         INT     iSocketType;
         INT     iProtocol;
         DWORD   dwMessageSize;
         LPWSTR  lpProtocol;
} PROTOCOL_INFOW, *PPROTOCOL_INFOW, *LPPROTOCOL_INFOW;

DECL_WINELIB_TYPE_AW(PROTOCOL_INFO)
DECL_WINELIB_TYPE_AW(PPROTOCOL_INFO)
DECL_WINELIB_TYPE_AW(LPPROTOCOL_INFO)

typedef struct _SERVICE_ADDRESS
{
        DWORD   dwAddressType;
        DWORD   dwAddressFlags;
        DWORD   dwAddressLength;
        DWORD   dwPrincipalLength;
        BYTE*   lpAddress;
        BYTE*   lpPrincipal;
} SERVICE_ADDRESS, *PSERVICE_ADDRESS, *LPSERVICE_ADDRESS;

typedef struct _SERVICE_ADDRESSES
{
        DWORD           dwAddressCount;
        SERVICE_ADDRESS Addresses[1];
} SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;

typedef struct _SERVICE_INFOA
{
        LPGUID              lpServiceType;
        LPSTR               lpServiceName;
        LPSTR               lpComment;
        LPSTR               lpLocale;
        DWORD               dwDisplayHint;
        DWORD               dwVersion;
        DWORD               dwTime;
        LPSTR               lpMachineName;
        LPSERVICE_ADDRESSES lpServiceAddress;
        BLOB                ServiceSpecificInfo;
} SERVICE_INFOA, *PSERVICE_INFOA, *LPSERVICE_INFOA;

typedef struct _SERVICE_INFOW
{
        LPGUID              lpServiceType;
        LPWSTR              lpServiceName;
        LPWSTR              lpComment;
        LPWSTR              lpLocale;
        DWORD               dwDisplayHint;
        DWORD               dwVersion;
        DWORD               dwTime;
        LPSTR               lpMachineName;
        LPSERVICE_ADDRESSES lpServiceAddress;
        BLOB                ServiceSpecificInfo; /* May point to SERVICE_TYPE_INFO_ABS */
} SERVICE_INFOW, *PSERVICE_INFOW, *LPSERVICE_INFOW;

DECL_WINELIB_TYPE_AW(SERVICE_INFO)
DECL_WINELIB_TYPE_AW(PSERVICE_INFO)
DECL_WINELIB_TYPE_AW(LPSERVICE_INFO)

typedef struct _SERVICE_TYPE_VALUE_ABSA
{
        DWORD   dwNameSpace; /* Name space or set of name spaces */
        DWORD   dwValueType; /* Type of the value data */
        DWORD   dwValueSize; /* Size of the value data */
        LPSTR   lpValueName; /* Name of the value */
        PVOID   lpValue;     /* Pointer to the value data */
} SERVICE_TYPE_VALUE_ABSA, *PSERVICE_TYPE_VALUE_ABSA, *LPSERVICE_TYPE_VALUE_ABSA;

typedef struct _SERVICE_TYPE_VALUE_ABSW
{
        DWORD   dwNameSpace; /* Name space or set of name spaces */
        DWORD   dwValueType; /* Type of the value data */
        DWORD   dwValueSize; /* Size of the value data */
        LPWSTR  lpValueName; /* Name of the value */
        PVOID   lpValue;     /* Pointer to the value data */
} SERVICE_TYPE_VALUE_ABSW, *PSERVICE_TYPE_VALUE_ABSW, *LPSERVICE_TYPE_VALUE_ABSW;

DECL_WINELIB_TYPE_AW(SERVICE_TYPE_VALUE_ABS)
DECL_WINELIB_TYPE_AW(PSERVICE_TYPE_VALUE_ABS)
DECL_WINELIB_TYPE_AW(LPSERVICE_TYPE_VALUE_ABS)

typedef struct _SERVICE_TYPE_INFO_ABSA
{
        LPSTR                   lpTypeName;     /* Name of the network service type */
        DWORD                   dwValueCount;   /* Number of SERVICE_TYPE_VALUE_ABS structures */
        SERVICE_TYPE_VALUE_ABSA Values[1];      /* Array of SERVICE_TYPE_VALUE_ABS structures */
} SERVICE_TYPE_INFO_ABSA, *PSERVICE_TYPE_INFO_ABSA, *LPSERVICE_TYPE_INFO_ABSA;

typedef struct _SERVICE_TYPE_INFO_ABSW
{
        LPWSTR                  lpTypeName;     /* Name of the network service type */
        DWORD                   dwValueCount;   /* Number of SERVICE_TYPE_VALUE_ABS structures */
        SERVICE_TYPE_VALUE_ABSW Values[1];      /* Array of SERVICE_TYPE_VALUE_ABS structures */
} SERVICE_TYPE_INFO_ABSW, *PSERVICE_TYPE_INFO_ABSW, *LPSERVICE_TYPE_INFO_ABSW;

DECL_WINELIB_TYPE_AW(SERVICE_TYPE_INFO_ABS)
DECL_WINELIB_TYPE_AW(PSERVICE_TYPE_INFO_ABS)
DECL_WINELIB_TYPE_AW(LPSERVICE_TYPE_INFO_ABS)

typedef void (*LPSERVICE_CALLBACK_PROC)(LPARAM lParam, HANDLE hAsyncTaskHandle);

typedef struct _SERVICE_ASYNC_INFO
{
    LPSERVICE_CALLBACK_PROC lpServiceCallbackProc;
    LPARAM                  lParam;
    HANDLE                  hAsyncTaskHandle;
} SERVICE_ASYNC_INFO, *PSERVICE_ASYNC_INFO, *LPSERVICE_ASYNC_INFO;

/*
 * function prototypes
 */
INT WINAPI GetAddressByNameA(DWORD dwNameSpace, LPGUID lpServiceType, LPSTR lpServiceName,
    LPINT lpiProtocols, DWORD dwResolution, LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
    LPVOID lpCsaddrBuffer, LPDWORD lpdwBufferLength, LPSTR lpAliasBuffer,
    LPDWORD lpdwAliasBufferLength);
INT WINAPI GetAddressByNameW(DWORD dwNameSpace, LPGUID lpServiceType, LPWSTR lpServiceName,
    LPINT lpiProtocols, DWORD dwResolution, LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
    LPVOID lpCsaddrBuffer, LPDWORD lpdwBufferLength, LPWSTR lpAliasBuffer,
    LPDWORD lpdwAliasBufferLength);
#define GetAddressByName WINELIB_NAME_AW(GetAddressByName)
INT WINAPI GetTypeByNameA(LPSTR lpServiceName, LPGUID lpServiceType);
INT WINAPI GetTypeByNameW(LPWSTR lpServiceName, LPGUID lpServiceType);
#define GetTypeByName WINELIB_NAME_AW(GetTypeByName)
INT WINAPI SetServiceA(DWORD dwNameSpace, DWORD dwOperation, DWORD dwFlags, LPSERVICE_INFOA lpServiceInfo,
                       LPSERVICE_ASYNC_INFO lpServiceAsyncInfo, LPDWORD lpdwStatusFlags);
INT WINAPI SetServiceW(DWORD dwNameSpace, DWORD dwOperation, DWORD dwFlags, LPSERVICE_INFOW lpServiceInfo,
                       LPSERVICE_ASYNC_INFO lpServiceAsyncInfo, LPDWORD lpdwStatusFlags);
#define SetService WINELIB_NAME_AW(SetService)
INT WINAPI GetServiceA(DWORD dwNameSpace, LPGUID lpGuid, LPSTR lpServiceName,
                       DWORD dwProperties, LPVOID lpBuffer, LPDWORD lpdwBufferSize,
                       LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
INT WINAPI GetServiceW(DWORD dwNameSpace, LPGUID lpGuid, LPSTR lpServiceName,
                       DWORD dwProperties, LPVOID lpBuffer, LPDWORD lpdwBufferSize,
                       LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
#define GetService WINELIB_NAME_AW(GetService)

#ifdef __cplusplus
}      /* extern "C" */
#endif /* defined(__cplusplus) */

#endif /* _WINE_NSPAPI_ */