Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

144 lines
5.0 KiB

/*==========================================================================
*
* Copyright (C) 1998-2002 Microsoft Corporation. All Rights Reserved.
*
* File: Utils.h
* Content: Utilitiy functions
*
* History:
* Date By Reason
* ==== == ======
* 11/25/98 jtk Created
***************************************************************************/
#ifndef __UTILS_H__
#define __UTILS_H__
//**********************************************************************
// Constant definitions
//**********************************************************************
//**********************************************************************
// Macro definitions
//**********************************************************************
//**********************************************************************
// Structure definitions
//**********************************************************************
//
// forward references
//
class CPackedBuffer;
class CSPData;
class CThreadPool;
//**********************************************************************
// Variable definitions
//**********************************************************************
//**********************************************************************
// Function prototypes
//**********************************************************************
BOOL InitProcessGlobals( void );
void DeinitProcessGlobals( void );
BOOL LoadWinsock( void );
void UnloadWinsock( void );
#ifndef DPNBUILD_NONATHELP
BOOL LoadNATHelp( void );
void UnloadNATHelp( void );
#endif // ! DPNBUILD_NONATHELP
#if ((defined(WINNT)) && (! defined(DPNBUILD_NOMULTICAST)))
BOOL LoadMadcap( void );
void UnloadMadcap( void );
#endif // WINNT and not DPNBUILD_NOMULTICAST
HRESULT CreateSPData( CSPData **const ppSPData,
#if ((! defined(DPNBUILD_NOIPV6)) || (! defined(DPNBUILD_NOIPX)))
const short sSPType,
#endif // ! DPNBUILD_NOIPV6 or ! DPNBUILD_NOIPX
#ifdef DPNBUILD_PREALLOCATEDMEMORYMODEL
const XDP8CREATE_PARAMS * const pDP8CreateParams,
#endif // DPNBUILD_PREALLOCATEDMEMORYMODEL
IDP8ServiceProviderVtbl *const pVtbl );
HRESULT InitializeInterfaceGlobals( CSPData *const pSPData );
void DeinitializeInterfaceGlobals( CSPData *const pSPData );
#ifndef DPNBUILD_NOIPV6
LPWSTR DNIpv6AddressToStringW(const struct in6_addr *Addr, LPWSTR S);
#endif // ! DPNBUILD_NOIPV6
HRESULT AddInfoToBuffer( CPackedBuffer *const pPackedBuffer,
const WCHAR *const pwszInfoName,
const GUID *const pInfoGUID,
const DWORD dwFlags );
#ifdef _XBOX
BOOL InitializeRefcountXnKeys(const DWORD dwKeyRegMax);
void WINAPI CleanupRefcountXnKeys(void);
INT WINAPI RegisterRefcountXnKey(const XNKID * pxnkid, const XNKEY * pxnkey);
INT WINAPI UnregisterRefcountXnKey(const XNKID * pxnkid);
#ifdef XBOX_ON_DESKTOP
//
// Emulated Xbox networking library functions
//
INT WINAPI XNetStartup(const XNetStartupParams * pxnsp);
INT WINAPI XNetCleanup(void);
INT WINAPI XNetRegisterKey(const XNKID * pxnkid, const XNKEY * pxnkey);
INT WINAPI XNetUnregisterKey(const XNKID * pxnkid);
INT WINAPI XNetXnAddrToInAddr(const XNADDR * pxna, const XNKID * pxnkid, IN_ADDR * pina);
INT WINAPI XNetInAddrToXnAddr(const IN_ADDR ina, XNADDR * pxna, XNKID * pxnkid);
#define XNET_GET_XNADDR_PENDING 0x0000 // Address acquisition is not yet complete
#define XNET_GET_XNADDR_NONE 0x0001 // XNet is uninitialized or no debugger found
#define XNET_GET_XNADDR_ETHERNET 0x0002 // Host has ethernet address (no IP address)
#define XNET_GET_XNADDR_STATIC 0x0004 // Host has staticically assigned IP address
#define XNET_GET_XNADDR_DHCP 0x0008 // Host has DHCP assigned IP address
#define XNET_GET_XNADDR_PPPOE 0x0010 // Host has PPPoE assigned IP address
#define XNET_GET_XNADDR_GATEWAY 0x0020 // Host has one or more gateways configured
#define XNET_GET_XNADDR_DNS 0x0040 // Host has one or more DNS servers configured
#define XNET_GET_XNADDR_ONLINE 0x0080 // Host is currently connected to online service
#define XNET_GET_XNADDR_TROUBLESHOOT 0x8000 // Network configuration requires troubleshooting
DWORD WINAPI XNetGetTitleXnAddr(XNADDR * pxna);
#define XNET_ETHERNET_LINK_ACTIVE 0x01 // Ethernet cable is connected and active
#define XNET_ETHERNET_LINK_100MBPS 0x02 // Ethernet link is set to 100 Mbps
#define XNET_ETHERNET_LINK_10MBPS 0x04 // Ethernet link is set to 10 Mbps
#define XNET_ETHERNET_LINK_FULL_DUPLEX 0x08 // Ethernet link is in full duplex mode
#define XNET_ETHERNET_LINK_HALF_DUPLEX 0x10 // Ethernet link is in half duplex mode
DWORD WINAPI XNetGetEthernetLinkStatus(void);
//
// Private functions used to improve simulation of real XNet behavior
//
INT WINAPI XNetPrivCreateAssociation(const XNKID * pxnkid, const CSocketAddress * const pSocketAddress);
#endif // XBOX_ON_DESKTOP
#endif // _XBOX
#endif // __UTILS_H__