diff options
| author | 2023-12-12 11:41:26 -0500 | |
|---|---|---|
| committer | 2023-12-12 11:41:26 -0500 | |
| commit | ff489bd82ff313bcfd7dc2ab585ed31cec909ebd (patch) | |
| tree | 300e031693a5ddb990a32068ab0596382349aeea /tcc/include/winapi/nspapi.h | |
| parent | init (diff) | |
fix software to compile properly on Windows XP x86
Diffstat (limited to '')
| -rw-r--r-- | tcc/include/winapi/nspapi.h | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/tcc/include/winapi/nspapi.h b/tcc/include/winapi/nspapi.h new file mode 100644 index 0000000..463b139 --- /dev/null +++ b/tcc/include/winapi/nspapi.h @@ -0,0 +1,126 @@ +#ifndef _NSPAPI_H +#define _NSPAPI_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define NS_ALL 0 + +#define NS_SAP 1 +#define NS_NDS 2 +#define NS_PEER_BROWSE 3 + +#define NS_TCPIP_LOCAL 10 +#define NS_TCPIP_HOSTS 11 +#define NS_DNS 12 +#define NS_NETBT 13 +#define NS_WINS 14 + +#define NS_NBP 20 + +#define NS_MS 30 +#define NS_STDA 31 +#define NS_NTDS 32 + +#define NS_X500 40 +#define NS_NIS 41 +#define NS_NISPLUS 42 + +#define NS_WRQ 50 + +#define SERVICE_REGISTER 1 +#define SERVICE_DEREGISTER 2 +#define SERVICE_FLUSH 3 +#define SERVICE_FLAG_HARD 0x00000002 + +#ifndef RC_INVOKED + +#if defined (_WINSOCK_H) || defined (_WINSOCK2_H) /* needed for LPSOCKADDR */ +#ifndef __CSADDR_T_DEFINED /* also in winsock2.h, but not in winsock.h */ +#define __CSADDR_T_DEFINED +typedef struct _SOCKET_ADDRESS { + LPSOCKADDR lpSockaddr; + INT iSockaddrLength; +} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS; +typedef struct _CSADDR_INFO { + SOCKET_ADDRESS LocalAddr; + SOCKET_ADDRESS RemoteAddr; + INT iSocketType; + INT iProtocol; +} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO; +#endif +#endif + +#ifndef __BLOB_T_DEFINED /* also in wtypes.h and winsock2.h */ +#define __BLOB_T_DEFINED +typedef struct _BLOB { + ULONG cbSize; + BYTE *pBlobData; +} BLOB,*PBLOB,*LPBLOB; +#endif + +typedef struct _SERVICE_ADDRESS { + DWORD dwAddressType; + DWORD dwAddressFlags; + DWORD dwAddressLength; + DWORD dwPrincipalLength; + BYTE *lpAddress; + BYTE *lpPrincipal; +} SERVICE_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, *LPSERVICE_INFOA; +typedef struct _SERVICE_INFOW { + LPGUID lpServiceType; + LPWSTR lpServiceName; + LPWSTR lpComment; + LPWSTR lpLocale; + DWORD dwDisplayHint; + DWORD dwVersion; + DWORD dwTime; + LPWSTR lpMachineName; + LPSERVICE_ADDRESSES lpServiceAddress; + BLOB ServiceSpecificInfo; +} SERVICE_INFOW, *LPSERVICE_INFOW; + +typedef void *LPSERVICE_ASYNC_INFO; +INT WINAPI SetServiceA(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD); +INT WINAPI SetServiceW(DWORD,DWORD,DWORD,LPSERVICE_INFOW,LPSERVICE_ASYNC_INFO,LPDWORD); +INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPSTR,LPDWORD); +INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPWSTR,LPDWORD); + +#ifdef UNICODE +typedef SERVICE_INFOW SERVICE_INFO, *LPSERVICE_INFO; +#define _SERVICE_INFO SERVICE_INFOW +#define SetService SetServiceW +#define GetAddressByName GetAddressByNameW +#else +typedef SERVICE_INFOA SERVICE_INFO, *LPSERVICE_INFO; +#define _SERVICE_INFO SERVICE_INFOA +#define SetService SetServiceA +#define GetAddressByName GetAddressByNameA +#endif + +#endif /* RC_INVOKED */ + +#ifdef __cplusplus +} +#endif +#endif /* _NSPAPI_H */ |
