|
Odamex
Setting the Standard in Multiplayer Doom
|
00001 // Emacs style mode select -*- C++ -*- 00002 //----------------------------------------------------------------------------- 00003 // 00004 // $Id: xbox_api.h 2165 2011-05-07 20:35:16Z hypereye $ 00005 // 00006 // Copyright (C) 2006-2010 by The Odamex Team. 00007 // 00008 // This program is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU General Public License 00010 // as published by the Free Software Foundation; either version 2 00011 // of the License, or (at your option) any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 // 00018 // DESCRIPTION: 00019 // Xbox Undocumented API 00020 // 00021 // AUTHORS: 00022 // Michael Wood (mwoodj at huntsvegas dot org) 00023 // 00024 //----------------------------------------------------------------------------- 00025 00026 #ifndef _XBOX_API_H 00027 #define _XBOX_API_H 00028 00029 namespace agOdalaunch { 00030 00031 // Xbox drive letters 00032 #define DriveC "\\??\\C:" 00033 #define DriveD "\\??\\D:" 00034 #define DriveE "\\??\\E:" 00035 #define DriveF "\\??\\F:" 00036 #define DriveG "\\??\\G:" 00037 #define DriveT "\\??\\T:" 00038 #define DriveU "\\??\\U:" 00039 #define DriveZ "\\??\\Z:" 00040 00041 // Partition device mapping 00042 #define DeviceC "\\Device\\Harddisk0\\Partition2" 00043 #define CdRom "\\Device\\CdRom0" 00044 #define DeviceE "\\Device\\Harddisk0\\Partition1" 00045 #define DeviceF "\\Device\\Harddisk0\\Partition6" 00046 #define DeviceG "\\Device\\Harddisk0\\Partition7" 00047 #define DeviceT "\\Device\\Harddisk0\\Partition1\\TDATA\\4F444C43" 00048 #define DeviceU "\\Device\\Harddisk0\\Partition1\\UDATA\\4F444C43" 00049 #define DeviceZ "\\Device\\Harddisk0\\Partition5" 00050 00051 typedef struct _STRING 00052 { 00053 USHORT Length; 00054 USHORT MaximumLength; 00055 PSTR Buffer; 00056 } UNICODE_STRING, *PUNICODE_STRING, ANSI_STRING, *PANSI_STRING; 00057 00058 // These are undocumented Xbox functions that are not in the XDK includes. 00059 // They can be found by looking through the symbols found in the Xbox libs (xapilib.lib mostly). 00060 extern "C" XBOXAPI LONG WINAPI IoCreateSymbolicLink(IN PUNICODE_STRING SymbolicLinkName,IN PUNICODE_STRING DeviceName); 00061 extern "C" XBOXAPI LONG WINAPI IoDeleteSymbolicLink(IN PUNICODE_STRING SymbolicLinkName); 00062 00063 } 00064 00065 #endif