├── .gitignore ├── FixDiskFilters ├── FixDiskFilters.cpp ├── FixDiskFilters.rc ├── FixDiskFilters.vcproj ├── makefile └── sources ├── LICENSE.txt ├── MS-LPL-v1.1.rtf ├── OxtService ├── OxtGuestServices.cpp ├── OxtGuestServices.h ├── OxtGuestServices.rgs ├── OxtSecurityHelper.cpp ├── OxtSecurityHelper.h ├── OxtService.cpp ├── OxtService.en.rc ├── OxtService.h ├── OxtService.idl ├── OxtService.rc ├── OxtService.rgs ├── OxtService.sln ├── OxtService.vcxproj ├── OxtServiceTest │ ├── OxtServiceTest.cpp │ ├── OxtServiceTest.sln │ ├── OxtServiceTest.vcxproj │ ├── oxtsec_test.cpp │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── ReadMe.txt ├── XenStoreWrapper.cpp ├── XenStoreWrapper.h ├── common.h ├── oxtmsg.mc ├── poweropts.c ├── resource.h ├── stdafx.cpp ├── stdafx.h ├── targetver.h └── xen.ico ├── OxtUserAgent ├── OxtUserAgent.sln └── OxtUserAgent │ ├── OxtUserAgent.cpp │ ├── OxtUserAgent.h │ ├── OxtUserAgent.ico │ ├── OxtUserAgent.rc │ ├── OxtUserAgent.vcxproj │ ├── resource.h │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── README.txt ├── WindowsEight.sln ├── WindowsEight.vcxproj ├── XenClient.sln ├── config.mk ├── copyvif ├── aclapi.h ├── copyvif.c ├── copyvif.rc └── sources ├── dirs ├── do_build.ps1 ├── do_sign.ps1 ├── dobuild.bat ├── doc ├── blk_handshake.txt ├── migration.txt ├── scsi_mistakes.txt ├── srb_flow.svg ├── versions.txt ├── xenbus_device_lifecycle.txt ├── xenstore_controls_network_settings.txt └── xenvbd_notes.txt ├── docrosssign.bat ├── dostampinf.bat ├── dotestsign.bat ├── dothebuild.bat ├── doverifysign.ps1 ├── dowin8build.bat ├── enableuninst ├── enableuninst.c ├── enableuninst.rc ├── makefile └── sources ├── findddk.bat ├── getlogs ├── getlogs.c ├── getlogs.rc ├── getlogs.vcproj └── sources ├── inc ├── config.h ├── input.h ├── ring.h ├── scsiboot.h ├── scsifilt_ioctl.h ├── types.h ├── v2v.h ├── v2vk.h ├── v4v.h ├── v4vapi.h ├── v4vkapi.h ├── vbd_special.h ├── verinfo.h ├── vring.h ├── wrapper_types.h ├── xenops.h ├── xenvbd_ioctl.h ├── xmou.h ├── xs_ioctl.h ├── xs_private.h ├── xsapi-future.h ├── xsapi-legacy.h ├── xsapi.h ├── xscompat.h └── xsmtcapi.h ├── input ├── dirs ├── xeninp │ ├── makefile │ ├── sources │ ├── xeninp.c │ ├── xeninp.def │ ├── xeninp.h │ ├── xeninp.inf │ ├── xeninp.rc │ ├── xeninp.vcproj │ └── xenmou_hardware_spec.txt └── xenm2b │ ├── device.c │ ├── hid_defs.c │ ├── hid_defs.h │ ├── m2bif.c │ ├── makefile │ ├── misc.c │ ├── pdo.c │ ├── sources │ ├── xenm2b.c │ ├── xenm2b.h │ ├── xenm2b.inf │ └── xenm2b.rc ├── install ├── DialogInstall.bmp ├── TextLog.nsh ├── WdfCoInstaller01009.dll ├── drvsetup.nsh ├── install.c ├── install.def ├── install.rc ├── install.vcproj ├── makefile ├── sources ├── winver.nsh ├── xensetup.nsi └── xensetupvusb.nsi ├── installdriver ├── installdriver.c ├── installdriver.rc ├── installdriver.vcproj ├── makefile └── sources ├── media └── xen.ico ├── mkxenvesa ├── net ├── dirs ├── netif.h ├── receiver_common.c ├── settings.c ├── tests │ └── utf8 │ │ ├── doit.sh │ │ ├── precomp.h │ │ ├── utf16.c │ │ └── utf16.py ├── xennet.inf ├── xennet │ ├── makefile │ ├── miniport.c │ ├── precomp.h │ ├── receiver.c │ ├── sources │ ├── transmitter.c │ ├── xennet.c │ ├── xennet.h │ ├── xennet.rc │ └── xennet.vcproj ├── xennet6 │ ├── adapter.c │ ├── adapter.h │ ├── common.h │ ├── main.c │ ├── makefile │ ├── miniport.c │ ├── miniport.h │ ├── nbl_hash.c │ ├── nbl_hash.h │ ├── project.h │ ├── receiver.c │ ├── receiver.h │ ├── sources │ ├── std.h │ ├── transmitter.c │ ├── transmitter.h │ ├── xennet.rc │ └── xennet6.vcproj ├── xennet64.inf └── xennet_common.h ├── props ├── vs2008 │ ├── citrix.debug.vsprops │ ├── citrix.release.vsprops │ └── detail │ │ ├── citrix.common.vsprops │ │ ├── citrix.local.setup.vsprops │ │ ├── citrix.local.vsprops │ │ ├── citrix.settings.default.vsprops │ │ ├── citrix.settings.thirdparty.vsprops │ │ ├── locations.build.default.vsprops │ │ ├── locations.build.onedir.vsprops │ │ └── locations.build.outside.vsprops └── vs2010 │ ├── citrix.props │ ├── detail │ ├── boilerplate.props │ ├── citrix.settings.default.props │ ├── citrix.settings.thirdparty.props │ ├── locations.build.onedir.props │ ├── locations.build.outside.props │ ├── locations.check.local.props │ └── subfoo.props │ └── foo.props ├── query_balloon ├── query_balloon.c ├── query_balloon.rc └── sources ├── removedev ├── makefile ├── removedev.c ├── removedev.rc ├── removedev.vcproj └── sources ├── samples ├── v2v │ ├── README.TXT │ ├── dirs │ ├── inc │ │ ├── v2v_common.h │ │ └── v2v_ioctl.h │ ├── v2v_connector1.ini │ ├── v2v_listener1.ini │ ├── v2v_setup1.sh │ ├── v2vapp │ │ ├── makefile │ │ ├── resource.h │ │ ├── sources │ │ ├── v2vapp.c │ │ ├── v2vapp.h │ │ ├── v2vapp.rc │ │ ├── v2vdctl.c │ │ ├── v2vkm.c │ │ ├── v2vum.c │ │ └── v2vutl.c │ └── v2vdrv │ │ ├── makefile │ │ ├── resource.h │ │ ├── sources │ │ ├── v2vasync.c │ │ ├── v2vdrv.c │ │ ├── v2vdrv.h │ │ ├── v2vdrv.inf │ │ ├── v2vdrv.rc │ │ ├── v2vops.c │ │ └── v2vsync.c └── v4v │ ├── README.TXT │ ├── dirs │ ├── inc │ ├── v4v_common.h │ └── v4v_ioctl.h │ ├── v4v_connector.ini │ ├── v4v_dgram.ini │ ├── v4v_listener.ini │ ├── v4v_setup.sh │ ├── v4vapp │ ├── makefile │ ├── resource.h │ ├── sources │ ├── v4vapp.c │ ├── v4vapp.h │ ├── v4vapp.rc │ ├── v4vdctl.c │ ├── v4vdfile.c │ ├── v4vdgram.c │ ├── v4vlca.c │ ├── v4vstrm.c │ └── v4vtest.c │ ├── v4vdrv │ ├── makefile │ ├── resource.h │ ├── sources │ ├── v4vdrv.c │ ├── v4vdrv.h │ ├── v4vdrv.inf │ ├── v4vdrv.rc │ └── v4vst.c │ └── vs8cpp │ ├── UnitTest.sln │ ├── V4VClient │ ├── V4VClient.cpp │ ├── V4VClient.vcproj │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h │ ├── V4VServer │ ├── V4VServer.cpp │ ├── V4VServer.vcproj │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h │ ├── v4vmsg.cpp │ ├── v4vmsg.h │ └── xci.xml ├── scsifilt ├── controlpath.c ├── datapath.c ├── makefile ├── power.c ├── redirect_srb.c ├── rings.c ├── schedule.c ├── scsifilt.c ├── scsifilt.h ├── scsifilt.rc ├── scsifilt.vcproj ├── scsifilt_wpp.ctl ├── scsifilt_wpp.h └── sources ├── setloglevel ├── makefile ├── setloglevel.c ├── setloglevel.rc └── sources ├── sign ├── MSCV-VSClass3.cer └── readme.txt ├── sockpipe ├── Circle.cpp ├── circle.h ├── connectoid.cpp ├── connectoid.h ├── logger.cpp ├── logger.h ├── makefile ├── pipereader.cpp ├── pipereader.h ├── plj_utils.h ├── sockpipe.cpp ├── sockreader.cpp ├── sockreader.h ├── sources ├── spinlock.cpp ├── spinlock.h ├── stdafx.cpp ├── stdafx.h ├── threadcontrol.cpp └── threadcontrol.h ├── sync ├── makefile ├── sources ├── sync.c └── sync.rc ├── uninst_pending ├── sources └── uninst_pending.c ├── wnet ├── dirs ├── netif.h ├── receiver_common.c ├── settings.c ├── utf8.c ├── xennet_common.h ├── xenwnet.inf ├── xenwnet │ ├── makefile │ ├── miniport.c │ ├── precomp.h │ ├── receiver.c │ ├── sources │ ├── transmitter.c │ ├── wlan.c │ ├── wlan.h │ ├── xennet.c │ ├── xennet.h │ ├── xenwnet.rc │ └── xenwnet.vcproj ├── xenwnet6 │ ├── adapter.c │ ├── adapter.h │ ├── common.h │ ├── main.c │ ├── makefile │ ├── miniport.c │ ├── miniport.h │ ├── nbl_hash.c │ ├── nbl_hash.h │ ├── project.h │ ├── receiver.c │ ├── receiver.h │ ├── sources │ ├── std.h │ ├── transmitter.c │ ├── transmitter.h │ ├── wlan.c │ ├── wlan.h │ ├── wlan_defs.h │ ├── xennet.rc │ └── xenwnet6.vcproj └── xenwnet64.inf ├── xenaud ├── ac97reg.h ├── adapter.cpp ├── adapter.h ├── common.cpp ├── common.h ├── debug.h ├── guids.h ├── ichreg.h ├── makefile ├── mintopo.cpp ├── mintopo.h ├── prophnd.cpp ├── rtminiport.cpp ├── rtminiport.h ├── rtstream.cpp ├── rtstream.h ├── shared.h ├── sources ├── wavepciminiport.cpp ├── wavepciminiport.h ├── wavepcistream.cpp ├── wavepcistream.h ├── xen.cpp ├── xen.ico ├── xenaud.inf ├── xenaud.rc ├── xenaud.vcproj └── xenaud64.inf ├── xenclient-eula └── EULA-en-us ├── xenevtchn ├── dma.c ├── dumpdev.c ├── makefile ├── personality.c ├── pnp.c ├── pnp.h ├── power.c ├── sources ├── user.c ├── v2v.c ├── v2v_private.h ├── v2vstrm.c ├── v2vutl.c ├── xendev.c ├── xenevtchn.c ├── xenevtchn.h ├── xenevtchn.rc ├── xenevtchn.vcproj ├── xenevtchn_wpp.ctl ├── xenevtchn_wpp.h ├── xevtchn.def ├── xevtchn.inf ├── xevtchn64.inf └── xevtchn_msgs.mc ├── xengfx ├── dirs ├── inc │ ├── xengfx_regs.h │ └── xengfx_shared.h ├── shared │ ├── sources │ ├── sources.props │ ├── xengfx_core.c │ ├── xengfx_vbe.c │ ├── xengfx_vga.c │ ├── xengfx_wdk.c │ ├── xengfxsh-Package │ │ └── xengfxsh-Package.vcxproj │ └── xengfxsh.VcxProj ├── wddm │ ├── dirs │ ├── display │ │ ├── dllmain.c │ │ ├── sources │ │ ├── utils.c │ │ ├── xend3d.c │ │ ├── xend3d.def │ │ ├── xend3d.h │ │ └── xend3d.rc │ ├── inc │ │ └── d3d.h │ ├── miniport │ │ ├── ddi.c │ │ ├── debug.c │ │ ├── gart.c │ │ ├── misc.c │ │ ├── sources │ │ ├── vcrtc.c │ │ ├── vidpn.c │ │ ├── xengfx_edid_1280_1024.c │ │ ├── xengfxwd.c │ │ ├── xengfxwd.h │ │ └── xengfxwd.rc │ ├── xengfx32.inf │ └── xengfx64.inf ├── xddm │ ├── dirs │ ├── display │ │ ├── sources │ │ ├── xendisp.c │ │ ├── xendisp.h │ │ └── xendisp.rc │ ├── miniport │ │ ├── sources │ │ ├── xengfxmp.c │ │ ├── xengfxmp.h │ │ └── xengfxmp.rc │ ├── xengfx-lh.inf │ └── xengfx-xp.inf ├── xengfx_hardware_spec.txt └── xengfx_minispec.txt ├── xenhdrs ├── arch-x86_32.h ├── event_channel.h ├── grant_table.h ├── hvm_params.h ├── memory.h ├── ring.h ├── sched.h ├── xen.h ├── xen_types.h ├── xenbus.h └── xs_wire.h ├── xenuser ├── dirs ├── tests │ ├── broken_packets │ │ ├── broken_packets.c │ │ └── sources │ ├── dirs │ ├── is_viridian │ │ ├── is_viridian.c │ │ └── sources │ ├── long_transaction │ │ ├── long_transaction.c │ │ ├── makefile │ │ └── sources │ ├── misaligned_write │ │ ├── misaligned_write.c │ │ └── sources │ ├── test_scsi_inquiry │ │ ├── sources │ │ └── test_scsi_inquiry.c │ ├── v2v │ │ ├── sources │ │ └── v2v_test.c │ ├── watches │ │ ├── makefile │ │ ├── sources │ │ └── watches.c │ └── xenops │ │ ├── sources │ │ └── xenops.c ├── util │ ├── dirs │ ├── dll │ │ ├── sources │ │ ├── util.c │ │ ├── xsutil.def │ │ └── xsutil.rc │ └── test │ │ ├── is_rdp.c │ │ └── sources ├── v2v │ ├── sources │ ├── stream.c │ ├── util.c │ ├── v2v.c │ ├── v2v.def │ ├── v2v.rc │ └── v2v_private.h ├── winagent │ ├── NicInfo.cpp │ ├── NicInfo.h │ ├── TSInfo.cpp │ ├── TSInfo.h │ ├── WMIAccessor.cpp │ ├── WMIAccessor.h │ ├── XSAccessor.cpp │ ├── XSAccessor.h │ ├── XService.cpp │ ├── XService.h │ ├── clipboard.cpp │ ├── errors.cpp │ ├── makefile │ ├── messages.mc │ ├── sources │ ├── stdafx.cpp │ ├── stdafx.h │ ├── tests │ │ └── volumes │ │ │ ├── sources │ │ │ └── test_v.cpp │ ├── vm_stats.h │ ├── volumes.cpp │ └── winagent.rc ├── xenops │ ├── sources │ ├── xenops.c │ ├── xenops.def │ └── xenops.rc ├── xenstore_client │ ├── makefile │ ├── sources │ └── xenstore_client.c ├── xs │ ├── sources │ ├── xs.c │ ├── xs.def │ ├── xs.h │ └── xs.rc ├── xs2 │ ├── sources │ ├── xs2.c │ ├── xs2.def │ ├── xs2.h │ └── xs2.rc ├── xs2test │ ├── makefile │ ├── sources │ └── xs2test.c ├── xstest │ ├── makefile │ ├── sources │ ├── xstest.c │ ├── xstest.sln │ └── xstest.vcproj └── xstest_dyn │ ├── sources │ └── xstest.c ├── xenutil ├── amd64 │ ├── asmstubs.asm │ └── xenutil.def ├── austere.c ├── austere.h ├── balloon.c ├── balloon.h ├── debug.c ├── debug.h ├── diags.c ├── diags.h ├── evtchn.c ├── evtchn.h ├── gntmap.c ├── gntmap.h ├── gnttab.c ├── gnttab.h ├── hvm.c ├── hvm.h ├── hypercall.c ├── hypercall.h ├── i386 │ ├── asmstubs.c │ └── xenutil.def ├── iohole.c ├── iohole.h ├── logging.c ├── rangeset.c ├── reexport.c ├── reexport.h ├── registry.c ├── registry.h ├── sources ├── suspend.c ├── thread.c ├── work.c ├── xen.c ├── xenbus.c ├── xenbus.h ├── xenutil.rc ├── xenutil.vcproj ├── xenutl.c └── xenutl.h ├── xenv4v ├── create.c ├── csq.c ├── hypercall.c ├── ioctl.c ├── makefile ├── ring.c ├── rw.c ├── send.c ├── sources ├── xenv4v.c ├── xenv4v.h ├── xenv4v.inf ├── xenv4v.rc ├── xenv4v.vcproj └── xenv4v64.inf ├── xenvbd ├── blkif.h ├── filterio.c ├── inquiry.c ├── makefile ├── mode.c ├── sources ├── xen.c ├── xenvbd.c ├── xenvbd.h ├── xenvbd.inf ├── xenvbd.rc ├── xenvbd.vcproj └── xenvbd64.inf ├── xenvesa ├── dirs ├── display │ ├── display.vcproj │ ├── helper.c │ ├── helper.h │ ├── sources │ ├── xenvesa-display.c │ ├── xenvesa-display.h │ └── xenvesa-display.rc ├── miniport │ ├── miniport.vcproj │ ├── sources │ ├── xenvesa-miniport.c │ ├── xenvesa-miniport.h │ ├── xenvesa-miniport.rc │ └── xenvesa-registry.c ├── xenvesa-lh.inf ├── xenvesa-xp.inf └── xenvesa.vcproj └── xenvesado ├── XenGfxDO.VcxProj ├── bdd.cxx ├── bdd.hxx ├── bdd_ddi.cxx ├── bdd_dmm.cxx ├── bdd_errorlog.hxx ├── bdd_util.cxx ├── bltfuncs.cxx ├── blthw.cxx ├── memory.cxx ├── miniport.sln ├── miniport.vcxproj ├── sources ├── sources.inc ├── sources.inc.props ├── sources.props ├── xenVesaDO.inf ├── xenVesaDO.rc └── xenvesa_defs.h /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.suo 3 | *.user 4 | bin/ 5 | obj/ 6 | Debug/ 7 | Release/ 8 | *.ncb 9 | *Thumbs.db 10 | _UpgradeReport_Files/ 11 | build/ 12 | *.obj 13 | *.tmh 14 | *.mac 15 | *.res 16 | *.orig 17 | *.rej 18 | *.aps 19 | install/license.txt 20 | install/xensetup.exe 21 | sign32/ 22 | sign64/ 23 | objchk_* 24 | objfre_* 25 | xenvss/provider/xenvssprovider.* 26 | xenvss/provider/dlldata.c 27 | xenvss/provider/eventlogmsgs.h 28 | xenvss/provider/xenvssprovider_i.* 29 | xenvss/provider/xenvssprovider_p.* 30 | *build*.log 31 | *build*.err 32 | *build*.wrn 33 | -------------------------------------------------------------------------------- /FixDiskFilters/FixDiskFilters.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2010 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include 27 | 28 | #define VER_FILETYPE VFT_APP 29 | #define VER_FILESUBTYPE VFT2_UNKNOWN 30 | #define VER_FILEDESCRIPTION_STR "Verify order of disk filter drivers" 31 | #define VER_INTERNALNAME_STR "FixDiskFilters.exe" 32 | #define VER_ORIGINALFILENAME_STR "FixDiskFilters.exe" 33 | 34 | #include 35 | 36 | -------------------------------------------------------------------------------- /FixDiskFilters/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /FixDiskFilters/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=FixDiskFilters 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=console 9 | 10 | INCLUDES = ..\inc;$(DDK_INC_PATH);$(ATL_INC_PATH)\atl30;$(MFC_INC_PATH) 11 | 12 | TARGETLIBS=$(SDK_LIB_PATH)\advapi32.lib 13 | 14 | #uncomment for unicode version, comment for ansi 15 | #C_DEFINES=/D_UNICODE /DUNICODE 16 | 17 | 18 | #_WIN32_WINNT=0x0600 19 | 20 | USECXX_FLAG=/Tp 21 | USE_MSVCRT=1 22 | 386_STDCALL=0 23 | USE_STL=1 24 | USE_NATIVE_EH=1 25 | MSC_WARNING_LEVEL=/W3 26 | 27 | 28 | SOURCES = FixDiskFilters.cpp \ 29 | FixDiskFilters.rc 30 | 31 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The majority of sources in this repository are covered under the MIT software 2 | license: 3 | 4 | http://opensource.org/licenses/MIT 5 | 6 | One subproject was derived directly from a Microsoft sample from the 7 | Windows Kit 8.0 Samples. It is covered by the MS-LPL license from that kit. 8 | That license is checked in here as: MS-LPL-v1.1.rtf. The project is: 9 | 10 | xengfx\vesa\wddm 11 | -------------------------------------------------------------------------------- /OxtService/OxtGuestServices.rgs: -------------------------------------------------------------------------------- 1 | HKCR 2 | { 3 | OxtService.OxtGuestServices.1 = s 'OxtGuestServices Class' 4 | { 5 | CLSID = s '{79E8108A-57E6-4E3D-B98F-DB90572B7F5A}' 6 | } 7 | OxtService.OxtGuestServices = s 'OxtGuestServices Class' 8 | { 9 | CLSID = s '{79E8108A-57E6-4E3D-B98F-DB90572B7F5A}' 10 | CurVer = s 'OxtService.OxtGuestServices.1' 11 | } 12 | NoRemove CLSID 13 | { 14 | ForceRemove {79E8108A-57E6-4E3D-B98F-DB90572B7F5A} = s 'OxtGuestServices Class' 15 | { 16 | ProgID = s 'OxtService.OxtGuestServices.1' 17 | VersionIndependentProgID = s 'OxtService.OxtGuestServices' 18 | ForceRemove 'Programmable' 19 | LocalServer32 = s '%MODULE%' 20 | val AppID = s '%APPID%' 21 | 'TypeLib' = s '{CB46685A-BBB0-406B-BB1D-CF1641FFF17D}' 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /OxtService/OxtService.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/OxtService/OxtService.rc -------------------------------------------------------------------------------- /OxtService/OxtService.rgs: -------------------------------------------------------------------------------- 1 | HKCR 2 | { 3 | NoRemove AppID 4 | { 5 | '%APPID%' = s 'OxtService' 6 | 'OxtService.EXE' 7 | { 8 | val AppID = s '%APPID%' 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /OxtService/OxtServiceTest/OxtServiceTest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XenGuestTest", "XenGuestTest.vcproj", "{EEC805B2-AF3B-44BF-9A7A-AB4BFE3A924F}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {EEC805B2-AF3B-44BF-9A7A-AB4BFE3A924F}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {EEC805B2-AF3B-44BF-9A7A-AB4BFE3A924F}.Debug|Win32.Build.0 = Debug|Win32 14 | {EEC805B2-AF3B-44BF-9A7A-AB4BFE3A924F}.Release|Win32.ActiveCfg = Release|Win32 15 | {EEC805B2-AF3B-44BF-9A7A-AB4BFE3A924F}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /OxtService/OxtServiceTest/stdafx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.cpp : source file that includes just the standard includes 24 | // XenGuestTest.pch will be the pre-compiled header 25 | // stdafx.obj will contain the pre-compiled type information 26 | 27 | #include "stdafx.h" 28 | 29 | // TODO: reference any additional headers you need in STDAFX.H 30 | // and not in this file 31 | -------------------------------------------------------------------------------- /OxtService/OxtServiceTest/stdafx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.h : include file for standard system include files, 24 | // or project specific include files that are used frequently, but 25 | // are changed infrequently 26 | // 27 | 28 | #pragma once 29 | 30 | #include "targetver.h" 31 | 32 | #include 33 | #include 34 | 35 | 36 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 37 | 38 | #include 39 | #include 40 | 41 | // TODO: reference additional headers your program requires here 42 | -------------------------------------------------------------------------------- /OxtService/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/OxtService/common.h -------------------------------------------------------------------------------- /OxtService/oxtmsg.mc: -------------------------------------------------------------------------------- 1 | LanguageNames = ( 2 | NeutralEnglish = 0x0009:Messages_en 3 | ) 4 | 5 | MessageId=0x00000000 6 | SymbolicName=EVMSG_GENERAL 7 | Language=NeutralEnglish 8 | General message: %1 9 | . 10 | 11 | MessageId=0x00000099 12 | SymbolicName=EVMSG_CRITICAL_FAILURE 13 | Language=NeutralEnglish 14 | Critical failure or bug detected: %1 15 | . 16 | 17 | MessageId=0x00000100 18 | SymbolicName=EVMSG_WARNING 19 | Language=NeutralEnglish 20 | Warning message: %1 21 | . 22 | 23 | MessageId=0x00000101 24 | SymbolicName=EVMSG_START_FAILURE 25 | Language=NeutralEnglish 26 | Startup failure: %1 27 | . 28 | 29 | MessageId=0x00000102 30 | SymbolicName=EVMSG_CREATION_FAILURE 31 | Language=NeutralEnglish 32 | Object creation failure: %1 33 | . 34 | 35 | MessageId=0x00000103 36 | SymbolicName=EVMSG_SECURITY_SETUP_FAILURE 37 | Language=NeutralEnglish 38 | Error during security setup. %1 39 | . 40 | 41 | MessageId=0x00000104 42 | SymbolicName=EVMSG_SECURITY_FAILURE 43 | Language=NeutralEnglish 44 | Security related failure occured. %1 45 | . 46 | 47 | MessageId=0x00000105 48 | SymbolicName=EVMSG_SECURITY_WARNING 49 | Language=NeutralEnglish 50 | Security warning. %1 51 | . 52 | 53 | MessageId=0x00000106 54 | SymbolicName=EVMSG_OPERATION_FAILURE 55 | Language=NeutralEnglish 56 | Error during service operation. %1 57 | . 58 | 59 | MessageId=0x00000107 60 | SymbolicName=EVMSG_COMMUNICATION_FAILURE 61 | Language=NeutralEnglish 62 | Communication error during service operation. %1 63 | . 64 | 65 | -------------------------------------------------------------------------------- /OxtService/stdafx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Citrix Systems, Inc. 3 | * Copyright (c) 2016 Assured Information Security, Inc 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy 6 | * of this software and associated documentation files (the "Software"), to deal 7 | * in the Software without restriction, including without limitation the rights 8 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | * copies of the Software, and to permit persons to whom the Software is 10 | * furnished to do so, subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in 13 | * all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | * THE SOFTWARE. 22 | */ 23 | 24 | // stdafx.cpp : source file that includes just the standard includes 25 | // XenGuestAgent.pch will be the pre-compiled header 26 | // stdafx.obj will contain the pre-compiled type information 27 | 28 | #include "stdafx.h" 29 | -------------------------------------------------------------------------------- /OxtService/xen.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/OxtService/xen.ico -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OxtUserAgent", "OxtUserAgent\OxtUserAgent.vcxproj", "{B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Debug|Win32.Build.0 = Debug|Win32 16 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Debug|Win32.Deploy.0 = Debug|Win32 17 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Debug|x64.ActiveCfg = Debug|x64 18 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Debug|x64.Build.0 = Debug|x64 19 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Release|Win32.ActiveCfg = Release|Win32 20 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Release|Win32.Build.0 = Release|Win32 21 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Release|Win32.Deploy.0 = Release|Win32 22 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Release|x64.ActiveCfg = Release|x64 23 | {B99F006E-D0DF-4B3D-9CD2-F44EEB998A35}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/OxtUserAgent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "resource.h" 4 | -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/OxtUserAgent.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/OxtUserAgent/OxtUserAgent/OxtUserAgent.ico -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/OxtUserAgent.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/OxtUserAgent/OxtUserAgent/OxtUserAgent.rc -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/OxtUserAgent/OxtUserAgent/resource.h -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // OxtUserAgent.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | // Windows Header Files: 12 | #include 13 | 14 | // C RunTime Header Files 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | 22 | // TODO: reference additional headers your program requires here 23 | -------------------------------------------------------------------------------- /OxtUserAgent/OxtUserAgent/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /config.mk: -------------------------------------------------------------------------------- 1 | BUILDDIR=build 2 | TARGETPATH=$(TOPDIR)\$(BUILDDIR) 3 | !if defined(USERSPACE) 4 | INCLUDES=$(TOPDIR)\inc 5 | !else 6 | INCLUDES=$(DDK_INC_PATH);$(TOPDIR)\inc 7 | !endif 8 | 9 | # Sigh... If _BUILDARCH is x86, the DDK build scripts put binaries in 10 | # BUILDDIR\i386. Otherwise, they go in BUILDDIR\_BUILDARCH. 11 | # Because, you know, it's obviously impossible to decide on a single 12 | # name for a processor. 13 | !if "$(_BUILDARCH)" == "x86" 14 | BUILDDIR_ARCH=$(BUILDDIR)\i386 15 | !else 16 | BUILDDIR_ARCH=$(BUILDDIR)\amd64 17 | !endif 18 | TARGETPATH_ARCH=$(TOPDIR)\$(BUILDDIR_ARCH) 19 | 20 | # Warning 4127 is ``conditional expression is constant'', and is 21 | # triggered by do {} while (0). This is by far the most convenient 22 | # way of writing multi-statement macros, and so the warning should be 23 | # disabled. 24 | MSC_WARNING_LEVEL=/W4 /WX /wd4127 25 | # We need the library version of ntstrsafe.h, since we need to work 26 | # on Windows 2000. 27 | C_DEFINES=-DNTSTRSAFE_LIB 28 | 29 | # Userspace stuff needs to be built for windows 2000 or it won't run 30 | # (you get ``... is not a valid Win32 application.'' popups, and 31 | # access denied errors from CreateProcess). 32 | # 33 | # I assume that was to make it work on W2K. We really don't care about 34 | # that and setting _NT_TARGET_VERSION_WIN2K prevents building with the 35 | # 7.1 WDK. 36 | !if defined(USERSPACE) 37 | _NT_TARGET_VERSION=$(_NT_TARGET_VERSION_WINXP) 38 | !endif 39 | -------------------------------------------------------------------------------- /copyvif/copyvif.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2010 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "copyvif.exe" 29 | #define VER_FILEVERSION_STR "1.0" 30 | #define VER_FILEDESCRIPTION_STR "Emulated NIC Settings Transferor" 31 | #define VER_ORIGINALFILENAME_STR "copyvif.exe" 32 | #define VER_FILETYPE VFT_APP 33 | #define VER_FILESUBTYPE 0 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /copyvif/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=copyvif 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=windows 9 | 10 | USE_MSVCRT=1 11 | 12 | # Need to be unicode to avoid clobbering non-ascii characters in things 13 | # which we're copying. 14 | C_DEFINES=$(C_DEFINES) -D_UNICODE -DUNICODE 15 | 16 | TARGETLIBS=$(SDK_LIB_PATH)\user32.lib \ 17 | $(TARGETPATH_ARCH)\xsutil.lib \ 18 | $(SDK_LIB_PATH)\iphlpapi.lib 19 | 20 | SOURCES=copyvif.c copyvif.rc 21 | 22 | 23 | -------------------------------------------------------------------------------- /dirs: -------------------------------------------------------------------------------- 1 | DIRS=removedev \ 2 | xenutil \ 3 | xenevtchn \ 4 | net \ 5 | wnet \ 6 | xenuser \ 7 | xenv4v \ 8 | enableuninst \ 9 | installdriver \ 10 | install \ 11 | setloglevel \ 12 | getlogs \ 13 | query_balloon \ 14 | xenvesa \ 15 | sync \ 16 | sockpipe \ 17 | uninst_pending \ 18 | copyvif \ 19 | input \ 20 | xenaud 21 | -------------------------------------------------------------------------------- /dobuild.bat: -------------------------------------------------------------------------------- 1 | REM %1 - DDK location 2 | REM %2 - Build base directory 3 | REM %3 - Release or debug build - fre|chk 4 | REM %4 - Build architecture - x86|x64 5 | 6 | call %1\bin\setenv.bat %1 %3 WLH %4 no_oacr || exit /b 1 7 | 8 | cd /d %2 9 | 10 | IF NOT EXIST tmp GOTO SKIP_REMOVE 11 | rmdir /s/q tmp 12 | :SKIP_REMOVE 13 | 14 | mkdir tmp 15 | set tmp=%2\tmp 16 | set temp=%2\tmp 17 | 18 | set USERNAME=OpenXT 19 | 20 | REM beware https://github.com/OpenXT/xc-windows/issues/3 if you want to make 21 | REM this faster by removing the c and z flags to get incremental builds 22 | build -begwcz 2>&1 || exit /b 2 23 | -------------------------------------------------------------------------------- /doc/blk_handshake.txt: -------------------------------------------------------------------------------- 1 | Description of the handshake between xenvbd/scsifilt and blkback/blktap 2 | ======================================================================= 3 | 4 | 02/07/2009: version 1.0 (pauldu) 5 | 6 | Multi-page Handshake 7 | -------------------- 8 | 9 | xenvbd/scsifilt are capable of creating a multi-page shared VM ring. This ring 10 | can clearly not be advertized to the backend using the standard single 11 | 'ring-ref' xenstore key. Thus a new multi-page handshake is used. This takes 12 | the form of a 'ring-page-order' xenstore key. The value of this tells the 13 | backend how many ring grant references to expect: e.g. a value of 0 indicates 14 | 2^0 = 1 reference, a value of 2 indicates 2^2 = 4 references. Multiple 15 | references are passed in xenstore keys named 'ring-refX' where X is an index 16 | ranging from 0..2^. 17 | 18 | Backwards Compatibility 19 | ----------------------- 20 | 21 | Clearly the frontend driver needs to know how big a ring the backend driver can 22 | cope with, or indeed whether it can handle multi-page rings at all. Thus the 23 | frontend driver looks for the 'max-ring-page-order' key, which the backend must 24 | create before moving into the INIT_WAIT state. If this key is not present then 25 | the frontend driver assumes the backend is not multi-page aware and will only 26 | create a single page ring, which it advertises using the 'ring-ref' key (nor 27 | does it create the 'ring-page-order' key). If the key is present then the 28 | frontend will create a ring that is between 0 and 2^ in 29 | length (using only whole powers of 2, of course) and advertise it as described 30 | above. 31 | 32 | 33 | -------------------------------------------------------------------------------- /doc/migration.txt: -------------------------------------------------------------------------------- 1 | To do a save/restore or migration: 2 | 3 | -- Xend and dom0 do some stuff which is irrelevant for our purposes. 4 | 5 | -- Xend sets control/shutdown to suspend 6 | 7 | -- We notice that via the SuspendThreadWatchCb in xenevtchn/suspend.c, 8 | which notifies SuspendThread. 9 | 10 | -- The SuspendThread stops the machine with QuiesceSystem and tells 11 | the hypervisor to suspend us. 12 | 13 | -- Some more magic happens which we don't care about, and we get 14 | reinstantiated in a new domain. 15 | 16 | -- The suspend thread runs the early suspend handlers, in the order 17 | they were registered. At this point, you know that no other cpus 18 | are doing anything beyond waiting for you to unblock them, no 19 | interrupts are running, and nobody holds any locks. Things like 20 | the APIC may not be available to some of these handlers. 21 | 22 | -- The suspend thread unquiesces the machine and drops all locks, then 23 | runs the late suspend handlers, in the order they were registered. 24 | The system is running pretty much normally at this point, including 25 | all cpus, userspace, etc. 26 | 27 | The following resources are lost across a suspend/resume: 28 | 29 | -- Event channels and event channel bindings 30 | -- Grant references 31 | -- Grant caches 32 | 33 | and the backends completely forget who you are. 34 | 35 | The following resources are preserved: 36 | 37 | -- Evtchn debug callback handlers 38 | -- Xenstore watches are restored automatically by the xenbus suspend 39 | handler. 40 | -- Anything purely internal to the Windows VM e.g. memory, threads. 41 | -------------------------------------------------------------------------------- /doc/scsi_mistakes.txt: -------------------------------------------------------------------------------- 1 | Commands which are mandatory for a SCSI block device: 2 | 3 | -- INQUIRY, including EVPD pages 0 and 83 4 | -- FORMAT UNIT 5 | -- READ 6 (optional according to WHQL, because it's obsolete in later 6 | versions of the SCSI spec.) 7 | -- READ 10 8 | -- READ CAPACITY 10 9 | -- REPORT LUNS 10 | -- REQUEST SENSE 11 | -- SEND DIAGNOSTIC 12 | -- TEST UNIT READY 13 | 14 | WHQL's SCSI conformance test also requires: 15 | 16 | -- MODE SENSE 6. 17 | -- INQUIRY page 80, with non-zero length 18 | -- INQUIRY page 83, with identifiers type 1, 2, and 3. 19 | -- RESERVE 6 20 | -- RELEASE 6 21 | 22 | We currently implement: 23 | 24 | -- INQUIRY, VPD pages 0, 80, and 83, but 83 is empty and 80 gives a 25 | serial number of ' '. That's good enough for WHQL, and is 26 | compliant with the SCSI spec. 27 | -- MODE SENSE 6 28 | -- READ CAPACITY 10 29 | -- READ CAPACITY 16 30 | -- READ 10 31 | -- READ 16 32 | -- WRITE 10 33 | -- WRITE 16 34 | -- SYNCHRONISE CACHE 35 | -- TEST UNIT READY 36 | -- REPORT LUNS 37 | 38 | -- VERIFY 10, badly 39 | 40 | We're therefore missing: 41 | 42 | -- A proper INQUIRY page 83 43 | -- RESERVE 6 44 | -- RELEASE 6 45 | -- REQUEST SENSE 46 | 47 | -- START STOP UNIT 48 | -- FORMAT UNIT 49 | -- READ 6 50 | -- SEND DIAGNOSTIC 51 | -- Most of VERIFY 52 | 53 | Of which everything before the gap is required for WHQL. 54 | 55 | 56 | -------------------------------------------------------------------------------- /doc/versions.txt: -------------------------------------------------------------------------------- 1 | Places where the version number shows up: 2 | 3 | -- xevtchn.inf, xevtchn64.inf 4 | -- inc/verinfo.h 5 | -- xenvbd.inf, xenvbd64.inf 6 | -- xennet.inf, xennet64.inf 7 | -- install/xensetup.nsi 8 | -- xennet GEN_VENDOR_DRIVER_VERSION 9 | -------------------------------------------------------------------------------- /docrosssign.bat: -------------------------------------------------------------------------------- 1 | REM Call this batch file with the build directory as the argument 2 | cd %1 3 | 4 | call findddk.bat 5 | if "%ddk_path%"=="no ddk" goto end 6 | 7 | set winqual_path="c:\program files\microsoft winqual submission tool 2" 8 | if not exist %winqual_path% if exist "c:\program files\microsoft winqual submission tool" set winqual_path="c:\program files\microsoft winqual submission tool" 9 | path=%path%;%winqual_path% 10 | set winqual_path= 11 | path=%path%;%ddk_path%\bin\catalog 12 | sign\sign.cmd crosssign.bat %2 13 | 14 | :end 15 | -------------------------------------------------------------------------------- /dotestsign.bat: -------------------------------------------------------------------------------- 1 | REM Call this batch file with the build directory as the argument 2 | cd %1 3 | 4 | call findddk.bat 5 | if "%ddk_path%"=="no ddk" goto end 6 | 7 | set winqual_path="c:\program files\microsoft winqual submission tool 2" 8 | if not exist %winqual_path% if exist "c:\program files\microsoft winqual submission tool" set winqual_path="c:\program files\microsoft winqual submission tool" 9 | path=%path%;%winqual_path% 10 | set winqual_path= 11 | path=%path%;%ddk_path%\bin\catalog 12 | sign\sign.cmd testsign.bat 13 | 14 | :end 15 | -------------------------------------------------------------------------------- /dothebuild.bat: -------------------------------------------------------------------------------- 1 | REM first arg is DDK location, second is the build directory 2 | 3 | call %1\bin\setenv.bat %1 free WLH %3 4 | 5 | cd /d %2 6 | 7 | IF NOT EXIST tmp GOTO SKIP_REMOVE 8 | rmdir /s/q tmp 9 | :SKIP_REMOVE 10 | 11 | mkdir tmp 12 | set tmp=%2\tmp 13 | set temp=%2\tmp 14 | 15 | set USERNAME=OpenXT 16 | 17 | build -bczgw 18 | 19 | -------------------------------------------------------------------------------- /doverifysign.ps1: -------------------------------------------------------------------------------- 1 | param 2 | ( 3 | [string]$signtool="signtool" 4 | ) 5 | $ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path 6 | Import-Module $ScriptDir\..\BuildSupport\invoke.psm1 7 | 8 | Write-Host "signtool $signtool" 9 | Push-Location sign32 10 | Invoke-CommandChecked "Check 32 bit CAT files" $signtool verify /pa /v xennet.cat xenwnet.cat xenvesa-xp.cat xenvesa-lh.cat xenv4v.cat xevtchn.cat xeninp.cat xenaud.cat 11 | Invoke-CommandChecked "Check 32 bit boot start drivers" $signtool verify /pa /v xevtchn.sys xenv4v.sys xenvesa-miniport.sys xenvesa-display.dll xennet.sys xennet6.sys xenwnet.sys xenwnet6.sys xenutil.sys xeninp.sys xenaud.sys 12 | Pop-Location 13 | 14 | Push-Location sign64 15 | Invoke-CommandChecked "Check 64 bit CAT files" $signtool verify /pa /v xennet.cat xenwnet.cat xenvesa-xp.cat xenvesa-lh.cat xenv4v.cat xevtchn.cat xeninp.cat xenaud.cat 16 | Invoke-CommandChecked "Checked 64 bit boot start drivers" $signtool verify /pa /v xevtchn.sys xenv4v.sys xenvesa-miniport.sys xenvesa-display.dll xennet.sys xennet6.sys xenwnet.sys xenwnet6.sys xenutil.sys xeninp.sys xenaud.sys 17 | Pop-Location 18 | -------------------------------------------------------------------------------- /enableuninst/enableuninst.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2010 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "enableuninst.exe" 29 | #define VER_FILEDESCRIPTION_STR "Xen PV device uninstall helper" 30 | #define VER_ORIGINALFILENAME_STR "enableuninst.exe" 31 | #define VER_FILETYPE VFT_APP 32 | #define VER_FILESUBTYPE 0 33 | 34 | #include "common.ver" 35 | -------------------------------------------------------------------------------- /enableuninst/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /enableuninst/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=enableuninst 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=windows 9 | 10 | MSC_WARNING_LEVEL=/W3 /WX 11 | 12 | USE_MSVCRT=1 13 | 14 | TARGETLIBS=$(SDK_LIB_PATH)\user32.lib \ 15 | $(SDK_LIB_PATH)\setupapi.lib 16 | 17 | SOURCES=enableuninst.c enableuninst.rc 18 | -------------------------------------------------------------------------------- /findddk.bat: -------------------------------------------------------------------------------- 1 | set ddk_path=C:\WinDDK\7600.16385.1 2 | -------------------------------------------------------------------------------- /getlogs/getlogs.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_APP 29 | #define VER_FILESUBTYPE VFT2_UNKNOWN 30 | #define VER_FILEDESCRIPTION_STR "PV driver log fetcher helper" 31 | #define VER_INTERNALNAME_STR "getlogs.exe" 32 | #define VER_ORIGINALFILENAME_STR "getlogs.exe" 33 | 34 | #include 35 | 36 | -------------------------------------------------------------------------------- /getlogs/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=getlogs 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=console 9 | 10 | USE_MSVCRT=1 11 | 12 | SOURCES=getlogs.c getlogs.rc 13 | -------------------------------------------------------------------------------- /inc/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | /* Various #defines for PV driver compile-time options. These are 24 | * mostly debug options which are too expensive to run with by 25 | * default. */ 26 | 27 | /* Run frequent checks on the xennet6 transmitter structure. */ 28 | #define XENNET6_TRANSMITTER_SANITY 0 29 | 30 | /* Per-NET_BUFFER_LIST logging in xennet6. */ 31 | #define ENABLE_NBL_LOG 0 32 | 33 | -------------------------------------------------------------------------------- /inc/scsifilt_ioctl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #ifndef SCSIFILT_IOCTL_H__ 24 | #define SCSIFILT_IOCTL_H__ 25 | 26 | #define IOCTL_SCSIFILT_GET_XENBUS_NAME \ 27 | CTL_CODE(FILE_DEVICE_DISK, 0x900, METHOD_BUFFERED, FILE_READ_ACCESS) 28 | 29 | #endif /* !SCSIFILT_IOCTL_H__ */ 30 | 31 | -------------------------------------------------------------------------------- /inc/vbd_special.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | /* Each vbd needs three pages (two for the TARGET_INFO and one for the 24 | ring), plus we need at least one bounce buffer, and we need one 25 | more for other allocations. We need to support at least 4 disks, 26 | so we need 4*4=16 pages. Add an extra couple of pages just to be 27 | safe, since running out of memory in the austere heap usually leads 28 | to a crash. */ 29 | #define AUSTERE_HEAP_PAGES 21 30 | 31 | -------------------------------------------------------------------------------- /inc/xsmtcapi.h: -------------------------------------------------------------------------------- 1 | /* All of the MTC-private APIs exported by xevtchn.sys in one convenient 2 | * place. 3 | * Copyright 2009 Marathon Technologies, Inc 4 | */ 5 | #ifndef XSMTCAPI_H__ 6 | #define XSMTCAPI_H__ 7 | 8 | /* We have a dependency on xsapi.h, so make sure it is included first */ 9 | #include "xsapi.h" 10 | 11 | /* Used to make callbacks right before the domain is suspended. 12 | * System is not quiesced (interrupts are still taking place and 13 | * other CPUs are active). Callback is called at passive level. 14 | */ 15 | #define PRE_SUSPEND_CB_EARLY_TYPE 4 16 | #define PRE_SUSPEND_CB_EARLY wrap_SUSPEND_CB_TYPE(PRE_SUSPEND_CB_EARLY_TYPE) 17 | 18 | /* Used to make callbacks when the system has been quiesced. 19 | * Only one VCPU is running and its IRQL is HIGH. 20 | */ 21 | #define PRE_SUSPEND_CB_LATE_TYPE 5 22 | #define PRE_SUSPEND_CB_LATE wrap_SUSPEND_CB_TYPE(PRE_SUSPEND_CB_LATE_TYPE) 23 | 24 | /* Allows the xenbus driver to work on new requests. 25 | * Call from IRQL <= DISPATCH_LEVEL. 26 | */ 27 | XSAPI void xenbus_driver_on(void); 28 | 29 | /* Prevents xenbus driver from working on new requests. 30 | * It waits for outstanding requests to finish before returning if 31 | * called at IRQL < DISPATCH_LEVEL 32 | * 33 | * Call from IRQL <= DISPATCH_LEVEL. 34 | */ 35 | XSAPI void xenbus_driver_off(void); 36 | 37 | /* Allow PV driver code to become divergent by letting xenbus accept 38 | * new requests. 39 | * MTC: This code is needed for Marathon Technologies' Lockstep Feature. 40 | */ 41 | void 42 | xenbus_mtc_allow_divergency(void); 43 | 44 | /* 45 | * Set non-divergent trace levels 46 | */ 47 | void 48 | XenTraceSetMtcLevels(); 49 | 50 | #endif /* !XSMTCAPI_H__ */ 51 | -------------------------------------------------------------------------------- /input/dirs: -------------------------------------------------------------------------------- 1 | DIRS = xeninp \ 2 | xenm2b 3 | -------------------------------------------------------------------------------- /input/xeninp/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT OS/2 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /input/xeninp/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=..\.. 2 | include ..\..\config.mk 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xeninp 7 | TARGETPATH=..\..\$(BUILDDIR) 8 | TARGETTYPE=DRIVER 9 | 10 | LINKER_FLAGS=$(LINKER_FLAGS) /DEF:xeninp.def 11 | 12 | TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib \ 13 | $(DDK_LIB_PATH)\wdmsec.lib 14 | 15 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENINP\" -DXENINP_DRIVER -DUNICODE 16 | 17 | INCLUDES=..\..\inc 18 | 19 | SOURCES=xeninp.c \ 20 | xeninp.rc 21 | 22 | -------------------------------------------------------------------------------- /input/xeninp/xeninp.def: -------------------------------------------------------------------------------- 1 | LIBRARY "XENINP" 2 | 3 | EXPORTS 4 | 5 | 6 | -------------------------------------------------------------------------------- /input/xeninp/xeninp.rc: -------------------------------------------------------------------------------- 1 | // 2 | // xeninp.rc 3 | // 4 | // Copyright 2010 Citrix Systems, Inc. 5 | // 6 | 7 | // 8 | // Permission is hereby granted, free of charge, to any person obtaining a copy 9 | // of this software and associated documentation files (the "Software"), to deal 10 | // in the Software without restriction, including without limitation the rights 11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | // copies of the Software, and to permit persons to whom the Software is 13 | // furnished to do so, subject to the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included in 16 | // all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | // THE SOFTWARE. 25 | // 26 | 27 | #include 28 | #include 29 | 30 | #include "verinfo.h" 31 | 32 | #define VER_INTERNALNAME_STR "xeninp.sys" 33 | #define VER_FILEDESCRIPTION_STR "OpenXT Xen PV Input Device" 34 | #define VER_ORIGINALFILENAME_STR "xeninp.sys" 35 | 36 | #define VER_FILETYPE VFT_DRV 37 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 38 | 39 | #include "common.ver" 40 | -------------------------------------------------------------------------------- /input/xenm2b/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT OS/2 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /input/xenm2b/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=..\.. 2 | include ..\..\config.mk 3 | 4 | NO_XENUTIL=yes 5 | 6 | MSC_WARNING_LEVEL=/W3 7 | 8 | TARGETNAME=xenm2b 9 | TARGETPATH=..\..\$(BUILDDIR) 10 | TARGETTYPE=DRIVER 11 | 12 | TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib \ 13 | $(DDK_LIB_PATH)\wdmsec.lib 14 | 15 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENM2B\" -DXENINP_DRIVER -DUNICODE 16 | 17 | !if "$(NO_XENUTIL)"=="yes" 18 | 19 | C_DEFINES=$(C_DEFINES) -DNO_XENUTIL 20 | 21 | !else 22 | 23 | TARGETLIBS=$(TARGETLIBS) \ 24 | $(TARGETPATH_ARCH)\xenutil.lib 25 | 26 | !endif 27 | 28 | INCLUDES=..\..\inc 29 | 30 | SOURCES=xenm2b.c \ 31 | m2bif.c \ 32 | pdo.c \ 33 | device.c \ 34 | hid_defs.c \ 35 | misc.c \ 36 | xenm2b.rc 37 | -------------------------------------------------------------------------------- /input/xenm2b/xenm2b.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2012 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xenm2b.sys" 29 | #define VER_FILEDESCRIPTION_STR "OpenXT Xen PV M2B Bus Driver" 30 | #define VER_ORIGINALFILENAME_STR "xenm2b.sys" 31 | 32 | #define VER_FILETYPE VFT_DRV 33 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /install/DialogInstall.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/install/DialogInstall.bmp -------------------------------------------------------------------------------- /install/WdfCoInstaller01009.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/install/WdfCoInstaller01009.dll -------------------------------------------------------------------------------- /install/drvsetup.nsh: -------------------------------------------------------------------------------- 1 | !define myFindExistingDevice "install::FindExistingDevice(t,) i" 2 | -------------------------------------------------------------------------------- /install/install.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (c) 2009 Citrix Systems, Inc. 3 | ; 4 | ; Permission is hereby granted, free of charge, to any person obtaining a copy 5 | ; of this software and associated documentation files (the "Software"), to deal 6 | ; in the Software without restriction, including without limitation the rights 7 | ; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | ; copies of the Software, and to permit persons to whom the Software is 9 | ; furnished to do so, subject to the following conditions: 10 | ; 11 | ; The above copyright notice and this permission notice shall be included in 12 | ; all copies or substantial portions of the Software. 13 | ; 14 | ; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | ; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | ; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | ; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | ; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | ; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | ; THE SOFTWARE. 21 | ; 22 | 23 | EXPORTS 24 | FindExistingDevice 25 | IsAmd64 26 | GetServicePack 27 | GetProductType 28 | SetXSdllRegKey 29 | -------------------------------------------------------------------------------- /install/install.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_APP 29 | #define VER_FILESUBTYPE VFT2_UNKNOWN 30 | #define VER_FILEDESCRIPTION_STR "Install helper library" 31 | #define VER_INTERNALNAME_STR "Install.dll" 32 | #define VER_ORIGINALFILENAME_STR "Install.dll" 33 | 34 | #include 35 | 36 | -------------------------------------------------------------------------------- /install/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /install/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=install 7 | TARGETTYPE=DYNLINK 8 | 9 | UMTYPE=windows 10 | 11 | USE_MSVCRT=1 12 | 13 | TARGETLIBS=$(SDK_LIB_PATH)\setupapi.lib \ 14 | $(DDK_LIB_PATH)\newdev.lib \ 15 | $(DDK_LIB_PATH)\kernel32.lib \ 16 | $(DDK_LIB_PATH)\user32.lib \ 17 | $(DDK_LIB_PATH)\advapi32.lib 18 | 19 | SOURCES=install.c install.rc 20 | -------------------------------------------------------------------------------- /installdriver/installdriver.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_APP 29 | #define VER_FILESUBTYPE VFT2_UNKNOWN 30 | #define VER_FILEDESCRIPTION_STR "Install driver helper application" 31 | #define VER_INTERNALNAME_STR "installdriver.exe" 32 | #define VER_ORIGINALFILENAME_STR "installdriver.exe" 33 | 34 | #include 35 | 36 | -------------------------------------------------------------------------------- /installdriver/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /installdriver/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=installdriver 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=windows 9 | 10 | TARGETLIBS = $(SDK_LIB_PATH)\newdev.lib \ 11 | $(SDK_LIB_PATH)\setupapi.lib 12 | 13 | USE_MSVCRT=1 14 | 15 | SOURCES = installdriver.c \ 16 | installdriver.rc 17 | 18 | -------------------------------------------------------------------------------- /media/xen.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/media/xen.ico -------------------------------------------------------------------------------- /mkxenvesa: -------------------------------------------------------------------------------- 1 | rm -rf xenvesa 2 | 3 | mkdir -p xenvesa/i386 4 | cp vesa/xenvesa.inf xenvesa/i386 5 | cp vesa/xenvesa.cat xenvesa/i386 6 | cp build/i386/xenvesa.sys xenvesa/i386 7 | 8 | mkdir -p xenvesa/amd64 9 | cp vesa/xenvesa64.inf xenvesa/amd64/xenvesa.inf 10 | cp vesa/xenvesa64.cat xenvesa/amd64/xenvesa.cat 11 | cp build/amd64/xenvesa.sys xenvesa/amd64 12 | 13 | -------------------------------------------------------------------------------- /net/dirs: -------------------------------------------------------------------------------- 1 | DIRS = xennet xennet6 2 | -------------------------------------------------------------------------------- /net/tests/utf8/doit.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # Copyright (c) 2009 Citrix Systems, Inc. 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | # 23 | 24 | set -e 25 | 26 | gcc -I. utf16.c -o utf16 27 | ./utf16.py 28 | -------------------------------------------------------------------------------- /net/tests/utf8/precomp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | /* This doesn't actually contain anything, but it keeps gcc happy when 24 | compiling utf8.c outside of the normal build system */ 25 | -------------------------------------------------------------------------------- /net/xennet/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /net/xennet/precomp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | /* We always try and get the NDIS5.1 headers, and then fall back to 24 | NDIS5.0 at runtime if we're on Windows 2000. */ 25 | #define NDIS51_MINIPORT 1 26 | #define NDIS51 1 27 | #define NDIS_MINIPORT_DRIVER 28 | #define NDIS_LEGACY_MINIPORT 1 29 | #include 30 | #include 31 | #include 32 | #include "xsapi.h" 33 | #include "xennet.h" 34 | -------------------------------------------------------------------------------- /net/xennet/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=..\.. 2 | 3 | include ..\..\config.mk 4 | 5 | TARGETNAME=xennet 6 | TARGETTYPE=DRIVER 7 | 8 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENNET\" 9 | 10 | TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib \ 11 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 12 | $(TARGETPATH_ARCH)\xevtchn.lib \ 13 | $(TARGETPATH_ARCH)\xenutil.lib 14 | 15 | INCLUDES=$(INCLUDES);.. 16 | 17 | SOURCES=\ 18 | miniport.c \ 19 | xennet.c \ 20 | ..\settings.c \ 21 | xennet.rc \ 22 | receiver.c \ 23 | transmitter.c \ 24 | ..\receiver_common.c 25 | 26 | -------------------------------------------------------------------------------- /net/xennet6/common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #pragma once 24 | 25 | #include "std.h" 26 | #include "project.h" 27 | -------------------------------------------------------------------------------- /net/xennet6/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /net/xennet6/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=..\.. 2 | 3 | include ..\..\config.mk 4 | 5 | TARGETNAME=xennet6 6 | TARGETTYPE=DRIVER 7 | 8 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENNET\" -DNDIS_MINIPORT_DRIVER -DNDIS60_MINIPORT=1 -DBINARY_COMPATIBLE=0 9 | 10 | TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib \ 11 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 12 | $(TARGETPATH_ARCH)\xevtchn.lib \ 13 | $(TARGETPATH_ARCH)\xenutil.lib 14 | 15 | INCLUDES=$(INCLUDES);.. 16 | 17 | SOURCES=\ 18 | adapter.c \ 19 | main.c \ 20 | miniport.c \ 21 | receiver.c \ 22 | ..\settings.c \ 23 | transmitter.c \ 24 | xennet.rc \ 25 | ..\receiver_common.c \ 26 | nbl_hash.c 27 | -------------------------------------------------------------------------------- /net/xennet6/std.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #pragma once 24 | 25 | #pragma warning(disable:4214) // bit field types other than int 26 | 27 | #pragma warning(disable:4201) // nameless struct/union 28 | #pragma warning(disable:4115) // named type definition in parentheses 29 | #pragma warning(disable:4127) // conditional expression is constant 30 | #pragma warning(disable:4054) // cast of function pointer to PVOID 31 | #pragma warning(disable:4206) // translation unit is empty 32 | 33 | #include 34 | #include 35 | 36 | extern PULONG InitSafeBootMode; 37 | -------------------------------------------------------------------------------- /props/vs2008/citrix.debug.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 13 | 17 | 18 | -------------------------------------------------------------------------------- /props/vs2008/citrix.release.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 13 | 17 | 18 | -------------------------------------------------------------------------------- /props/vs2008/detail/citrix.common.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /props/vs2008/detail/citrix.local.setup.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /props/vs2008/detail/citrix.local.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /props/vs2008/detail/citrix.settings.default.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 15 | 19 | 23 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /props/vs2008/detail/citrix.settings.thirdparty.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /props/vs2008/detail/locations.build.default.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | -------------------------------------------------------------------------------- /props/vs2008/detail/locations.build.onedir.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /props/vs2008/detail/locations.build.outside.vsprops: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | -------------------------------------------------------------------------------- /props/vs2010/citrix.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | D:\output 6 | D:\intermediate 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /props/vs2010/detail/boilerplate.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /props/vs2010/detail/citrix.settings.default.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | ..\..\xc-windows.hg 8 | ../$(Configuration) 9 | ../$(Configuration) 10 | 11 | $(Configuration) 12 | $(Configuration) 13 | 14 | 15 | 16 | 17 | 18 | $(XenSourceRoot) 19 | 20 | 21 | $(XenClientLibJSONOutputDir) 22 | 23 | 24 | $(XenClientLibJSONIntermediateDir) 25 | 26 | 27 | $(XenClientLibJSONLibDir) 28 | 29 | 30 | $(XenGuestAgentOutputDir) 31 | 32 | 33 | $(XenGuestAgentIntermediateDir) 34 | 35 | 36 | -------------------------------------------------------------------------------- /props/vs2010/detail/citrix.settings.thirdparty.props: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /props/vs2010/detail/locations.build.onedir.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | $(ProjectName)_d 10 | 11 | 12 | $(LocalOutputDir)\ 13 | $(LocalIntermediateDir)\$(TargetName)\ 14 | <_PropertySheetDisplayName>locations.build.onedir 15 | 16 | 17 | 18 | 26 | 27 | -------------------------------------------------------------------------------- /props/vs2010/detail/locations.build.outside.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | $(LocalOutputDir)\$(TargetName)\$(Configuration)\ 10 | $(LocalIntermediateDir)\$(TargetName)\$(Configuration)\ 11 | <_PropertySheetDisplayName>locations.build.outside 12 | 13 | 14 | 15 | 16 | $(LocalOutputDir) 17 | 18 | 19 | $(LocalIntermediateDir) 20 | 21 | 22 | -------------------------------------------------------------------------------- /props/vs2010/detail/locations.check.local.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 13 | 14 | 15 | <_PropertySheetDisplayName>locations.check.local 16 | 17 | 18 | -------------------------------------------------------------------------------- /props/vs2010/detail/subfoo.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /props/vs2010/foo.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /query_balloon/query_balloon.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2008 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_APP 29 | #define VER_FILESUBTYPE VFT2_UNKNOWN 30 | #define VER_FILEDESCRIPTION_STR "Balloon statistics query helper" 31 | #define VER_INTERNALNAME_STR "query_balloon.exe" 32 | #define VER_ORIGINALFILENAME_STR "query_balloon.exe" 33 | 34 | #include 35 | 36 | -------------------------------------------------------------------------------- /query_balloon/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=query_balloon 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=console 9 | 10 | USE_MSVCRT=1 11 | 12 | SOURCES=query_balloon.c query_balloon.rc 13 | -------------------------------------------------------------------------------- /removedev/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /removedev/removedev.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "removedev.exe" 29 | #define VER_FILEDESCRIPTION_STR "XenSource device removal helper" 30 | #define VER_ORIGINALFILENAME_STR "removedev.exe" 31 | #define VER_FILETYPE VFT_APP 32 | #define VER_FILESUBTYPE 0 33 | 34 | #include "common.ver" 35 | -------------------------------------------------------------------------------- /removedev/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=removedev 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=windows 9 | 10 | MSC_WARNING_LEVEL=/W3 /WX 11 | 12 | USE_MSVCRT=1 13 | 14 | TARGETLIBS=$(SDK_LIB_PATH)\user32.lib \ 15 | $(SDK_LIB_PATH)\setupapi.lib 16 | 17 | SOURCES=removedev.c removedev.rc 18 | -------------------------------------------------------------------------------- /samples/v2v/README.TXT: -------------------------------------------------------------------------------- 1 | 2 | Section: V2V_Base 3 | 4 | Mode=User|Kernel 5 | Role=Connector|Listener 6 | Async=True|False 7 | FastRx=True|False 8 | LocalPrefix= 9 | 10 | Section: V2V_Data 11 | 12 | Transfer=Internal|File 13 | TransferSize= 14 | TransferFile= 15 | TransferCount= 16 | TransferTimeout= 17 | TransferMaxFastRx= 18 | -------------------------------------------------------------------------------- /samples/v2v/dirs: -------------------------------------------------------------------------------- 1 | DIRS=v2vapp \ 2 | v2vdrv 3 | -------------------------------------------------------------------------------- /samples/v2v/v2v_connector1.ini: -------------------------------------------------------------------------------- 1 | [V2V_Base] 2 | Mode=Kernel 3 | Role=Connector 4 | LocalPrefix=/v2v/test/connector 5 | 6 | [V2V_Data] 7 | Transfer=Internal 8 | TransferSize=512 9 | TransferCount=10 10 | 11 | -------------------------------------------------------------------------------- /samples/v2v/v2v_listener1.ini: -------------------------------------------------------------------------------- 1 | [V2V_Base] 2 | Mode=Kernel 3 | Role=Listener 4 | LocalPrefix=/v2v/test/listener 5 | 6 | [V2V_Data] 7 | Transfer=Internal 8 | -------------------------------------------------------------------------------- /samples/v2v/v2vapp/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /samples/v2v/v2vapp/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=v2vapp 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | # To use __cdecl calling convention... 10 | #386_STDCALL=0 11 | 12 | UMENTRY=main 13 | UMTYPE=console 14 | UMBASE=0x400000 15 | USE_NATIVE_EH=1 16 | USE_MSVCRT=1 17 | 18 | # Standard defines for UNICODE and debug builds. _CONSOLE is from 19 | # a basic VC8 DLL project. Note WIN32/_WIN64 are predefined by the WDK environment. 20 | C_DEFINES=$(C_DEFINES) -D_CONSOLE -DUNICODE -D_UNICODE 21 | C_DEFINES=$(C_DEFINES) -DV2V_APP 22 | 23 | !if "$(DDKBUILDENV)"=="chk" 24 | 25 | C_DEFINES=$(C_DEFINES) -D_DEBUG 26 | 27 | !elseif "$(DDKBUILDENV)"=="fre" 28 | 29 | C_DEFINES=$(C_DEFINES) -DNDEBUG 30 | 31 | !endif 32 | 33 | INCLUDES=$(DDK_INC_PATH); \ 34 | $(INCLUDES); \ 35 | ../inc;../../../inc;../../../xenuser/xs2 36 | 37 | TARGETLIBS=\ 38 | $(SDK_LIB_PATH)\advapi32.lib \ 39 | $(SDK_LIB_PATH)\kernel32.lib \ 40 | $(SDK_LIB_PATH)\user32.lib \ 41 | $(SDK_LIB_PATH)\uuid.lib \ 42 | $(SDK_LIB_PATH)\rpcrt4.lib \ 43 | $(TARGETPATH)\*\xs2.lib \ 44 | $(TARGETPATH)\*\xenv2v.lib 45 | 46 | SOURCES= \ 47 | v2vapp.c \ 48 | v2vum.c \ 49 | v2vkm.c \ 50 | v2vutl.c \ 51 | v2vdctl.c \ 52 | v2vapp.rc 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /samples/v2v/v2vapp/v2vutl.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | #include 25 | #include 26 | #include "v2vapp.h" 27 | 28 | OSVERSIONINFOEXW g_osvi = {0}; 29 | 30 | BOOL 31 | V2vAppGetOsVersionInfo() 32 | { 33 | BOOL success; 34 | 35 | g_osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); 36 | success = GetVersionEx((OSVERSIONINFO*)&g_osvi); 37 | if (!success) { 38 | return FALSE; 39 | } 40 | return TRUE; 41 | } 42 | 43 | -------------------------------------------------------------------------------- /samples/v2v/v2vdrv/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /samples/v2v/v2vdrv/sources: -------------------------------------------------------------------------------- 1 | include ..\..\..\config.mk 2 | 3 | TARGETNAME=v2vdrv 4 | TARGETPATH=..\..\..\$(BUILDDIR) 5 | TARGETTYPE=DRIVER 6 | 7 | INCLUDES=\ 8 | $(INCLUDES); \ 9 | $(DDK_INC_PATH); \ 10 | ..\inc;../../../inc; 11 | 12 | TARGETLIBS=\ 13 | $(DDK_LIB_PATH)\ntoskrnl.lib \ 14 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 15 | $(TARGETPATH)\*\xevtchn.lib \ 16 | $(TARGETPATH)\*\xenutil.lib 17 | 18 | C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE -D_V2V_DRIVER 19 | 20 | SOURCES=\ 21 | v2vdrv.c \ 22 | v2vops.c \ 23 | v2vsync.c \ 24 | v2vasync.c \ 25 | v2vdrv.rc 26 | -------------------------------------------------------------------------------- /samples/v4v/README.TXT: -------------------------------------------------------------------------------- 1 | 2 | Section: V4V_Base 3 | 4 | Role=None|Sender|Receiver|Connector|Listener 5 | Protocol=Datagram|Stream 6 | Async=False|True 7 | ConnectOnly=False|True 8 | PeerId=DOMID#|NONE 9 | LocalPort=PORT#|NONE 10 | RemotePort=PORT#|NONE 11 | RingSize= 12 | 13 | Section: V4V_Data 14 | 15 | Transfer=Internal|File 16 | TransferFile= 17 | TransferTimeout= 18 | TransmitSize= 19 | ReceiveSize= 20 | -------------------------------------------------------------------------------- /samples/v4v/dirs: -------------------------------------------------------------------------------- 1 | DIRS = v4vdrv v4vapp -------------------------------------------------------------------------------- /samples/v4v/inc/v4v_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #if !defined(_V4V_COMMON_H_) 24 | #define _V4V_COMMON_H_ 25 | 26 | __inline UCHAR V4vChecksum(const UCHAR *ptr, ULONG length) 27 | { 28 | ULONG count; 29 | UCHAR sum; 30 | 31 | for (count = 0, sum = 0; count < length; count++) 32 | sum = sum + ptr[count]; 33 | 34 | return -sum; 35 | } 36 | 37 | #define MIN(x, y) ((x) < (y) ? (x) : (y)) 38 | 39 | #endif /*_V4V_COMMON_H_*/ 40 | -------------------------------------------------------------------------------- /samples/v4v/v4v_connector.ini: -------------------------------------------------------------------------------- 1 | [V4V_Base] 2 | Role=Connector 3 | Protocol=Stream 4 | PeerId=3 5 | LocalPort=NONE 6 | RemotePort=111 7 | RingSize=4096 8 | 9 | [V4V_Data] 10 | Transfer=Internal 11 | TransmitSize=1024 12 | ReceiveSize=1024 13 | -------------------------------------------------------------------------------- /samples/v4v/v4v_dgram.ini: -------------------------------------------------------------------------------- 1 | [V4V_Base] 2 | Role=None 3 | Protocol=Datagram 4 | Async=False 5 | PeerId=2 6 | LocalPort=10 7 | RemotePort=20 8 | RingSize=4096 9 | 10 | [V4V_Data] 11 | Transfer=Internal 12 | TransmitSize=512 13 | ReceiveSize=512 14 | -------------------------------------------------------------------------------- /samples/v4v/v4v_listener.ini: -------------------------------------------------------------------------------- 1 | [V4V_Base] 2 | Role=Listener 3 | Protocol=Stream 4 | PeerId=NONE 5 | LocalPort=111 6 | RemotePort=NONE 7 | RingSize=4096 8 | 9 | [V4V_Data] 10 | Transfer=Internal 11 | TransmitSize=1024 12 | ReceiveSize=1024 13 | -------------------------------------------------------------------------------- /samples/v4v/v4v_setup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # Copyright (c) 2010 Citrix Systems, Inc. 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | # 23 | 24 | DOM="$1" 25 | 26 | xenstore-write "/local/domain/$DOM/device/v4v/1" "" 27 | xenstore-chmod "/local/domain/$DOM/device/v4v/1" b0 28 | xenstore-write "/local/domain/$DOM/device/v4v/1/backend" "/local/domain/0/backend/v4v/$DOM/1" 29 | xenstore-write "/local/domain/$DOM/device/v4v/1/backend-id" "0" 30 | -------------------------------------------------------------------------------- /samples/v4v/v4vapp/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /samples/v4v/v4vapp/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=v4vapp 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | # To use __cdecl calling convention... 10 | #386_STDCALL=0 11 | 12 | UMENTRY=main 13 | UMTYPE=console 14 | UMBASE=0x400000 15 | USE_NATIVE_EH=1 16 | USE_LIBCMT=1 17 | 18 | # Standard defines for UNICODE and debug builds. _CONSOLE is from 19 | # a basic VC8 DLL project. Note WIN32/_WIN64 are predefined by the WDK environment. 20 | C_DEFINES=$(C_DEFINES) -D_CONSOLE -DUNICODE -D_UNICODE 21 | C_DEFINES=$(C_DEFINES) -DV2V_APP 22 | 23 | !if "$(DDKBUILDENV)"=="chk" 24 | 25 | C_DEFINES=$(C_DEFINES) -D_DEBUG 26 | 27 | !elseif "$(DDKBUILDENV)"=="fre" 28 | 29 | C_DEFINES=$(C_DEFINES) -DNDEBUG 30 | 31 | !endif 32 | 33 | INCLUDES=$(DDK_INC_PATH); \ 34 | $(INCLUDES); \ 35 | ../inc;../../../inc;../../../xenhdrs 36 | 37 | TARGETLIBS=\ 38 | $(SDK_LIB_PATH)\advapi32.lib \ 39 | $(SDK_LIB_PATH)\kernel32.lib \ 40 | $(SDK_LIB_PATH)\user32.lib \ 41 | $(SDK_LIB_PATH)\uuid.lib \ 42 | $(SDK_LIB_PATH)\rpcrt4.lib \ 43 | $(TARGETPATH)\*\xs2.lib \ 44 | $(TARGETPATH)\*\xenv2v.lib 45 | 46 | SOURCES= \ 47 | v4vapp.c \ 48 | v4vtest.c \ 49 | v4vlca.c \ 50 | v4vdgram.c \ 51 | v4vdfile.c \ 52 | v4vstrm.c \ 53 | v4vdctl.c \ 54 | v4vapp.rc 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /samples/v4v/v4vdrv/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /samples/v4v/v4vdrv/sources: -------------------------------------------------------------------------------- 1 | include ..\..\..\config.mk 2 | 3 | TARGETNAME=v4vdrv 4 | TARGETPATH=..\..\..\$(BUILDDIR) 5 | TARGETTYPE=DRIVER 6 | 7 | INCLUDES=\ 8 | $(INCLUDES); \ 9 | $(DDK_INC_PATH); \ 10 | ..\inc;../../../inc;..\..\..\xenhdrs 11 | 12 | TARGETLIBS=\ 13 | $(DDK_LIB_PATH)\ntoskrnl.lib \ 14 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 15 | $(TARGETPATH)\*\xevtchn.lib \ 16 | $(TARGETPATH)\*\xenutil.lib 17 | 18 | C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE -D_V2V_DRIVER -DXENTARGET=\"V4VDRV\" 19 | 20 | SOURCES=\ 21 | v4vdrv.c \ 22 | v4vst.c \ 23 | v4vdrv.rc 24 | -------------------------------------------------------------------------------- /samples/v4v/vs8cpp/UnitTest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "V4VClient", "V4VClient\V4VClient.vcproj", "{FAC564B4-7B08-4589-8D67-40A88C52DBEF}" 5 | EndProject 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "V4VServer", "V4VServer\V4VServer.vcproj", "{DFE9EC2F-4206-41E9-9058-E61E2A861274}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {FAC564B4-7B08-4589-8D67-40A88C52DBEF}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {FAC564B4-7B08-4589-8D67-40A88C52DBEF}.Debug|Win32.Build.0 = Debug|Win32 16 | {FAC564B4-7B08-4589-8D67-40A88C52DBEF}.Release|Win32.ActiveCfg = Release|Win32 17 | {FAC564B4-7B08-4589-8D67-40A88C52DBEF}.Release|Win32.Build.0 = Release|Win32 18 | {DFE9EC2F-4206-41E9-9058-E61E2A861274}.Debug|Win32.ActiveCfg = Debug|Win32 19 | {DFE9EC2F-4206-41E9-9058-E61E2A861274}.Debug|Win32.Build.0 = Debug|Win32 20 | {DFE9EC2F-4206-41E9-9058-E61E2A861274}.Release|Win32.ActiveCfg = Release|Win32 21 | {DFE9EC2F-4206-41E9-9058-E61E2A861274}.Release|Win32.Build.0 = Release|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /samples/v4v/vs8cpp/V4VClient/stdafx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.cpp : source file that includes just the standard includes 24 | // V4VClient.pch will be the pre-compiled header 25 | // stdafx.obj will contain the pre-compiled type information 26 | 27 | #include "stdafx.h" 28 | 29 | // TODO: reference any additional headers you need in STDAFX.H 30 | // and not in this file 31 | -------------------------------------------------------------------------------- /samples/v4v/vs8cpp/V4VClient/stdafx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.h : include file for standard system include files, 24 | // or project specific include files that are used frequently, but 25 | // are changed infrequently 26 | // 27 | 28 | #pragma once 29 | 30 | #include "targetver.h" 31 | 32 | #include 33 | #include 34 | 35 | 36 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 37 | 38 | #include 39 | #include 40 | 41 | #include 42 | #include 43 | -------------------------------------------------------------------------------- /samples/v4v/vs8cpp/V4VServer/stdafx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.cpp : source file that includes just the standard includes 24 | // V4VServer.pch will be the pre-compiled header 25 | // stdafx.obj will contain the pre-compiled type information 26 | 27 | #include "stdafx.h" 28 | 29 | // TODO: reference any additional headers you need in STDAFX.H 30 | // and not in this file 31 | -------------------------------------------------------------------------------- /samples/v4v/vs8cpp/V4VServer/stdafx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.h : include file for standard system include files, 24 | // or project specific include files that are used frequently, but 25 | // are changed infrequently 26 | // 27 | 28 | #pragma once 29 | 30 | #include "targetver.h" 31 | 32 | #include 33 | #include 34 | 35 | 36 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 37 | 38 | #include 39 | #include 40 | 41 | #include 42 | #include 43 | -------------------------------------------------------------------------------- /scsifilt/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /scsifilt/scsifilt.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2008 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_DRV 29 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 30 | 31 | #define VER_FILEDESCRIPTION_STR "Xen disk filter driver" 32 | #define VER_INTERNALNAME_STR "scsifilt.sys" 33 | 34 | #include "common.ver" 35 | -------------------------------------------------------------------------------- /scsifilt/scsifilt_wpp.ctl: -------------------------------------------------------------------------------- 1 | 4F9B312E-66F3-4b2c-9C42-07A19EFC46B5 ScsfiltWppGuid 2 | 3 | -------------------------------------------------------------------------------- /scsifilt/sources: -------------------------------------------------------------------------------- 1 | include ..\config.mk 2 | TOPDIR=.. 3 | 4 | TARGETNAME=scsifilt 5 | TARGETTYPE=DRIVER 6 | 7 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"SCSIFILT\" -D_WIN2K_COMPAT_SLIST_USAGE 8 | 9 | TARGETLIBS=$(DDK_LIB_PATH)\ntstrsafe.lib \ 10 | $(DDK_LIB_PATH)\ntdll.lib \ 11 | $(TARGETPATH_ARCH)\xevtchn.lib \ 12 | $(TARGETPATH_ARCH)\xenutil.lib 13 | 14 | RUN_WPP = \ 15 | $(SOURCES) -km -p:scsiflt 16 | 17 | SOURCES=scsifilt.c \ 18 | datapath.c \ 19 | controlpath.c \ 20 | rings.c \ 21 | schedule.c \ 22 | power.c \ 23 | redirect_srb.c \ 24 | scsifilt.rc 25 | -------------------------------------------------------------------------------- /setloglevel/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /setloglevel/setloglevel.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_APP 29 | #define VER_FILESUBTYPE VFT2_UNKNOWN 30 | #define VER_FILEDESCRIPTION_STR "Log level setting tool" 31 | #define VER_INTERNALNAME_STR "setloglevel.exe" 32 | #define VER_ORIGINALFILENAME_STR "setloglevel.exe" 33 | 34 | #include 35 | 36 | -------------------------------------------------------------------------------- /setloglevel/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=setloglevel 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=console 9 | 10 | USE_MSVCRT=1 11 | 12 | SOURCES=setloglevel.c setloglevel.rc -------------------------------------------------------------------------------- /sockpipe/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT WINDOWS 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /sockpipe/plj_utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #if !defined(PLJ_UTILS_H) 24 | #define PLJ_UTILS_H 25 | 26 | #define ASSERT(x) if (!(x)){fprintf(stderr, "assert failed %s %d:%s", __FILE__, __LINE__, #x);__debugbreak();} 27 | 28 | __declspec(noreturn) void die(char *,...); 29 | __declspec(noreturn) void my_exit(int code); 30 | 31 | extern bool g_shutdown; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /sockpipe/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=sockpipe 2 | TARGETPATH=obj 3 | TARGETTYPE=PROGRAM 4 | UMTYPE=console 5 | 6 | INCLUDES = $(DDK_INC_PATH); 7 | TARGETLIBS=$(DDK_LIB_PATH)\kernel32.lib $(DDK_LIB_PATH)\ws2_32.lib 8 | 9 | _NT_TARGET_VERSION=$(_NT_TARGET_VERSION_WINXP) 10 | 11 | C_DEFINES=$(C_DEFINES) 12 | 13 | # Uncomment the following line to enable logging. 14 | 15 | C_DEFINES=$(C_DEFINES) -DLOGGING_ENABLED=1 16 | 17 | UMENTRY=main 18 | 19 | USE_LIBCMT=1 20 | 21 | SOURCES= \ 22 | sockpipe.cpp \ 23 | Circle.cpp \ 24 | connectoid.cpp \ 25 | logger.cpp \ 26 | pipereader.cpp \ 27 | sockreader.cpp \ 28 | spinlock.cpp \ 29 | stdafx.cpp \ 30 | threadcontrol.cpp \ 31 | 32 | -------------------------------------------------------------------------------- /sockpipe/spinlock.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #if !defined(SPINLOCK_H) 24 | #define SPINLOCK_H 25 | 26 | class SpinLock 27 | { 28 | public: 29 | SpinLock(); 30 | ~SpinLock(); 31 | bool Initialize(); 32 | 33 | void Acquire(); 34 | void Release(); 35 | bool TryToAcquire(); 36 | 37 | private: 38 | volatile LONG value; 39 | }; 40 | 41 | inline 42 | SpinLock::SpinLock() 43 | { 44 | value = 0; 45 | } 46 | 47 | inline 48 | SpinLock::~SpinLock() 49 | { 50 | } 51 | 52 | inline 53 | bool SpinLock::Initialize() 54 | { 55 | value = 0; 56 | return true; 57 | } 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /sockpipe/stdafx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.cpp : source file that includes just the standard includes 24 | // sockpipe.pch will be the pre-compiled header 25 | // stdafx.obj will contain the pre-compiled type information 26 | 27 | #include "stdafx.h" 28 | 29 | // TODO: reference any additional headers you need in STDAFX.H 30 | // and not in this file 31 | -------------------------------------------------------------------------------- /sockpipe/stdafx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | // stdafx.h : include file for standard system include files, 24 | // or project specific include files that are used frequently, but 25 | // are changed infrequently 26 | // 27 | 28 | #pragma once 29 | 30 | 31 | #if !defined(WIN32_LEAN_AND_MEAN) 32 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 33 | #endif 34 | 35 | #include 36 | #include 37 | 38 | 39 | -------------------------------------------------------------------------------- /sockpipe/threadcontrol.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #if !defined(THREADCONTROL_H) 24 | #define THREADCONTROL_H 25 | 26 | class ThreadControl 27 | { 28 | public: 29 | bool Start(); 30 | virtual void ThreadEntry(void * inContext); 31 | 32 | private: 33 | HANDLE handle; 34 | DWORD id; 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /sync/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | 9 | -------------------------------------------------------------------------------- /sync/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=sync 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=windows 9 | 10 | USE_MSVCRT=1 11 | 12 | TARGETLIBS=$(SDK_LIB_PATH)\user32.lib \ 13 | $(TARGETPATH_ARCH)\xsutil.lib 14 | 15 | SOURCES=sync.c sync.rc 16 | -------------------------------------------------------------------------------- /sync/sync.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "sync.exe" 29 | #define VER_ORIGINALFILENAME_STR "sync.exe" 30 | #define VER_FILEDESCRIPTION_STR "OpenXT disk synchronizer helper" 31 | #define VER_FILETYPE VFT_APP 32 | #define VER_FILESUBTYPE 0 33 | 34 | #include "common.ver" 35 | -------------------------------------------------------------------------------- /uninst_pending/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=.. 3 | 4 | include ..\config.mk 5 | 6 | TARGETNAME=uninst_pending 7 | TARGETTYPE=PROGRAM 8 | UMTYPE=windows 9 | 10 | USE_MSVCRT=1 11 | 12 | TARGETLIBS=$(SDK_LIB_PATH)\user32.lib \ 13 | $(SDK_LIB_PATH)\setupapi.lib 14 | 15 | SOURCES=uninst_pending.c 16 | 17 | -------------------------------------------------------------------------------- /wnet/dirs: -------------------------------------------------------------------------------- 1 | DIRS = xenwnet xenwnet6 2 | -------------------------------------------------------------------------------- /wnet/xenwnet/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /wnet/xenwnet/precomp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | /* We always try and get the NDIS5.1 headers, and then fall back to 24 | NDIS5.0 at runtime if we're on Windows 2000. */ 25 | #define NDIS51_MINIPORT 1 26 | #define NDIS51 1 27 | #define NDIS_MINIPORT_DRIVER 28 | #define NDIS_LEGACY_MINIPORT 1 29 | #include 30 | #include 31 | #include 32 | #include "xsapi.h" 33 | #include "xennet.h" 34 | -------------------------------------------------------------------------------- /wnet/xenwnet/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=..\.. 2 | 3 | include ..\..\config.mk 4 | 5 | TARGETNAME=xenwnet 6 | TARGETTYPE=DRIVER 7 | 8 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENWNET\" -DXEN_WIRELESS 9 | 10 | TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib \ 11 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 12 | $(TARGETPATH_ARCH)\xevtchn.lib \ 13 | $(TARGETPATH_ARCH)\xenutil.lib 14 | 15 | INCLUDES=$(INCLUDES);.. 16 | 17 | SOURCES=\ 18 | miniport.c \ 19 | xennet.c \ 20 | ..\settings.c \ 21 | ..\utf8.c \ 22 | xenwnet.rc \ 23 | receiver.c \ 24 | transmitter.c \ 25 | wlan.c \ 26 | ..\receiver_common.c 27 | 28 | -------------------------------------------------------------------------------- /wnet/xenwnet6/common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #pragma once 24 | 25 | #include "std.h" 26 | #include "project.h" 27 | -------------------------------------------------------------------------------- /wnet/xenwnet6/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /wnet/xenwnet6/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=..\.. 2 | 3 | include ..\..\config.mk 4 | 5 | TARGETNAME=xenwnet6 6 | TARGETTYPE=DRIVER 7 | 8 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENWNET\" -DNDIS_MINIPORT_DRIVER -DNDIS60_MINIPORT=1 -DBINARY_COMPATIBLE=0 -DXEN_WIRELESS 9 | 10 | TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib \ 11 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 12 | $(TARGETPATH_ARCH)\xevtchn.lib \ 13 | $(TARGETPATH_ARCH)\xenutil.lib 14 | 15 | INCLUDES=$(INCLUDES);..;..\..\xenhdrs 16 | 17 | SOURCES=\ 18 | adapter.c \ 19 | main.c \ 20 | miniport.c \ 21 | receiver.c \ 22 | ..\settings.c \ 23 | ..\utf8.c \ 24 | transmitter.c \ 25 | wlan.c \ 26 | xennet.rc \ 27 | ..\receiver_common.c \ 28 | nbl_hash.c 29 | -------------------------------------------------------------------------------- /wnet/xenwnet6/std.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #pragma once 24 | 25 | #pragma warning(disable:4214) // bit field types other than int 26 | 27 | #pragma warning(disable:4201) // nameless struct/union 28 | #pragma warning(disable:4115) // named type definition in parentheses 29 | #pragma warning(disable:4127) // conditional expression is constant 30 | #pragma warning(disable:4054) // cast of function pointer to PVOID 31 | #pragma warning(disable:4206) // translation unit is empty 32 | 33 | #include 34 | #include 35 | 36 | extern PULONG InitSafeBootMode; 37 | -------------------------------------------------------------------------------- /xenaud/adapter.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Copyright (c) 1998-1999 Microsoft Corporation. All Rights Reserved. 3 | ** 4 | ** Portions Copyright (c) 1998-1999 Intel Corporation 5 | ** 6 | ********************************************************************************/ 7 | 8 | #ifndef _ADAPTER_H_ 9 | #define _ADAPTER_H_ 10 | 11 | #include "shared.h" 12 | 13 | /***************************************************************************** 14 | * Defines 15 | ***************************************************************************** 16 | */ 17 | const ULONG MAX_MINIPORTS = 2; 18 | 19 | /***************************************************************************** 20 | * Externals 21 | ***************************************************************************** 22 | */ 23 | extern NTSTATUS CreateAC97MiniportWaveRT 24 | ( 25 | OUT PUNKNOWN * Unknown, 26 | IN REFCLSID, 27 | IN PUNKNOWN UnknownOuter OPTIONAL, 28 | IN POOL_TYPE PoolType 29 | ); 30 | 31 | extern NTSTATUS CreateAC97MiniportWavePCI 32 | ( 33 | OUT PUNKNOWN * Unknown, 34 | IN REFCLSID, 35 | IN PUNKNOWN UnknownOuter OPTIONAL, 36 | IN POOL_TYPE PoolType 37 | ); 38 | 39 | extern NTSTATUS CreateAC97MiniportTopology 40 | ( 41 | OUT PUNKNOWN * Unknown, 42 | IN REFCLSID, 43 | IN PUNKNOWN UnknownOuter OPTIONAL, 44 | IN POOL_TYPE PoolType 45 | ); 46 | 47 | #endif //_ADAPTER_H_ 48 | 49 | -------------------------------------------------------------------------------- /xenaud/makefile: -------------------------------------------------------------------------------- 1 | ############################################################################# 2 | # 3 | # Copyright (C) Microsoft Corporation 1998 4 | # All Rights Reserved. 5 | # 6 | # MAKEFILE for ac97 sample driver 7 | # 8 | ############################################################################# 9 | 10 | # 11 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 12 | # file to this component. This file merely indirects to the real make file 13 | # that is shared by all the components of NT. 14 | # 15 | # The XP DDK has also build environments for Win2k and WinME. This sample 16 | # however, only compiles well with the XP build environment, Therefore we 17 | # need to prevent compilation on the other build environments. 18 | !if defined(DDK_TARGET_OS) && "$(DDK_TARGET_OS)"!="Win2K" 19 | !INCLUDE $(NTMAKEENV)\makefile.def 20 | !else 21 | !message This project is for Windows XP (or later) only. 22 | !endif 23 | -------------------------------------------------------------------------------- /xenaud/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=.. 2 | 3 | include ..\config.mk 4 | 5 | TARGETNAME = xenaud 6 | TARGETTYPE = DRIVER 7 | 8 | TARGETLIBS= $(DDK_LIB_PATH)\portcls.lib \ 9 | $(DDK_LIB_PATH)\stdunk.lib \ 10 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 11 | $(SDK_LIB_PATH)\libcntpr.lib \ 12 | $(TARGETPATH_ARCH)\xevtchn.lib \ 13 | $(TARGETPATH_ARCH)\xenutil.lib 14 | 15 | INCLUDES=$(INCLUDES) 16 | 17 | MSC_WARNING_LEVEL = -W4 -WX 18 | 19 | UNUSED_DEFINES = -DINCLUDE_PRIVATE_PROPERTY -D_KS_NO_ANONYMOUS_STRUCTURES_ 20 | C_DEFINES = $(CFASTFLAGS) $(C_DEFINES) -DUNICODE -D_UNICODE -DUNDER_NT -DPROPERTY_SHOW_SET -DXENTARGET=\"XENAUD\" 21 | 22 | SOURCES = adapter.cpp \ 23 | common.cpp \ 24 | mintopo.cpp \ 25 | prophnd.cpp \ 26 | xenaud.rc \ 27 | wavepciminiport.cpp \ 28 | wavepcistream.cpp \ 29 | rtminiport.cpp \ 30 | rtstream.cpp \ 31 | xen.cpp 32 | 33 | -------------------------------------------------------------------------------- /xenaud/xen.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/xenaud/xen.ico -------------------------------------------------------------------------------- /xenaud/xenaud.rc: -------------------------------------------------------------------------------- 1 | // 2 | // xenaud.rc 3 | // 4 | // 5 | 6 | 7 | #include 8 | #include 9 | 10 | #include "verinfo.h" 11 | 12 | #define VER_INTERNALNAME_STR "xenaud.sys" 13 | #define VER_FILEDESCRIPTION_STR "OpenXT Xen AC97 Audio Driver" 14 | #define VER_ORIGINALFILENAME_STR "xenaud.sys" 15 | 16 | #define VER_FILETYPE VFT_DRV 17 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 18 | 19 | #include "common.ver" 20 | -------------------------------------------------------------------------------- /xenclient-eula/EULA-en-us: -------------------------------------------------------------------------------- 1 | OpenXT license placeholder 2 | 3 | -------------------------------------------------------------------------------- /xenevtchn/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT WINDOWS 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenevtchn/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=.. 2 | 3 | # We can't write $(TOPDIR)\config.mk because build can't cope with variables 4 | # in include directives. 5 | include ..\config.mk 6 | 7 | TARGETNAME=xevtchn 8 | TARGETTYPE=EXPORT_DRIVER 9 | INCLUDES = $(INCLUDES);..\xenhdrs 10 | 11 | TARGETLIBS=$(DDK_LIB_PATH)\ntdll.lib \ 12 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 13 | $(TARGETPATH_ARCH)\xenutil.lib 14 | 15 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XEVTCHN\" "-DXSAPI=" 16 | 17 | SOURCES= \ 18 | xenevtchn.c \ 19 | user.c \ 20 | pnp.c \ 21 | power.c \ 22 | xenevtchn.rc \ 23 | dumpdev.c \ 24 | dma.c \ 25 | personality.c \ 26 | xendev.c \ 27 | v2v.c \ 28 | v2vstrm.c \ 29 | v2vutl.c \ 30 | xevtchn_msgs.mc 31 | 32 | RUN_WPP= \ 33 | $(SOURCES) -km -p:xenevtchn 34 | 35 | -------------------------------------------------------------------------------- /xenevtchn/xenevtchn.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_DRV 29 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 30 | 31 | #define VER_FILEDESCRIPTION_STR "Xen platform driver" 32 | #define VER_INTERNALNAME_STR "xevtchn.sys" 33 | 34 | #include "common.ver" 35 | 36 | #include "xevtchn_msgs.rc" 37 | -------------------------------------------------------------------------------- /xenevtchn/xenevtchn_wpp.ctl: -------------------------------------------------------------------------------- 1 | 01793C2A-3CD0-4C29-95D3-DBA5FFD48332 XenevtchnWppGuid 2 | -------------------------------------------------------------------------------- /xenevtchn/xevtchn_msgs.mc: -------------------------------------------------------------------------------- 1 | MessageIdTypedef=NTSTATUS 2 | SeverityNames=(Informational=0x1) 3 | FacilityNames=(Xen=0xd5f) 4 | 5 | MessageId=0x0001 Facility=Xen Severity=Informational SymbolicName=XEN_MIGRATED 6 | Language=English 7 | The local VM successfully recovered from a migration or resumed from a suspended state. 8 | . 9 | -------------------------------------------------------------------------------- /xengfx/dirs: -------------------------------------------------------------------------------- 1 | DIRS=shared \ 2 | xddm \ 3 | wddm 4 | -------------------------------------------------------------------------------- /xengfx/shared/sources: -------------------------------------------------------------------------------- 1 | include ..\..\config.mk 2 | TOPDIR=..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xengfxsh 7 | TARGETTYPE=DRIVER_LIBRARY 8 | 9 | INCLUDES=$(INCLUDES);..\inc 10 | 11 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENGFX\" -DUNICODE 12 | 13 | !if "$(NO_XENUTIL)"=="yes" 14 | 15 | C_DEFINES=$(C_DEFINES) -DNO_XENUTIL 16 | 17 | !endif 18 | 19 | SOURCES= \ 20 | xengfx_wdk.c \ 21 | xengfx_vga.c \ 22 | xengfx_vbe.c \ 23 | xengfx_core.c 24 | -------------------------------------------------------------------------------- /xengfx/shared/sources.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ..\.. 5 | /W3 6 | xengfxsh 7 | DRIVER_LIBRARY 8 | $(INCLUDES);..\inc 9 | $(C_DEFINES) -DXENTARGET=\"XENGFX\" -DUNICODE 10 | 11 | 12 | 13 | 14 | $(C_DEFINES) -DNO_XENUTIL 15 | 16 | 17 | 18 | 19 | xengfx_wdk.c xengfx_vga.c xengfx_vbe.c xengfx_core.c 20 | 21 | -------------------------------------------------------------------------------- /xengfx/wddm/dirs: -------------------------------------------------------------------------------- 1 | DIRS=display \ 2 | miniport 3 | -------------------------------------------------------------------------------- /xengfx/wddm/display/dllmain.c: -------------------------------------------------------------------------------- 1 | // 2 | // dllmain.c - Xen Windows WDDM DLL entry point. 3 | // 4 | // Copyright (c) 2010 Citrix, Inc. 5 | // 6 | 7 | /* 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | 28 | #include 29 | #include 30 | #include 31 | 32 | BOOL WINAPI 33 | DllMain(HINSTANCE hModule, DWORD Reason, LPVOID pReserved) 34 | { 35 | UNREFERENCED_PARAMETER(pReserved); 36 | 37 | switch (Reason) 38 | { 39 | case DLL_PROCESS_ATTACH: 40 | DisableThreadLibraryCalls(hModule); 41 | break; 42 | case DLL_PROCESS_DETACH: 43 | break; 44 | default: 45 | break; 46 | } 47 | 48 | return TRUE; 49 | } 50 | -------------------------------------------------------------------------------- /xengfx/wddm/display/sources: -------------------------------------------------------------------------------- 1 | include ..\..\..\config.mk 2 | TOPDIR=..\..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xend3d 7 | TARGETTYPE=DYNLINK 8 | 9 | UMTYPE=windows 10 | USE_LIBCMT=1 11 | DLLDEF=xend3d.def 12 | 13 | INCLUDES=$(INCLUDES);..\..\inc;..\inc 14 | 15 | C_DEFINES=$(C_DEFINES) \ 16 | -DDIRECT3D_VERSION=0x0900 \ 17 | -DDIRECTDRAW_VERSION=0x0900 18 | 19 | TARGETLIBS=$(TARGETLIBS) \ 20 | $(DDK_LIB_PATH)\kernel32.lib \ 21 | $(DDK_LIB_PATH)\gdi32.lib \ 22 | $(DDK_LIB_PATH)\advapi32.lib \ 23 | $(DDK_LIB_PATH)\dxguid.lib 24 | 25 | SOURCES= \ 26 | xend3d.c \ 27 | dllmain.c \ 28 | utils.c \ 29 | xend3d.rc 30 | -------------------------------------------------------------------------------- /xengfx/wddm/display/xend3d.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; xengfxd3d.def - Exports for Xen Windows WDDM D3D Display Driver 3 | ; 4 | ; Copyright (c) 2010 Citrix, Inc. 5 | ; 6 | 7 | ; 8 | ; Permission is hereby granted, free of charge, to any person obtaining a copy 9 | ; of this software and associated documentation files (the "Software"), to deal 10 | ; in the Software without restriction, including without limitation the rights 11 | ; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | ; copies of the Software, and to permit persons to whom the Software is 13 | ; furnished to do so, subject to the following conditions: 14 | ; 15 | ; The above copyright notice and this permission notice shall be included in 16 | ; all copies or substantial portions of the Software. 17 | ; 18 | ; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | ; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | ; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | ; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | ; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | ; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | ; THE SOFTWARE. 25 | ; 26 | 27 | 28 | LIBRARY xengfxd3d 29 | 30 | EXPORTS 31 | OpenAdapter 32 | -------------------------------------------------------------------------------- /xengfx/wddm/miniport/sources: -------------------------------------------------------------------------------- 1 | include ..\..\..\config.mk 2 | TOPDIR=..\..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xengfxwd 7 | TARGETTYPE=MINIPORT 8 | 9 | INCLUDES=$(INCLUDES);..\..\inc;..\inc 10 | 11 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENGFX\" -DUNICODE 12 | 13 | TARGETLIBS=$(DDK_LIB_PATH)\displib.lib \ 14 | $(DDK_LIB_PATH)\ntoskrnl.lib \ 15 | $(DDK_LIB_PATH)\hal.lib \ 16 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 17 | $(TARGETPATH_ARCH)\xengfxsh.lib 18 | 19 | !if "$(NO_XENUTIL)"=="yes" 20 | 21 | C_DEFINES=$(C_DEFINES) -DNO_XENUTIL 22 | 23 | !else 24 | 25 | TARGETLIBS=$(TARGETLIBS) \ 26 | $(TARGETPATH_ARCH)\xenutil.lib 27 | 28 | !endif 29 | 30 | SOURCES= \ 31 | xengfxwd.c \ 32 | vcrtc.c \ 33 | gart.c \ 34 | misc.c \ 35 | ddi.c \ 36 | vidpn.c \ 37 | debug.c \ 38 | xengfxwd.rc 39 | -------------------------------------------------------------------------------- /xengfx/wddm/miniport/vidpn.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/xengfx/wddm/miniport/vidpn.c -------------------------------------------------------------------------------- /xengfx/xddm/dirs: -------------------------------------------------------------------------------- 1 | DIRS=display \ 2 | miniport 3 | -------------------------------------------------------------------------------- /xengfx/xddm/display/sources: -------------------------------------------------------------------------------- 1 | include ..\..\..\config.mk 2 | TOPDIR=..\..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xendisp 7 | TARGETTYPE=GDI_DRIVER 8 | 9 | C_DEFINES=$(C_DEFINES) -DUNICODE 10 | 11 | TARGETLIBS=$(DDK_LIB_PATH)\ntoskrnl.lib 12 | 13 | SOURCES= \ 14 | xendisp.c \ 15 | xendisp.rc 16 | -------------------------------------------------------------------------------- /xengfx/xddm/miniport/sources: -------------------------------------------------------------------------------- 1 | include ..\..\..\config.mk 2 | TOPDIR=..\..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xengfxmp 7 | TARGETTYPE=MINIPORT 8 | 9 | INCLUDES=$(INCLUDES);..\..\inc 10 | 11 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENGFX\" -DUNICODE 12 | 13 | TARGETLIBS=$(DDK_LIB_PATH)\videoprt.lib \ 14 | $(DDK_LIB_PATH)\ntoskrnl.lib \ 15 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 16 | $(DDK_LIB_PATH)\hal.lib \ 17 | $(TARGETPATH_ARCH)\xengfxsh.lib 18 | 19 | !if "$(NO_XENUTIL)"=="yes" 20 | 21 | C_DEFINES=$(C_DEFINES) -DNO_XENUTIL 22 | 23 | !else 24 | 25 | TARGETLIBS=$(TARGETLIBS) \ 26 | $(TARGETPATH_ARCH)\xenutil.lib 27 | 28 | !endif 29 | 30 | SOURCES= \ 31 | xengfxmp.c \ 32 | xengfxmp.rc 33 | -------------------------------------------------------------------------------- /xenuser/dirs: -------------------------------------------------------------------------------- 1 | DIRS=xs2 \ 2 | xs \ 3 | util \ 4 | xstest \ 5 | xs2test \ 6 | xstest_dyn \ 7 | winagent \ 8 | xenstore_client \ 9 | xenops \ 10 | tests \ 11 | v2v 12 | -------------------------------------------------------------------------------- /xenuser/tests/broken_packets/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=broken_packets 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH) 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | $(SDK_LIB_PATH)\wsock32.lib \ 14 | $(SDK_LIB_PATH)\ws2_32.lib 15 | 16 | USE_MSVCRT=1 17 | UMTYPE=console 18 | 386_STDCALL=0 19 | 20 | SOURCES=broken_packets.c -------------------------------------------------------------------------------- /xenuser/tests/dirs: -------------------------------------------------------------------------------- 1 | DIRS=xenops \ 2 | v2v 3 | 4 | -------------------------------------------------------------------------------- /xenuser/tests/is_viridian/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=is_viridian 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH) 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib 13 | 14 | USE_MSVCRT=1 15 | UMTYPE=console 16 | 386_STDCALL=0 17 | 18 | SOURCES= \ 19 | is_viridian.c 20 | 21 | -------------------------------------------------------------------------------- /xenuser/tests/long_transaction/long_transaction.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2007 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | #include 25 | 26 | #include "xs.h" 27 | 28 | int 29 | main() 30 | { 31 | HANDLE h; 32 | 33 | h = xs_domain_open(); 34 | if (!xs_transaction_start(h)) { 35 | printf("failed to open transaction.\n"); 36 | return 0; 37 | } 38 | while (1) 39 | Sleep(INFINITE); 40 | } 41 | -------------------------------------------------------------------------------- /xenuser/tests/long_transaction/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenuser/tests/long_transaction/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=long_transaction 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH); ..\..\xs 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | ..\..\..\$(BUILDDIR_ARCH)\xs.lib 14 | 15 | USE_MSVCRT=1 16 | UMTYPE=console 17 | 386_STDCALL=0 18 | 19 | SOURCES=long_transaction.c -------------------------------------------------------------------------------- /xenuser/tests/misaligned_write/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=misaligned_write 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH) 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib 13 | 14 | USE_MSVCRT=1 15 | UMTYPE=console 16 | 386_STDCALL=0 17 | 18 | SOURCES=misaligned_write.c -------------------------------------------------------------------------------- /xenuser/tests/test_scsi_inquiry/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=test_scsi_inquiry 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH) 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib 13 | 14 | USE_MSVCRT=1 15 | UMTYPE=console 16 | 386_STDCALL=0 17 | 18 | SOURCES=test_scsi_inquiry.c -------------------------------------------------------------------------------- /xenuser/tests/v2v/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\..\.. 3 | 4 | include ..\..\..\config.mk 5 | _NT_TARGET_VERSION=$(_NT_TARGET_VERSION_WINXP) 6 | 7 | TARGETNAME=v2v_test 8 | TARGETTYPE=PROGRAM 9 | 10 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 11 | $(SDK_LIB_PATH)\user32.lib \ 12 | $(TARGETPATH_ARCH)\xenv2v.lib \ 13 | $(TARGETPATH_ARCH)\xsutil.lib \ 14 | 15 | USE_MSVCRT=1 16 | UMTYPE=console 17 | 18 | SOURCES=v2v_test.c -------------------------------------------------------------------------------- /xenuser/tests/watches/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenuser/tests/watches/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\config.mk 4 | 5 | TARGETNAME=watches 6 | TARGETPATH=..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH); ..\..\xs 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | ..\..\..\$(BUILDDIR_ARCH)\xs.lib 14 | 15 | USE_MSVCRT=1 16 | UMTYPE=console 17 | 386_STDCALL=0 18 | 19 | SOURCES=watches.c -------------------------------------------------------------------------------- /xenuser/tests/watches/watches.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | #include 25 | 26 | #include "xs.h" 27 | 28 | int 29 | main(int argc, char *argv[]) 30 | { 31 | HANDLE h, e; 32 | 33 | UNREFERENCED_PARAMETER(argc); 34 | 35 | h = xs_domain_open(); 36 | e = CreateEvent(NULL, FALSE, TRUE, NULL); 37 | xs_watch(h, argv[1], e); 38 | while (1) { 39 | WaitForSingleObject(e, INFINITE); 40 | printf("Fired.\n"); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /xenuser/tests/xenops/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\..\.. 3 | 4 | include ..\..\..\config.mk 5 | 6 | TARGETNAME=xenops_test 7 | TARGETTYPE=PROGRAM 8 | 9 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 10 | $(SDK_LIB_PATH)\user32.lib \ 11 | $(TARGETPATH_ARCH)\xenops.lib \ 12 | $(TARGETPATH_ARCH)\xsutil.lib 13 | 14 | USE_MSVCRT=1 15 | UMTYPE=console 16 | 17 | SOURCES=xenops.c -------------------------------------------------------------------------------- /xenuser/util/dirs: -------------------------------------------------------------------------------- 1 | DIRS=dll \ 2 | test 3 | -------------------------------------------------------------------------------- /xenuser/util/dll/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\..\.. 3 | 4 | include ..\..\..\config.mk 5 | 6 | TARGETNAME=xsutil 7 | TARGETTYPE=DYNLINK 8 | 9 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 10 | $(SDK_LIB_PATH)\user32.lib \ 11 | $(SDK_LIB_PATH)\wtsapi32.lib \ 12 | ..\..\..\$(BUILDDIR_ARCH)\xs2.lib 13 | 14 | NO_NTDLL=1 15 | USE_MSVCRT=1 16 | UMTYPE=windows 17 | 386_STDCALL=0 18 | 19 | DLLDEF=xsutil.def 20 | 21 | INCLUDES=$(INCLUDES);..\..\xs2; 22 | 23 | C_DEFINES=$(C_DEFINES) -DXSUTIL_EXPORTS 24 | SOURCES=util.c xsutil.rc 25 | 26 | -------------------------------------------------------------------------------- /xenuser/util/dll/xsutil.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (c) 2010 Citrix Systems, Inc. 3 | ; 4 | ; Permission is hereby granted, free of charge, to any person obtaining a copy 5 | ; of this software and associated documentation files (the "Software"), to deal 6 | ; in the Software without restriction, including without limitation the rights 7 | ; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | ; copies of the Software, and to permit persons to whom the Software is 9 | ; furnished to do so, subject to the following conditions: 10 | ; 11 | ; The above copyright notice and this permission notice shall be included in 12 | ; all copies or substantial portions of the Software. 13 | ; 14 | ; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | ; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | ; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | ; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | ; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | ; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | ; THE SOFTWARE. 21 | ; 22 | 23 | NAME xsutil.dll 24 | 25 | EXPORTS 26 | ;;Called by NSIS System.dll plugin 27 | xs_uninstalling 28 | -------------------------------------------------------------------------------- /xenuser/util/dll/xsutil.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2008 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xsutil.dll" 29 | #define VER_ORIGINALFILENAME_STR "xsutil.dll" 30 | #define VER_FILEVERSION_STR "1.0" 31 | #define VER_FILEDESCRIPTION_STR "Xen utility library" 32 | #define VER_FILETYPE VFT_DLL 33 | #define VER_FILESUBTYPE 0 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /xenuser/util/test/is_rdp.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | #include 25 | #include "xs_private.h" 26 | 27 | int __cdecl 28 | main() 29 | { 30 | if (xs_is_physical_session()) 31 | printf("console\n"); 32 | else 33 | printf("RDP\n"); 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /xenuser/util/test/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\..\.. 3 | 4 | include ..\..\..\config.mk 5 | 6 | TARGETNAME=is_rdp 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(INCLUDES); ..\..\xs 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | $(TARGETPATH_ARCH)\xsutil.lib 14 | 15 | NO_NTDLL=1 16 | USE_MSVCRT=1 17 | UMTYPE=console 18 | 386_STDCALL=0 19 | 20 | SOURCES=is_rdp.c -------------------------------------------------------------------------------- /xenuser/v2v/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xenv2v 7 | TARGETTYPE=DYNLINK 8 | 9 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 10 | $(SDK_LIB_PATH)\user32.lib \ 11 | $(TARGETPATH_ARCH)\xs2.lib \ 12 | $(TARGETPATH_ARCH)\xsutil.lib \ 13 | $(TARGETPATH_ARCH)\xenops.lib \ 14 | 15 | NO_NTDLL=1 16 | USE_MSVCRT=1 17 | UMTYPE=windows 18 | 19 | DLLDEF=v2v.def 20 | 21 | INCLUDES=$(INCLUDES);..\xs2 22 | 23 | SOURCES=v2v.c util.c stream.c v2v.rc 24 | -------------------------------------------------------------------------------- /xenuser/v2v/v2v.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (c) 2009 Citrix Systems, Inc. 3 | ; 4 | ; Permission is hereby granted, free of charge, to any person obtaining a copy 5 | ; of this software and associated documentation files (the "Software"), to deal 6 | ; in the Software without restriction, including without limitation the rights 7 | ; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | ; copies of the Software, and to permit persons to whom the Software is 9 | ; furnished to do so, subject to the following conditions: 10 | ; 11 | ; The above copyright notice and this permission notice shall be included in 12 | ; all copies or substantial portions of the Software. 13 | ; 14 | ; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | ; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | ; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | ; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | ; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | ; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | ; THE SOFTWARE. 21 | ; 22 | 23 | NAME xenv2v.dll 24 | 25 | -------------------------------------------------------------------------------- /xenuser/v2v/v2v.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xenv2v.dll" 29 | #define VER_ORIGINALFILENAME_STR "xenv2v.dll" 30 | #define VER_FILEVERSION_STR "1.0" 31 | #define VER_FILEDESCRIPTION_STR "Direct VM-to-VM communication library for Xen" 32 | #define VER_FILETYPE VFT_DLL 33 | #define VER_FILESUBTYPE 0 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /xenuser/winagent/TSInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #ifndef _TSINFO_H 24 | #define _TSINFO_H 25 | 26 | #define _WIN32_DCOM 27 | #include 28 | #include 29 | 30 | class TSInfo { 31 | public: 32 | TSInfo(); 33 | ~TSInfo(); 34 | 35 | VOID Refresh(VOID); 36 | VOID ProcessControl(VOID); 37 | 38 | private: 39 | IWbemLocator *pLocator; 40 | IWbemServices *pNamespace; 41 | 42 | HRESULT Query(BOOLEAN *); 43 | HRESULT Set(BOOLEAN); 44 | }; 45 | 46 | #endif // _TSINFO 47 | -------------------------------------------------------------------------------- /xenuser/winagent/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenuser/winagent/messages.mc: -------------------------------------------------------------------------------- 1 | SeverityNames=(Informational=0x1) 2 | FacilityNames=(XenUser=0xd60) 3 | 4 | MessageId=0x0001 5 | Facility=XenUser 6 | Severity=Informational 7 | SymbolicName=EVENT_XENUSER_POWEROFF 8 | Language=English 9 | The tools requested that the local VM shut itself down. 10 | . 11 | 12 | MessageId=0x0002 13 | Facility=XenUser 14 | Severity=Informational 15 | SymbolicName=EVENT_XENUSER_REBOOT 16 | Language=English 17 | The tools requested that the local VM reboot. 18 | . 19 | 20 | MessageId=0x0003 21 | Facility=XenUser 22 | Severity=Informational 23 | SymbolicName=EVENT_XENUSER_HIBERNATE 24 | Language=English 25 | The tools requested that the local VM hibernate itself. 26 | . 27 | 28 | MessageId=0x0004 29 | Facility=XenUser 30 | Severity=Informational 31 | SymbolicName=EVENT_XENUSER_S3 32 | Language=English 33 | The tools requested that the local VM enter power state S3. 34 | . 35 | -------------------------------------------------------------------------------- /xenuser/winagent/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xenservice 7 | TARGETTYPE=PROGRAM 8 | 9 | #uncomment for unicode version, comment for ansi 10 | #C_DEFINES=/D_UNICODE /DUNICODE 11 | 12 | INCLUDES=$(INCLUDES);..\xs2;$(TOPDIR)\xenvss\inc\win2003;$(ATL_INC_PATH)\atl30 13 | 14 | TARGETLIBS=$(SDK_LIB_PATH)\ws2_32.lib \ 15 | $(SDK_LIB_PATH)\ole32.lib \ 16 | $(SDK_LIB_PATH)\oleaut32.lib \ 17 | $(SDK_LIB_PATH)\wbemuuid.lib \ 18 | $(SDK_LIB_PATH)\setupapi.lib \ 19 | $(TARGETPATH_ARCH)\xs2.lib \ 20 | $(TARGETPATH_ARCH)\xsutil.lib \ 21 | $(SDK_LIB_PATH)\IPHlpAPI.lib \ 22 | $(SDK_LIB_PATH)\user32.lib \ 23 | $(SDK_LIB_PATH)\shell32.lib \ 24 | $(SDK_LIB_PATH)\version.lib \ 25 | $(SDK_LIB_PATH)\wintrust.lib \ 26 | $(SDK_LIB_PATH)\crypt32.lib \ 27 | $(SDK_LIB_PATH)\Iphlpapi.lib \ 28 | $(SDK_LIB_PATH)\powrprof.lib 29 | 30 | USECXX_FLAG=/Tp 31 | USE_MSVCRT=1 32 | UMTYPE=windows 33 | UMENTRY=winmain 34 | 386_STDCALL=0 35 | USE_STL=1 36 | USE_NATIVE_EH=1 37 | MSC_WARNING_LEVEL=/W3 38 | 39 | SOURCES=NicInfo.cpp \ 40 | TSInfo.cpp \ 41 | stdafx.cpp \ 42 | WMIAccessor.cpp \ 43 | XSAccessor.cpp \ 44 | XService.cpp \ 45 | clipboard.cpp \ 46 | errors.cpp \ 47 | volumes.cpp \ 48 | winagent.rc \ 49 | messages.mc 50 | -------------------------------------------------------------------------------- /xenuser/winagent/stdafx.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2006 XenSource, Inc. All use and distribution of this 3 | * copyrighted material is governed by and subject to terms and 4 | * conditions as licensed by XenSource, Inc. All other rights reserved. 5 | */ 6 | 7 | /* 8 | * Copyright (c) 2006 Citrix Systems, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | // stdafx.cpp : source file that includes just the standard includes 30 | // XenService.pch will be the pre-compiled header 31 | // stdafx.obj will contain the pre-compiled type information 32 | 33 | #include "stdafx.h" 34 | 35 | // TODO: reference any additional headers you need in STDAFX.H 36 | // and not in this file 37 | -------------------------------------------------------------------------------- /xenuser/winagent/tests/volumes/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\..\..\config.mk 4 | 5 | TARGETNAME=volumes 6 | TARGETPATH=..\..\..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH);..\..\..\..\inc 10 | 11 | TARGETLIBS=..\..\..\..\$(BUILDDIR_ARCH)\xsutil.lib 12 | 13 | USECXX_FLAG=/Tp 14 | USE_MSVCRT=1 15 | UMTYPE=console 16 | USE_STL=1 17 | USE_NATIVE_EH=1 18 | 19 | SOURCES=test_v.cpp 20 | -------------------------------------------------------------------------------- /xenuser/winagent/winagent.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xenservice.exe" 29 | #define VER_FILEVERSION_STR "1.0" 30 | #define VER_FILEDESCRIPTION_STR "XenSource Windows guest agent" 31 | #define VER_ORIGINALFILENAME_STR "xenservice.exe" 32 | #define VER_FILETYPE VFT_APP 33 | #define VER_FILESUBTYPE 0 34 | 35 | xen_icon ICON "..\\..\\media\\xen.ico" 36 | 37 | #include "common.ver" 38 | 39 | #include "messages.rc" 40 | -------------------------------------------------------------------------------- /xenuser/xenops/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xenops 7 | TARGETTYPE=DYNLINK 8 | 9 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 10 | $(SDK_LIB_PATH)\user32.lib \ 11 | 12 | NO_NTDLL=1 13 | USE_MSVCRT=1 14 | UMTYPE=windows 15 | 16 | DLLDEF=xenops.def 17 | 18 | SOURCES=xenops.c xenops.rc 19 | -------------------------------------------------------------------------------- /xenuser/xenops/xenops.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/xenuser/xenops/xenops.def -------------------------------------------------------------------------------- /xenuser/xenops/xenops.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xenops.dll" 29 | #define VER_ORIGINALFILENAME_STR "xenops.dll" 30 | #define VER_FILEVERSION_STR "1.0" 31 | #define VER_FILEDESCRIPTION_STR "Low-level Xen operations library" 32 | #define VER_FILETYPE VFT_DLL 33 | #define VER_FILESUBTYPE 0 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /xenuser/xenstore_client/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenuser/xenstore_client/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xenstore_client 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(INCLUDES); ..\xs 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | $(TARGETPATH_ARCH)\xs.lib 14 | 15 | NO_NTDLL=1 16 | USE_MSVCRT=1 17 | UMTYPE=console 18 | 386_STDCALL=0 19 | 20 | SOURCES=xenstore_client.c -------------------------------------------------------------------------------- /xenuser/xs/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xs 7 | TARGETTYPE=DYNLINK 8 | 9 | #uncomment for unicode version, comment for ansi 10 | #C_DEFINES=/D_UNICODE /DUNICODE 11 | 12 | INCLUDES=$(INCLUDES);..\xs2 13 | 14 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 15 | $(SDK_LIB_PATH)\user32.lib \ 16 | $(SDK_LIB_PATH)\advapi32.lib 17 | 18 | NO_NTDLL=1 19 | USE_MSVCRT=1 20 | UMTYPE=windows 21 | 386_STDCALL=0 22 | 23 | DLLDEF=xs.def 24 | 25 | SOURCES=xs.c xs.rc 26 | -------------------------------------------------------------------------------- /xenuser/xs/xs.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/xenuser/xs/xs.def -------------------------------------------------------------------------------- /xenuser/xs/xs.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xs.dll" 29 | #define VER_ORIGINALFILENAME_STR "xs.dll" 30 | #define VER_FILEVERSION_STR "1.0" 31 | #define VER_FILEDESCRIPTION_STR "Xenstore accessor library" 32 | #define VER_FILETYPE VFT_DLL 33 | #define VER_FILESUBTYPE 0 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /xenuser/xs2/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | include ..\..\config.mk 4 | 5 | TARGETNAME=xs2 6 | TARGETTYPE=DYNLINK 7 | 8 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 9 | $(SDK_LIB_PATH)\user32.lib \ 10 | 11 | NO_NTDLL=1 12 | USE_MSVCRT=1 13 | UMTYPE=windows 14 | 15 | DLLDEF=xs2.def 16 | 17 | SOURCES=xs2.c xs2.rc 18 | -------------------------------------------------------------------------------- /xenuser/xs2/xs2.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/xenuser/xs2/xs2.def -------------------------------------------------------------------------------- /xenuser/xs2/xs2.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2008 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_INTERNALNAME_STR "xs2.dll" 29 | #define VER_ORIGINALFILENAME_STR "xs2.dll" 30 | #define VER_FILEVERSION_STR "1.0" 31 | #define VER_FILEDESCRIPTION_STR "Xenstore accessor library version 2" 32 | #define VER_FILETYPE VFT_DLL 33 | #define VER_FILESUBTYPE 0 34 | 35 | #include "common.ver" 36 | -------------------------------------------------------------------------------- /xenuser/xs2test/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenuser/xs2test/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xs2test 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(INCLUDES); ..\xs2 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | ..\..\$(BUILDDIR_ARCH)\xs2.lib 14 | 15 | USE_MSVCRT=1 16 | UMTYPE=console 17 | 18 | SOURCES=xs2test.c -------------------------------------------------------------------------------- /xenuser/xstest/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenuser/xstest/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | TOPDIR=..\.. 3 | 4 | include ..\..\config.mk 5 | 6 | TARGETNAME=xstest 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(INCLUDES); ..\xs 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | ..\..\$(BUILDDIR_ARCH)\xs.lib 14 | 15 | USE_MSVCRT=1 16 | UMTYPE=console 17 | 18 | SOURCES=xstest.c -------------------------------------------------------------------------------- /xenuser/xstest/xstest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xstest", "xstest.vcproj", "{232F473E-D4E2-4790-9B2B-0FA40FED7D5C}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {232F473E-D4E2-4790-9B2B-0FA40FED7D5C}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {232F473E-D4E2-4790-9B2B-0FA40FED7D5C}.Debug|Win32.Build.0 = Debug|Win32 14 | {232F473E-D4E2-4790-9B2B-0FA40FED7D5C}.Release|Win32.ActiveCfg = Release|Win32 15 | {232F473E-D4E2-4790-9B2B-0FA40FED7D5C}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /xenuser/xstest_dyn/sources: -------------------------------------------------------------------------------- 1 | USERSPACE=1 2 | 3 | include ..\..\config.mk 4 | 5 | TARGETNAME=xstest_dyn 6 | TARGETPATH=..\..\$(BUILDDIR) 7 | TARGETTYPE=PROGRAM 8 | 9 | INCLUDES=$(SDK_INC_PATH); ..\..\inc 10 | 11 | TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \ 12 | $(SDK_LIB_PATH)\user32.lib \ 13 | ..\..\$(BUILDDIR_ARCH)\xsutil.lib 14 | 15 | USE_MSVCRT=1 16 | UMTYPE=console 17 | 18 | SOURCES=xstest.c -------------------------------------------------------------------------------- /xenutil/austere.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #ifndef _AUSTERE_H_ 24 | #define _AUSTERE_H_ 25 | 26 | extern VOID XmInitMemory(PVOID heap, ULONG nr_pages, PHYSICAL_ADDRESS base); 27 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /xenutil/balloon.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | 25 | #ifndef _BALLOON_H 26 | #define _BALLOON_H 27 | 28 | extern VOID BalloonQuery( 29 | OUT XS_QUERY_BALLOON *query 30 | ); 31 | 32 | extern NTSTATUS BalloonInit( 33 | VOID 34 | ); 35 | 36 | extern BOOLEAN BalloonIsEmpty( 37 | VOID 38 | ); 39 | 40 | extern VOID BalloonFreeze( 41 | VOID 42 | ); 43 | 44 | extern VOID BalloonThaw( 45 | VOID 46 | ); 47 | 48 | #endif // _BALLOON_H 49 | -------------------------------------------------------------------------------- /xenutil/debug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | void CleanupDebugHelpers(void); 24 | void InitDebugHelpers(void); 25 | 26 | void ConnectDebugVirq(void); 27 | void DisconnectDebugVirq(void); 28 | 29 | void RegisterBugcheckCallbacks(void); 30 | void DeregisterBugcheckCallbacks(void); 31 | 32 | void PrintAddress(ULONG_PTR sp, CHAR *buffer, ULONG length); 33 | 34 | -------------------------------------------------------------------------------- /xenutil/diags.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __XEN_DIAGS_H__ 24 | #define __XEN_DIAGS_H__ 25 | 26 | NTSTATUS DiagsAcpiDump(UCHAR *pBuffer, ULONG Length, ULONG *pLengthOut); 27 | 28 | NTSTATUS DiagsGetE820(UCHAR *pBuffer, ULONG Length, ULONG *pLengthOut); 29 | 30 | NTSTATUS DiagsPciConfig(UCHAR *pBuffer, ULONG Length, ULONG *pLengthOut); 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /xenutil/gntmap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | 25 | #ifndef _GNTMAP_H 26 | #define _GNTMAP_H 27 | 28 | #ifdef XSAPI_FUTURE_GRANT_MAP 29 | __MAKE_WRAPPER_PRIV(ALIEN_GRANT_REF, xen_grant_ref_t) 30 | static __inline ALIEN_GRANT_REF 31 | wrap_ALIEN_GRANT_REF(xen_grant_ref_t x) 32 | { 33 | return __wrap_ALIEN_GRANT_REF(x ^ 0xbeefbeef); 34 | } 35 | static __inline xen_grant_ref_t 36 | unwrap_ALIEN_GRANT_REF(ALIEN_GRANT_REF x) 37 | { 38 | return __unwrap_ALIEN_GRANT_REF(x) ^ 0xbeefbeef; 39 | } 40 | #endif 41 | 42 | #endif // _GNTMAP_H 43 | 44 | 45 | -------------------------------------------------------------------------------- /xenutil/gnttab.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | extern NTSTATUS GnttabInit(void); 24 | extern VOID GnttabCleanup(void); 25 | -------------------------------------------------------------------------------- /xenutil/reexport.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | /* There are a couple of functions provided by the normal DDK with no 24 | equivalent in the SCSI port API. Re-export them from here to make 25 | our lives easier. */ 26 | 27 | #include 28 | 29 | #include "reexport.h" 30 | 31 | PHYSICAL_ADDRESS 32 | XenGetPhysicalAddress( 33 | PVOID vaddr 34 | ) 35 | { 36 | return MmGetPhysicalAddress(vaddr); 37 | } 38 | -------------------------------------------------------------------------------- /xenutil/reexport.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Citrix Systems, Inc. 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | #ifndef _REEXPORT_H_ 24 | #define _REEXPORT_H_ 25 | 26 | extern PHYSICAL_ADDRESS XenGetPhysicalAddress(PVOID vaddr); 27 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /xenutil/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=.. 2 | 3 | include ..\config.mk 4 | 5 | TARGETNAME=xenutil 6 | TARGETTYPE=EXPORT_DRIVER 7 | INCLUDES = $(INCLUDES);..\xenhdrs 8 | 9 | TARGETLIBS=$(DDK_LIB_PATH)\ntdll.lib \ 10 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 11 | $(DDK_LIB_PATH)\aux_klib.lib 12 | 13 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENUTIL\" "-DXSAPI=" 14 | 15 | SOURCES= \ 16 | xenutl.c \ 17 | austere.c \ 18 | thread.c \ 19 | logging.c \ 20 | registry.c \ 21 | xen.c \ 22 | reexport.c \ 23 | hvm.c \ 24 | suspend.c \ 25 | iohole.c \ 26 | xenbus.c \ 27 | evtchn.c \ 28 | debug.c \ 29 | balloon.c \ 30 | gntmap.c \ 31 | gnttab.c \ 32 | work.c \ 33 | diags.c \ 34 | xenutil.rc 35 | 36 | I386_SOURCES= \ 37 | hypercall.c \ 38 | i386\asmstubs.c 39 | 40 | AMD64_SOURCES= \ 41 | amd64\asmstubs.asm 42 | 43 | !if "$(_BUILDARCH)" == "x86" 44 | DLLDEF= i386\xenutil.def 45 | !else 46 | DLLDEF= amd64\xenutil.def 47 | !endif 48 | 49 | -------------------------------------------------------------------------------- /xenutil/xenutil.rc: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2007 Citrix Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // 22 | 23 | #include 24 | #include 25 | 26 | #include "verinfo.h" 27 | 28 | #define VER_FILETYPE VFT_DRV 29 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 30 | 31 | #define VER_FILEDESCRIPTION_STR "Xen kernel utility library" 32 | #define VER_INTERNALNAME_STR "xenutil.sys" 33 | 34 | #include "common.ver" 35 | -------------------------------------------------------------------------------- /xenv4v/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT WINDOWS 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenv4v/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=.. 2 | include ..\config.mk 3 | 4 | TARGETNAME=xenv4v 5 | TARGETTYPE=DRIVER 6 | INCLUDES=$(INCLUDES);..\xenhdrs 7 | 8 | TARGETLIBS=$(DDK_LIB_PATH)\csq.lib \ 9 | $(DDK_LIB_PATH)\ntstrsafe.lib \ 10 | $(DDK_LIB_PATH)\wdmsec.lib \ 11 | $(DDK_LIB_PATH)\scsiport.lib \ 12 | $(DDK_LIB_PATH)\scsiwmi.lib \ 13 | $(TARGETPATH_ARCH)\xevtchn.lib \ 14 | $(TARGETPATH_ARCH)\xenutil.lib 15 | 16 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENV4V\" -DXENV4V_DRIVER -DUNICODE 17 | 18 | SOURCES=\ 19 | xenv4v.c \ 20 | create.c \ 21 | ioctl.c \ 22 | rw.c \ 23 | send.c \ 24 | csq.c \ 25 | hypercall.c \ 26 | ring.c \ 27 | xenv4v.rc 28 | 29 | 30 | -------------------------------------------------------------------------------- /xenv4v/xenv4v.rc: -------------------------------------------------------------------------------- 1 | // 2 | // xenv4v.rc 3 | // 4 | // Copyright 2010 XenSource, Inc. All rights reserved. 5 | // 6 | 7 | // 8 | // Copyright (c) 2010 Citrix Systems, Inc. 9 | // 10 | // Permission is hereby granted, free of charge, to any person obtaining a copy 11 | // of this software and associated documentation files (the "Software"), to deal 12 | // in the Software without restriction, including without limitation the rights 13 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | // copies of the Software, and to permit persons to whom the Software is 15 | // furnished to do so, subject to the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be included in 18 | // all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | // THE SOFTWARE. 27 | // 28 | 29 | 30 | 31 | #include 32 | #include 33 | 34 | #include "verinfo.h" 35 | 36 | #define VER_INTERNALNAME_STR "xenv4v.sys" 37 | #define VER_FILEDESCRIPTION_STR "OpenXT Xen Interdomain Communications Service" 38 | #define VER_ORIGINALFILENAME_STR "xenv4v.sys" 39 | 40 | #define VER_FILETYPE VFT_DRV 41 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 42 | 43 | #include "common.ver" 44 | -------------------------------------------------------------------------------- /xenvbd/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the components of NT WINDOWS 5 | # 6 | !INCLUDE $(NTMAKEENV)\makefile.def 7 | 8 | -------------------------------------------------------------------------------- /xenvbd/sources: -------------------------------------------------------------------------------- 1 | TOPDIR=.. 2 | include ..\config.mk 3 | 4 | TARGETNAME=xenvbd 5 | TARGETTYPE=DRIVER 6 | INCLUDES=$(INCLUDES);..\xenhdrs 7 | 8 | TARGETLIBS=$(DDK_LIB_PATH)\scsiport.lib \ 9 | $(DDK_LIB_PATH)\scsiwmi.lib \ 10 | $(TARGETPATH_ARCH)\xevtchn.lib \ 11 | $(TARGETPATH_ARCH)\xenutil.lib 12 | 13 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENVBD\" 14 | 15 | SOURCES=\ 16 | xenvbd.c \ 17 | xen.c \ 18 | xenvbd.rc \ 19 | inquiry.c \ 20 | mode.c \ 21 | filterio.c 22 | 23 | -------------------------------------------------------------------------------- /xenvbd/xenvbd.rc: -------------------------------------------------------------------------------- 1 | // 2 | // xenvbd.rc 3 | // 4 | // Copyright 2006 XenSource, Inc. All rights reserved. 5 | // 6 | 7 | // 8 | // Copyright (c) 2007 Citrix Systems, Inc. 9 | // 10 | // Permission is hereby granted, free of charge, to any person obtaining a copy 11 | // of this software and associated documentation files (the "Software"), to deal 12 | // in the Software without restriction, including without limitation the rights 13 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | // copies of the Software, and to permit persons to whom the Software is 15 | // furnished to do so, subject to the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be included in 18 | // all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | // THE SOFTWARE. 27 | // 28 | 29 | 30 | 31 | #include 32 | #include 33 | 34 | #include "verinfo.h" 35 | 36 | #define VER_INTERNALNAME_STR "xenvbd.sys" 37 | #define VER_FILEDESCRIPTION_STR "XenSource xenvbd SCSI miniport" 38 | #define VER_ORIGINALFILENAME_STR "xenvbd.sys" 39 | 40 | #define VER_FILETYPE VFT_DRV 41 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 42 | 43 | #include "common.ver" 44 | -------------------------------------------------------------------------------- /xenvesa/dirs: -------------------------------------------------------------------------------- 1 | DIRS=miniport\ 2 | display 3 | -------------------------------------------------------------------------------- /xenvesa/display/sources: -------------------------------------------------------------------------------- 1 | include ..\..\config.mk 2 | TOPDIR=..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xenvesa-display 7 | TARGETTYPE=GDI_DRIVER 8 | 9 | TARGETLIBS=$(DDK_LIB_PATH)\ntoskrnl.lib 10 | 11 | SOURCES= \ 12 | helper.c \ 13 | xenvesa-display.c \ 14 | xenvesa-display.rc 15 | -------------------------------------------------------------------------------- /xenvesa/display/xenvesa-display.rc: -------------------------------------------------------------------------------- 1 | // 2 | // xenvesa.rc 3 | // 4 | // Copyright 2013 XenSource, Inc. All rights reserved. 5 | // 6 | 7 | // 8 | // Copyright (c) 2013 Citrix Systems, Inc. 9 | // 10 | // Permission is hereby granted, free of charge, to any person obtaining a copy 11 | // of this software and associated documentation files (the "Software"), to deal 12 | // in the Software without restriction, including without limitation the rights 13 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | // copies of the Software, and to permit persons to whom the Software is 15 | // furnished to do so, subject to the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be included in 18 | // all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | // THE SOFTWARE. 27 | // 28 | 29 | 30 | 31 | #include 32 | #include 33 | 34 | #include "verinfo.h" 35 | 36 | #define VER_INTERNALNAME_STR "xenvesa-display.dll" 37 | #define VER_FILEDESCRIPTION_STR "XenSource VESA display" 38 | #define VER_ORIGINALFILENAME_STR "xenvesa-display.dll" 39 | 40 | #define VER_FILETYPE VFT_DRV 41 | #define VER_FILESUBTYPE VFT2_DRV_DISPLAY 42 | 43 | #include "common.ver" 44 | -------------------------------------------------------------------------------- /xenvesa/miniport/sources: -------------------------------------------------------------------------------- 1 | include ..\..\config.mk 2 | TOPDIR=..\.. 3 | 4 | MSC_WARNING_LEVEL=/W3 5 | 6 | TARGETNAME=xenvesa-miniport 7 | TARGETTYPE=MINIPORT 8 | 9 | TARGETLIBS=$(DDK_LIB_PATH)\videoprt.lib \ 10 | $(DDK_LIB_PATH)\ntoskrnl.lib 11 | 12 | USER_C_FLAGS = $(USER_C_FLAGS) /showIncludes 13 | SOURCES= \ 14 | xenvesa-miniport.c \ 15 | xenvesa-miniport.rc \ 16 | xenvesa-registry.c 17 | -------------------------------------------------------------------------------- /xenvesa/miniport/xenvesa-miniport.rc: -------------------------------------------------------------------------------- 1 | // 2 | // xenvesa.rc 3 | // 4 | // Copyright 2013 XenSource, Inc. All rights reserved. 5 | // 6 | 7 | // 8 | // Copyright (c) 2013 Citrix Systems, Inc. 9 | // 10 | // Permission is hereby granted, free of charge, to any person obtaining a copy 11 | // of this software and associated documentation files (the "Software"), to deal 12 | // in the Software without restriction, including without limitation the rights 13 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | // copies of the Software, and to permit persons to whom the Software is 15 | // furnished to do so, subject to the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be included in 18 | // all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | // THE SOFTWARE. 27 | // 28 | 29 | 30 | 31 | #include 32 | #include 33 | 34 | #include "verinfo.h" 35 | 36 | #define VER_INTERNALNAME_STR "xenvesa-miniport.sys" 37 | #define VER_FILEDESCRIPTION_STR "XenSource VESA miniport" 38 | #define VER_ORIGINALFILENAME_STR "xenvesa-miniport.sys" 39 | 40 | #define VER_FILETYPE VFT_DRV 41 | #define VER_FILESUBTYPE VFT2_DRV_DISPLAY 42 | 43 | #include "common.ver" 44 | -------------------------------------------------------------------------------- /xenvesado/sources: -------------------------------------------------------------------------------- 1 | !include sources.inc 2 | 3 | INCLUDES=$(INCLUDES);../../inc;../../shared;../../../../inc 4 | TARGETNAME=XenGfxDO 5 | TARGET_DESTINATION=XenGfxDO 6 | 7 | TARGETLIBS = $(TARGETLIBS) \ 8 | $(TARGETPATH_ARCH)\xenvesa_shared.lib 9 | 10 | C_DEFINES=$(C_DEFINES) -DXENTARGET=\"XENGFX\" -DUNICODE -DNO_XENUTIL -DXENVESA -DXEN_CHROMIUM 11 | 12 | MINIMUM_NT_TARGET_VERSION=$(_NT_TARGET_VERSION_WIN8) 13 | 14 | SOURCES=$(SOURCES) \ 15 | ..\BltHw.cxx \ 16 | ..\xengfxdo.rc \ 17 | 18 | 19 | MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) /W4 20 | 21 | -------------------------------------------------------------------------------- /xenvesado/sources.inc: -------------------------------------------------------------------------------- 1 | TARGETTYPE=DRIVER 2 | 3 | TARGETLIBS= \ 4 | $(DDK_LIB_PATH)\displib.lib \ 5 | $(DDK_LIB_PATH)\ntoskrnl.lib \ 6 | $(DDK_LIB_PATH)\hal.lib \ 7 | 8 | INCLUDES= \ 9 | $(DDK_INC_PATH); \ 10 | $(SDK_INC_PATH); \ 11 | ..\..\shared; \ 12 | ..\..\inc; \ 13 | ..\inc; \ 14 | ..\shared; 15 | 16 | 17 | SOURCES= \ 18 | ..\BDD.cxx \ 19 | ..\BDD_DDI.cxx \ 20 | ..\BDD_DMM.cxx \ 21 | ..\memory.cxx \ 22 | ..\BltFuncs.cxx \ 23 | ..\BDD_Util.cxx \ 24 | 25 | #MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) /W4 -------------------------------------------------------------------------------- /xenvesado/sources.inc.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | DRIVER 5 | $(DDK_LIB_PATH)\displib.lib $(DDK_LIB_PATH)\ntoskrnl.lib $(DDK_LIB_PATH)\hal.lib 6 | $(DDK_INC_PATH); $(SDK_INC_PATH); ..\..\shared; ..\..\inc; ..\inc; ..\shared; 7 | ..\BDD.cxx ..\BDD_DDI.cxx ..\BDD_DMM.cxx ..\memory.cxx ..\BltFuncs.cxx ..\BDD_Util.cxx 8 | 9 | -------------------------------------------------------------------------------- /xenvesado/sources.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | sources.inc.props 5 | $([System.IO.Path]::Combine($(MSBuildProjectDirectory),'sources.inc.props')) 6 | $([System.IO.Path]::Combine($(MSBuildThisFileDirectory),'sources.inc.props')) 7 | 8 | 9 | 10 | 11 | $(INCLUDES);../../inc;../../shared;../../../../inc 12 | XenGfxDO 13 | XenGfxDO 14 | $(TARGETLIBS) $(TARGETPATH_ARCH)\xenvesa_shared.lib 15 | $(C_DEFINES) -DXENTARGET=\"XENGFX\" -DUNICODE -DXENVESA -DXEN_CHROMIUM 16 | $(_NT_TARGET_VERSION_WIN8) 17 | $(SOURCES) ..\BltHw.cxx ..\xengfxdo.rc 18 | $(MSC_WARNING_LEVEL) /W4 19 | 20 | -------------------------------------------------------------------------------- /xenvesado/xenVesaDO.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXT/xc-windows/1d06467a4e1971ac020c4b3609cbf34ace2d642e/xenvesado/xenVesaDO.inf -------------------------------------------------------------------------------- /xenvesado/xenVesaDO.rc: -------------------------------------------------------------------------------- 1 | // 2 | // XenGfxDO.rc 3 | // 4 | // Copyright 2012 XenSource, Inc. All rights reserved. 5 | // 6 | 7 | // 8 | // Copyright (c) 2011 Citrix Systems, Inc. 9 | // 10 | // Permission is hereby granted, free of charge, to any person obtaining a copy 11 | // of this software and associated documentation files (the "Software"), to deal 12 | // in the Software without restriction, including without limitation the rights 13 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | // copies of the Software, and to permit persons to whom the Software is 15 | // furnished to do so, subject to the following conditions: 16 | // 17 | // The above copyright notice and this permission notice shall be included in 18 | // all copies or substantial portions of the Software. 19 | // 20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | // THE SOFTWARE. 27 | // 28 | 29 | #include 30 | #include 31 | 32 | #include "verinfo.h" 33 | 34 | #define VER_INTERNALNAME_STR "XenGfxDO.sys" 35 | #define VER_FILEDESCRIPTION_STR "OpenXT Xen WDDM-DO Vesa Driver" 36 | #define VER_ORIGINALFILENAME_STR "XenGfxDO.sys" 37 | 38 | #define VER_FILETYPE VFT_DRV 39 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 40 | 41 | #include "common.ver" 42 | --------------------------------------------------------------------------------