Odamex
Setting the Standard in Multiplayer Doom
ag-odalaunch/Xbox/xbox_api.h
Go to the documentation of this file.
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
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends