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.
237 lines
6.6 KiB
237 lines
6.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Win32 replacements for XBox. |
|
// |
|
//============================================================================= |
|
|
|
#if !defined( XBOXSTUBS_H ) && !defined( _X360 ) |
|
#define XBOXSTUBS_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "tier0/platform.h" |
|
|
|
// Content creation/open flags |
|
#define XCONTENTFLAG_NONE 0x00 |
|
#define XCONTENTFLAG_CREATENEW 0x00 |
|
#define XCONTENTFLAG_CREATEALWAYS 0x00 |
|
#define XCONTENTFLAG_OPENEXISTING 0x00 |
|
#define XCONTENTFLAG_OPENALWAYS 0x00 |
|
#define XCONTENTFLAG_TRUNCATEEXISTING 0x00 |
|
|
|
// Content attributes |
|
#define XCONTENTFLAG_NOPROFILE_TRANSFER 0x00 |
|
#define XCONTENTFLAG_NODEVICE_TRANSFER 0x00 |
|
#define XCONTENTFLAG_STRONG_SIGNED 0x00 |
|
#define XCONTENTFLAG_ALLOWPROFILE_TRANSFER 0x00 |
|
#define XCONTENTFLAG_MOVEONLY_TRANSFER 0x00 |
|
|
|
// Console device ports |
|
#define XDEVICE_PORT0 0 |
|
#define XDEVICE_PORT1 1 |
|
#define XDEVICE_PORT2 2 |
|
#define XDEVICE_PORT3 3 |
|
#define XUSER_MAX_COUNT 4 |
|
#define XUSER_INDEX_NONE 0x000000FE |
|
|
|
#define XBX_CLR_DEFAULT 0xFF000000 |
|
#define XBX_CLR_WARNING 0x0000FFFF |
|
#define XBX_CLR_ERROR 0x000000FF |
|
|
|
#define XBOX_MINBORDERSAFE 0 |
|
#define XBOX_MAXBORDERSAFE 0 |
|
|
|
typedef enum |
|
{ |
|
XK_NULL, |
|
XK_BUTTON_UP, |
|
XK_BUTTON_DOWN, |
|
XK_BUTTON_LEFT, |
|
XK_BUTTON_RIGHT, |
|
XK_BUTTON_START, |
|
XK_BUTTON_BACK, |
|
XK_BUTTON_STICK1, |
|
XK_BUTTON_STICK2, |
|
XK_BUTTON_A, |
|
XK_BUTTON_B, |
|
XK_BUTTON_X, |
|
XK_BUTTON_Y, |
|
XK_BUTTON_LEFT_SHOULDER, |
|
XK_BUTTON_RIGHT_SHOULDER, |
|
XK_BUTTON_LTRIGGER, |
|
XK_BUTTON_RTRIGGER, |
|
XK_STICK1_UP, |
|
XK_STICK1_DOWN, |
|
XK_STICK1_LEFT, |
|
XK_STICK1_RIGHT, |
|
XK_STICK2_UP, |
|
XK_STICK2_DOWN, |
|
XK_STICK2_LEFT, |
|
XK_STICK2_RIGHT, |
|
XK_MAX_KEYS, |
|
} xKey_t; |
|
|
|
//typedef enum |
|
//{ |
|
// XVRB_NONE, // off |
|
// XVRB_ERROR, // fatal error |
|
// XVRB_ALWAYS, // no matter what |
|
// XVRB_WARNING, // non-fatal warnings |
|
// XVRB_STATUS, // status reports |
|
// XVRB_ALL, |
|
//} xverbose_e; |
|
|
|
typedef unsigned short WORD; |
|
#ifndef POSIX |
|
typedef unsigned long DWORD; |
|
typedef void* HANDLE; |
|
typedef unsigned __int64 ULONGLONG; |
|
#endif |
|
|
|
#ifdef POSIX |
|
typedef DWORD COLORREF; |
|
#endif |
|
|
|
#ifndef INVALID_HANDLE_VALUE |
|
#define INVALID_HANDLE_VALUE ((HANDLE)-1) |
|
#endif |
|
|
|
// typedef struct { |
|
// IN_ADDR ina; // IP address (zero if not static/DHCP) |
|
// IN_ADDR inaOnline; // Online IP address (zero if not online) |
|
// WORD wPortOnline; // Online port |
|
// BYTE abEnet[6]; // Ethernet MAC address |
|
// BYTE abOnline[20]; // Online identification |
|
// } XNADDR; |
|
|
|
typedef int XNADDR; |
|
typedef uint64 XUID; |
|
|
|
typedef struct { |
|
BYTE ab[8]; // xbox to xbox key identifier |
|
} XNKID; |
|
|
|
typedef struct { |
|
BYTE ab[16]; // xbox to xbox key exchange key |
|
} XNKEY; |
|
|
|
typedef struct _XSESSION_INFO |
|
{ |
|
XNKID sessionID; // 8 bytes |
|
XNADDR hostAddress; // 36 bytes |
|
XNKEY keyExchangeKey; // 16 bytes |
|
} XSESSION_INFO, *PXSESSION_INFO; |
|
|
|
typedef struct _XUSER_DATA |
|
{ |
|
BYTE type; |
|
|
|
union |
|
{ |
|
int nData; // XUSER_DATA_TYPE_INT32 |
|
int64 i64Data; // XUSER_DATA_TYPE_INT64 |
|
double dblData; // XUSER_DATA_TYPE_DOUBLE |
|
struct // XUSER_DATA_TYPE_UNICODE |
|
{ |
|
uint cbData; // Includes null-terminator |
|
char * pwszData; |
|
} string; |
|
float fData; // XUSER_DATA_TYPE_FLOAT |
|
struct // XUSER_DATA_TYPE_BINARY |
|
{ |
|
uint cbData; |
|
char * pbData; |
|
} binary; |
|
}; |
|
} XUSER_DATA, *PXUSER_DATA; |
|
|
|
typedef struct _XUSER_PROPERTY |
|
{ |
|
DWORD dwPropertyId; |
|
XUSER_DATA value; |
|
} XUSER_PROPERTY, *PXUSER_PROPERTY; |
|
|
|
typedef struct _XUSER_CONTEXT |
|
{ |
|
DWORD dwContextId; |
|
DWORD dwValue; |
|
} XUSER_CONTEXT, *PXUSER_CONTEXT; |
|
|
|
typedef struct _XSESSION_SEARCHRESULT |
|
{ |
|
XSESSION_INFO info; |
|
DWORD dwOpenPublicSlots; |
|
DWORD dwOpenPrivateSlots; |
|
DWORD dwFilledPublicSlots; |
|
DWORD dwFilledPrivateSlots; |
|
DWORD cProperties; |
|
DWORD cContexts; |
|
PXUSER_PROPERTY pProperties; |
|
PXUSER_CONTEXT pContexts; |
|
} XSESSION_SEARCHRESULT, *PXSESSION_SEARCHRESULT; |
|
|
|
typedef struct _XSESSION_SEARCHRESULT_HEADER |
|
{ |
|
DWORD dwSearchResults; |
|
XSESSION_SEARCHRESULT *pResults; |
|
} XSESSION_SEARCHRESULT_HEADER, *PXSESSION_SEARCHRESULT_HEADER; |
|
|
|
typedef struct _XSESSION_REGISTRANT |
|
{ |
|
uint64 qwMachineID; |
|
DWORD bTrustworthiness; |
|
DWORD bNumUsers; |
|
XUID *rgUsers; |
|
|
|
} XSESSION_REGISTRANT; |
|
|
|
typedef struct _XSESSION_REGISTRATION_RESULTS |
|
{ |
|
DWORD wNumRegistrants; |
|
XSESSION_REGISTRANT *rgRegistrants; |
|
} XSESSION_REGISTRATION_RESULTS, *PXSESSION_REGISTRATION_RESULTS; |
|
|
|
typedef struct { |
|
BYTE bFlags; |
|
BYTE bReserved; |
|
WORD cProbesXmit; |
|
WORD cProbesRecv; |
|
WORD cbData; |
|
BYTE * pbData; |
|
WORD wRttMinInMsecs; |
|
WORD wRttMedInMsecs; |
|
DWORD dwUpBitsPerSec; |
|
DWORD dwDnBitsPerSec; |
|
} XNQOSINFO; |
|
|
|
typedef struct { |
|
uint cxnqos; |
|
uint cxnqosPending; |
|
XNQOSINFO axnqosinfo[1]; |
|
} XNQOS; |
|
|
|
#define XSESSION_CREATE_HOST 0 |
|
#define XUSER_DATA_TYPE_INT32 0 |
|
#define XSESSION_CREATE_USES_ARBITRATION 0 |
|
#define XNET_QOS_LISTEN_ENABLE 0 |
|
#define XNET_QOS_LISTEN_DISABLE 0 |
|
#define XNET_QOS_LISTEN_SET_DATA 0 |
|
|
|
FORCEINLINE void XBX_ProcessEvents() {} |
|
FORCEINLINE unsigned int XBX_GetSystemTime() { return 0; } |
|
FORCEINLINE int XBX_GetPrimaryUserId() { return 0; } |
|
FORCEINLINE void XBX_SetPrimaryUserId( DWORD idx ) {} |
|
FORCEINLINE int XBX_GetStorageDeviceId() { return 0; } |
|
FORCEINLINE void XBX_SetStorageDeviceId( DWORD idx ) {} |
|
FORCEINLINE const char *XBX_GetLanguageString() { return ""; } |
|
FORCEINLINE bool XBX_IsLocalized() { return false; } |
|
|
|
#define XCONTENT_MAX_DISPLAYNAME_LENGTH 128 |
|
#define XCONTENT_MAX_FILENAME_LENGTH 42 |
|
|
|
#define XBX_INVALID_STORAGE_ID ((DWORD) -1) |
|
#define XBX_STORAGE_DECLINED ((DWORD) -2) |
|
|
|
#endif // XBOXSTUBS_H
|
|
|