123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- /* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
- #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_BANDWITH_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 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)
- #ifdef __cplusplus
- } /* extern "C" */
- #endif /* defined(__cplusplus) */
- #endif /* _WINE_NSPAPI_ */
|