Difference between revisions of "Techwiki:File Layout"

From ReactOS Wiki
Jump to: navigation, search
 
(7 intermediate revisions by 2 users not shown)
Line 19: Line 19:
  
 
==Preliminary layout proposal==
 
==Preliminary layout proposal==
 +
 +
This is a PRELIMINARY proposal. If you think that it a module doesn't fit in any category move it to uncategorized till we decide where it should be placed. Use the discussion page to say your oppinion
  
 
<pre>
 
<pre>
Line 60: Line 62:
 
|  +---dlls
 
|  +---dlls
 
|  |  +---mmdrv
 
|  |  +---mmdrv
 +
|  |  +---sndblst
 
|  |  +---wdmaud_drv
 
|  |  +---wdmaud_drv
 
|  |  +---winmm
 
|  |  +---winmm
Line 151: Line 154:
 
|  |  +---cfgmgr32
 
|  |  +---cfgmgr32
 
|  |  +---devmgr
 
|  |  +---devmgr
|  |  +---fmifs
 
 
|  |  +---getuname
 
|  |  +---getuname
 
|  |  +---glu32
 
|  |  +---glu32
 
|  |  +---hid
 
|  |  +---hid
|  |  +---iprtprio
 
 
|  |  +---lpk
 
|  |  +---lpk
 
|  |  +---modemui
 
|  |  +---modemui
Line 162: Line 163:
 
|  |  +---netshell
 
|  |  +---netshell
 
|  |  +---newdev
 
|  |  +---newdev
|  |  +---ntlanman
 
 
|  |  +---ntmarta
 
|  |  +---ntmarta
 
|  |  +---opengl32
 
|  |  +---opengl32
Line 174: Line 174:
 
|  |  +---shell32
 
|  |  +---shell32
 
|  |  +---shimgvw
 
|  |  +---shimgvw
|  |  +---sndblst
 
 
|  |  +---srclient
 
|  |  +---srclient
 
|  |  +---syssetup
 
|  |  +---syssetup
 
|  |  +---t2embed
 
|  |  +---t2embed
 
|  |  +---tapiui
 
|  |  +---tapiui
|  |  +---uext2
 
|  |  +---ufat
 
|  |  +---ufatx
 
|  |  +---untfs
 
|  |  +---userenv
 
|  |  +---vdmdbg
 
 
|  |  +---winfax
 
|  |  +---winfax
 
|  |  +---winscard
 
|  |  +---winscard
 
|  |  +---winspool
 
|  |  +---winspool
 
|  |  +---winsta
 
|  |  +---winsta
|  |  +---wlanapi
 
 
|  |  +---wshirda
 
|  |  +---wshirda
 
|  +---applications
 
|  +---applications
Line 207: Line 199:
 
|  |  +---fontext
 
|  |  +---fontext
 
|  |  +---slayer
 
|  |  +---slayer
|  +---libs
 
|  |  +---epsapi
 
 
|  +---setup
 
|  +---setup
 
|  |  +---reactos
 
|  |  +---reactos
Line 371: Line 361:
 
|  |  +---ftp
 
|  |  +---ftp
 
|  |  +---ipconfig
 
|  |  +---ipconfig
 +
|  |  +---iprtprio
 
|  |  +---net
 
|  |  +---net
 
|  |  +---netstat
 
|  |  +---netstat
Line 383: Line 374:
 
|  |  +---msafd
 
|  |  +---msafd
 
|  |  +---mswsock
 
|  |  +---mswsock
 +
|  |  +---ntlanman
 +
|  |  +---wlanapi
 
|  |  +---ws2help
 
|  |  +---ws2help
 
|  |  +---ws2_32
 
|  |  +---ws2_32
Line 511: Line 504:
 
|  +---usetup
 
|  +---usetup
 
|  +---vgafonts
 
|  +---vgafonts
+---reactx
+
+---directx
|  +---directx
+
|  +---reactx
 
|  |  +---amstream
 
|  |  +---amstream
 
|  |  +---d3d8
 
|  |  +---d3d8
Line 532: Line 525:
 
|  |  +---qedit
 
|  |  +---qedit
 
|  |  +---quartz
 
|  |  +---quartz
|  +---wine
+
|  +---winex
|  |       +---d3d8
+
|  |   +---d3d8
|  |       +---d3d9
+
|  |   +---d3d9
|  |       +---d3dx9_24
+
|  |   +---d3dx9_24
|  |       +---d3dx9_25
+
|  |   +---d3dx9_25
|  |       +---d3dx9_26
+
|  |   +---d3dx9_26
|  |       +---d3dx9_27
+
|  |   +---d3dx9_27
|  |       +---d3dx9_28
+
|  |   +---d3dx9_28
|  |       +---d3dx9_29
+
|  |   +---d3dx9_29
|  |       +---d3dx9_30
+
|  |   +---d3dx9_30
|  |       +---d3dx9_31
+
|  |   +---d3dx9_31
|  |       +---d3dx9_32
+
|  |   +---d3dx9_32
|  |       +---d3dx9_33
+
|  |   +---d3dx9_33
|  |       +---d3dx9_34
+
|  |   +---d3dx9_34
|  |       +---d3dx9_35
+
|  |   +---d3dx9_35
|  |       +---d3dx9_36
+
|  |   +---d3dx9_36
|  |       +---d3dx9_37
+
|  |   +---d3dx9_37
|  |       +---d3dx9_38
+
|  |   +---d3dx9_38
|  |       +---d3dx9_39
+
|  |   +---d3dx9_39
|  |       +---d3dx9_40
+
|  |   +---d3dx9_40
|  |       +---d3dx9_41
+
|  |   +---d3dx9_41
|  |       +---ddraw
+
|  |   +---ddraw
|  |       +---wined3d
+
|  |   +---wined3d
 
|  +---drivers
 
|  +---drivers
 
|      +---dxapi
 
|      +---dxapi
Line 617: Line 610:
 
|      +---wrc
 
|      +---wrc
 
+---win32core
 
+---win32core
 +
|  +---win32k
 +
|  +---csrss
 +
|  |  +---win32csr
 +
|  +---csr
 +
|  |  +---csrsrv
 +
|  |  +---basesrv
 +
|  |  +---winsrv
 +
|  +---drivers
 +
|  |  +---displays
 +
|  |  |  +---framebuf
 +
|  |  |  +---framebufacc
 +
|  |  |  +---vga
 +
|  |  +---font
 +
|  |  |  +---bmfd
 +
|  |  |  +---ftfd
 +
|  |  |  +---freetype
 +
|  |  +---miniport
 +
|  |  |  +---vbe
 +
|  |  |  +---vga
 +
|  |  |  +---xboxvmp
 +
|  |  +---videoprt
 +
|  +---dlls
 +
|  |  +---gdi32
 +
|  |  +---user32
 +
|  +---fonts
 +
|  +---keyboard
 +
|  |  +---kbda1
 +
|  |  +---kbda2
 +
|  |  +---...
 +
+---uncategorized
 +
|  +---ntvdm
 
|  +---base
 
|  +---base
 
|  |  +---userinit
 
|  |  +---userinit
Line 634: Line 658:
 
|  |  +---secur32
 
|  |  +---secur32
 
|  |  +---security
 
|  |  +---security
 +
|  |  +---fmifs
 +
|  |  +---vdmdbg
 +
|  |  +---userenv
 +
|  |  +---uext2
 +
|  |  +---ufat
 +
|  |  +---ufatx
 +
|  |  +---untfs
 
|  +---nls
 
|  +---nls
 
|  |  +---icu4ros
 
|  |  +---icu4ros
Line 645: Line 676:
 
|  |  +---normaliz
 
|  |  +---normaliz
 
|  |  +---normaliz_redist
 
|  |  +---normaliz_redist
 +
|  +---libs
 +
|  |  +---epsapi
 
|  +---services
 
|  +---services
 
|      +---eventlog
 
|      +---eventlog
Line 651: Line 684:
 
|      +---svchost
 
|      +---svchost
 
|      +---umpnpmgr
 
|      +---umpnpmgr
+---win32ss
+
|       +---spoolsv
    +---csrss
 
    |  +---win32csr
 
    +---csr
 
    |  +---csrsrv
 
    |  +---basesrv
 
    |  +---winsrv
 
    +---ntvdm
 
    +---dlls
 
    |  +---gdi32
 
    |  +---user32
 
    +---drivers
 
    |  +---displays
 
    |  |  +---framebuf
 
    |  |  +---framebufacc
 
    |  |  +---vga
 
    |   +---font
 
    |  |  +---bmfd
 
    |  |  +---ftfd
 
    |  |  +---freetype
 
    |  +---miniport
 
    |  |  +---vbe
 
    |  |  +---vga
 
    |  |  +---xboxvmp
 
    |  +---videoprt
 
    +---fonts
 
    +---keyboard
 
    |  +---kbda1
 
    |  +---kbda2
 
    |  +---...
 
    +---services
 
    |  +---spoolsv
 
    +---win32k
 
 
 
 
</pre>
 
</pre>

Latest revision as of 15:18, 7 August 2010

Current situation

The modules are sorted by file type on the highest level. That is dlls to dlls, static libs to static libs, drivers to drivers. ntdll is next to shell extensions and ksfilters are next to display drivers. On the other hand, modules that are very close to each other in a terms of their purpose/functionality are far seperated in the tree. Like user32/gdi32 in dll/win32 (together with a huge number of wine dlls) while win32k is in subsystems/win32. Trying to build individual parts of the tree is almost impossible due to wide spread dependencies. apps depend on dlls and some dlls depend on explorer. Cleaning ntdll will always result in a massive relink orgy, although the exports have not changed. Working on branches always means branching the whole of the tree. To build the amd64 port, I added a USERMODE switch to get rid of everything that is not needed yet, this way I don't have to spend an hour building a lot of stuff that will never be used.

Suggestion

Create basic sets of modules. Each set independent of the others. Core dependencies will be resolved by an sdk. This way you can easily add or remove or replace individual parts of the OS without breaking build. The only requirement for all other sets would be sdk, containing public headers, import libraries and some core libraries, like mingw and crt. The other sets can be build with only sdk as a dependency. Complete subparts of the OS could easily be switched between different branches, like arwinss vs normal win32, by changing one rbuild entry. Both could be developed inside the main tree at the same time, no need for a branch actually.

The sets

  • sdk

This set contains all global dependencies, import libraries, static libraries like crt, nt, delayimp,...

  • ntcore

Can be thought of like minwin. Contains the minimal bootable system. Including freeldr, ntoskrnl, hal, drivers, smss, lsass, winlogon, ntdll. A tiny nt console could be added just to have something to really interact with. Or refactoring several apis into kernelbase.dll could allow running cmd.

  • win32core

This is the core of the win32 subsytsem, containing win32k, user32, gdi32, kernel32, advapi32, csrss, video drivers.

  • gui

Maybe a bad name, anyway this would contain all additional stuff to boot into a full featured win32 gui system. It would contain wine dlls, the shell, apps, etc.

  • network
  • audio
  • reactx

Preliminary layout proposal

This is a PRELIMINARY proposal. If you think that it a module doesn't fit in any category move it to uncategorized till we decide where it should be placed. Use the discussion page to say your oppinion

+---audio
|   +---drivers
|   |   +---backpln
|   |   +---CMIDriver
|   |   +---mpu401
|   |   +---sb16
|   |   +---drm
|   |   |   +---drmk
|   |   +---filters
|   |   |   +---kmixer
|   |   |   +---splitter
|   |   |   +---swmidi
|   |   +---legacy
|   |   |   +---stream
|   |   |   +---wdmaud
|   |   +---mpu401_nt4
|   |   +---sb16_nt4.old
|   |   +---sndblst.old
|   |   +---sndblst_sys
|   |   +---sysaudio
|   |   +---portcls
|   |   +---wdmaud_sys
|   +---ksfilter
|   |   +---ks
|   |   +---swenum
|   +---libs
|   |   +---libsamplerate
|   |   +---legacy
|   |   +---mmebuddy
|   |   +---mment4
|   |   +---mmixer
|   |   +---shared
|   |   +---soundblaster
|   |   +---uartmidi
|   +---services
|   |   +---audiosrv
|   +---sounds
|   +---dlls
|   |   +---mmdrv
|   |   +---sndblst
|   |   +---wdmaud_drv
|   |   +---winmm
+---accessories
|   +---applications
|   |   +---cacls
|   |   +---calc
|   |   +---charmap
|   |   +---cmdutils
|   |   |   +---dbgprint
|   |   |   +---doskey
|   |   |   +---find
|   |   |   +---hostname
|   |   |   +---lodctr
|   |   |   +---more
|   |   |   +---reg
|   |   |   +---xcopy
|   |   +---control
|   |   +---downloader
|   |   +---dxdiag
|   |   +---fontview
|   |   +---hh
|   |   +---iexplore
|   |   +---kbswitch
|   |   +---logoff
|   |   +---magnify
|   |   +---mmc
|   |   +---mplay32
|   |   +---msconfig
|   |   +---mscutils
|   |   +---mstsc
|   |   +---notepad
|   |   +---paint
|   |   +---rapps
|   |   +---regedit
|   |   +---regedt32
|   |   +---sc
|   |   +---shutdown
|   |   +---sndrec32
|   |   +---sndvol32
|   |   +---taskmgr
|   |   +---winhlp32
|   |   +---winver
|   |   +---wordpad
|   |   +---write
|   +---games
|   |   +---solitaire
|   |   +---spider
|   |   +---winemine
|   |   +---cardlib
|   +---screensavers
|   |   +---3dtext
|   |   +---logon
|   +---dlls
|   |   +---bzip2
|   |   +---dxtn
|   |   +---libjpeg
|   |   +---libxslt
|   |   +---mesa32
|   |       +---...
|   +---doc
|   +---graphics
|       +---wallpapers
|       +---themes
+---shell
|   +---cpl
|   |   +---access
|   |   +---appwiz
|   |   +---console
|   |   +---desk
|   |   +---hdwwiz
|   |   +---input
|   |   +---intl
|   |   +---joy
|   |   +---liccpa
|   |   +---main
|   |   +---mmsys
|   |   +---ncpa
|   |   +---odbccp32
|   |   +---powercfg
|   |   +---sysdm
|   |   +---telephon
|   |   +---timedate
|   |   +---usrmgr
|   +---dlls
|   |   +---acledit
|   |   +---aclui
|   |   +---authz
|   |   +---avicap32
|   |   +---cards
|   |   +---cfgmgr32
|   |   +---devmgr
|   |   +---getuname
|   |   +---glu32
|   |   +---hid
|   |   +---lpk
|   |   +---modemui
|   |   +---netcfgx
|   |   +---netid
|   |   +---netshell
|   |   +---newdev
|   |   +---ntmarta
|   |   +---opengl32
|   |   +---packet
|   |   +---psapi
|   |   +---rasadhlp
|   |   +---rasdlg
|   |   +---rasman
|   |   +---sfc_os
|   |   +---serialui
|   |   +---shell32
|   |   +---shimgvw
|   |   +---srclient
|   |   +---syssetup
|   |   +---t2embed
|   |   +---tapiui
|   |   +---winfax
|   |   +---winscard
|   |   +---winspool
|   |   +---winsta
|   |   +---wshirda
|   +---applications
|   |   +---expand
|   |   +---format
|   |   +---cmd
|   |   +---explorer
|   |   +---explorer-new
|   |   +---msiexec
|   |   +---regsvr32
|   |   +---rundll32
|   |   +---runonce
|   +---shellext
|   |   +---deskadp
|   |   +---deskmon
|   |   +---devcpux
|   |   +---fontext
|   |   +---slayer
|   +---setup
|   |   +---reactos
|   |   +---setup
|   |   +---vmwinst
|   |   +---welcome
|   +---winedlls
|       +---activeds
|       +---actxprxy
|       +---advpack
|       +---atl
|       +---avifil32
|       +---bcrypt
|       +---beepmidi
|       +---browseui
|       +---cabinet
|       +---clusapi
|       +---comcat
|       +---comctl32
|       +---comdlg32
|       +---compstui
|       +---credui
|       +---crypt32
|       +---cryptdlg
|       +---cryptdll
|       +---cryptnet
|       +---cryptui
|       +---dbghelp
|       +---dciman32
|       +---dwmapi
|       +---fusion
|       +---gdiplus
|       +---hhctrl.ocx
|       +---hlink
|       +---hnetcfg
|       +---httpapi
|       +---iccvid
|       +---icmp
|       +---imaadp32.acm
|       +---imagehlp
|       +---imm32
|       +---inetcomm
|       +---inetmib1
|       +---initpki
|       +---inseng
|       +---iphlpapi
|       +---itircl
|       +---itss
|       +---jscript
|       +---loadperf
|       +---localspl
|       +---localui
|       +---lz32
|       +---mapi32
|       +---mciavi32
|       +---mcicda
|       +---mciqtz32
|       +---mciseq
|       +---mciwave
|       +---mlang
|       +---mpr
|       +---mprapi
|       +---msacm32
|       +---msadp32.acm
|       +---mscat32
|       +---mscms
|       +---mscoree
|       +---msctf
|       +---msftedit
|       +---msg711.acm
|       +---msgsm32.acm
|       +---mshtml
|       +---mshtml.tlb
|       +---msi
|       +---msimg32
|       +---msimtf
|       +---msisip
|       +---msisys.ocx
|       +---msnet32
|       +---msrle32
|       +---mssign32
|       +---mssip32
|       +---mstask
|       +---msvfw32
|       +---msvidc32
|       +---msxml3
|       +---nddeapi
|       +---netapi32
|       +---ntdsapi
|       +---ntprint
|       +---objsel
|       +---odbc32
|       +---odbccp32
|       +---ole32
|       +---oleacc
|       +---oleaut32
|       +---olecli32
|       +---oledlg
|       +---olepro32
|       +---olesvr32
|       +---olethk32
|       +---pdh
|       +---pidgen
|       +---powrprof
|       +---printui
|       +---pstorec
|       +---qmgr
|       +---qmgrprxy
|       +---query
|       +---rasapi32
|       +---resutils
|       +---riched20
|       +---riched32
|       +---rpcrt4
|       +---rsabase
|       +---rsaenh
|       +---sccbase
|       +---schannel
|       +---sensapi
|       +---setupapi
|       +---sfc
|       +---shdoclc
|       +---shdocvw
|       +---shfolder
|       +---shlwapi
|       +---slbcsp
|       +---snmpapi
|       +---softpub
|       +---spoolss
|       +---stdole2.tlb
|       +---stdole32.tlb
|       +---sti
|       +---sxs
|       +---tapi32
|       +---traffic
|       +---twain_32
|       +---updspapi
|       +---url
|       +---urlmon
|       +---usp10
|       +---uxtheme
|       +---version
|       +---windowscodecs
|       +---winemp3.acm
|       +---winhttp
|       +---wininet
|       +---wintrust
|       +---wldap32
|       +---wmi
|       +---wtsapi32
|       +---wuapi
|       +---xinput1_1
|       +---xinput1_2
|       +---xinput1_3
|       +---xinput9_1_0
|       +---xmllite
+---network
|   +---apps
|   |   +---arp
|   |   +---dwnl
|   |   +---finger
|   |   +---ftp
|   |   +---ipconfig
|   |   +---iprtprio
|   |   +---net
|   |   +---netstat
|   |   +---nslookup
|   |   +---ping
|   |   +---route
|   |   +---telnet
|   |   +---tracert
|   |   +---whois
|   +---dlls
|   |   +---dnsapi
|   |   +---msafd
|   |   +---mswsock
|   |   +---ntlanman
|   |   +---wlanapi
|   |   +---ws2help
|   |   +---ws2_32
|   |   +---ws2_32_new
|   |   +---wsock32
|   |   +---wshtcpip
|   +---drivers
|   |   +---acd
|   |   +---afd
|   |   +---dd
|   |   |   +---ne2000
|   |   |   +---pcnet
|   |   +---lan
|   |   +---ndis
|   |   +---tcpip
|   |   +---tdi
|   +---libs
|   |   +---adns
|   |   +---chew
|   |   +---dnslib
|   |   +---ip
|   |   +---oskittcp
|   +---services
|       +---dhcp
|       +---tcpsvcs
|       +---telnetd
|       +---tftpd
|       +---wlansvc
|       +---dhcpcsvc
+---ntcore
|   +---apps
|   |   +---autochk
|   |   +---bootok
|   |   +---ntcmd
|   +---bootdata
|   |   +---bootcd
|   |   +---bootcdregtest
|   |   +---livecd
|   |   +---livecdregtest
|   +---dlls
|   |   +---kernelbase
|   |   +---ntdll
|   |   +---smdll
|   +---drivers
|   |   +---base
|   |   |   +---beep
|   |   |   +---bootvid
|   |   |   +---kdcom
|   |   |   +---kddll
|   |   |   +---nmidebug
|   |   |   +---null
|   |   +---bus
|   |   |   +---acpi
|   |   |   +---isapnp
|   |   |   +---pci
|   |   +---etc
|   |   +---filesystems
|   |   |   +---cdfs
|   |   |   +---ext2
|   |   |   +---fastfat
|   |   |   +---fastfat_new
|   |   |   +---fslib
|   |   |   +---fs_rec
|   |   |   +---fullfat
|   |   |   +---msfs
|   |   |   +---mup
|   |   |   +---npfs
|   |   |   +---ntfs
|   |   +---inf
|   |   +---input
|   |   |   +---i8042prt
|   |   |   +---kbdclass
|   |   |   +---mouclass
|   |   |   +---sermouse
|   |   +---parallel
|   |   |   +---parallel
|   |   |   +---parclass
|   |   |   +---parport
|   |   +---serial
|   |   |   +---serenum
|   |   |   +---serial
|   |   +---setup
|   |   |   +---blue
|   |   +---storage
|   |   |   +---class
|   |   |   |   +---cdrom
|   |   |   |   +---class2
|   |   |   |   +---disk
|   |   |   |   +---include
|   |   |   |   +---ramdisk
|   |   |   +---classpnp
|   |   |   +---fdc
|   |   |   |   +---fdc
|   |   |   |   +---flpydisk
|   |   |   +---floppy
|   |   |   +---ide
|   |   |   |   +---atapi
|   |   |   |   +---pciide
|   |   |   |   +---pciidex
|   |   |   |   +---uniata
|   |   |   +---port
|   |   |   |   +---buslogic
|   |   |   |   +---diskdump
|   |   |   +---scsiport
|   |   +---usb
|   |   |   +---nt4compat
|   |   |   +---usbd
|   |   |   +---usbehci
|   |   |   +---usbhub
|   |   |   +---usbstor
|   +---freeldr
|   |   +---bootsect
|   |   +---fdebug
|   |   +---freeldr
|   +---hal
|   |   +---halarm
|   |   +---halppc
|   |   +---halx86
|   +---libs
|   |   +---csq
|   |   +---debugsup
|   |   +---lsalib
|   |   +---recyclebin
|   |   +---rtl
|   |   +---smlib
|   +---ntoskrnl
|   +---smss
|   +---usetup
|   +---vgafonts
+---directx
|   +---reactx
|   |   +---amstream
|   |   +---d3d8
|   |   +---d3d8thk
|   |   +---d3d9
|   |   +---ddraw
|   |   +---devenum
|   |   +---dinput
|   |   +---dinput8
|   |   +---dmusic
|   |   +---dplay
|   |   +---dplayx
|   |   +---dsound
|   |   +---dsound_new
|   |   +---dxdiagn
|   |   +---ksproxy
|   |   +---ksuser
|   |   +---msdmo
|   |   +---qedit
|   |   +---quartz
|   +---winex
|   |   +---d3d8
|   |   +---d3d9
|   |   +---d3dx9_24
|   |   +---d3dx9_25
|   |   +---d3dx9_26
|   |   +---d3dx9_27
|   |   +---d3dx9_28
|   |   +---d3dx9_29
|   |   +---d3dx9_30
|   |   +---d3dx9_31
|   |   +---d3dx9_32
|   |   +---d3dx9_33
|   |   +---d3dx9_34
|   |   +---d3dx9_35
|   |   +---d3dx9_36
|   |   +---d3dx9_37
|   |   +---d3dx9_38
|   |   +---d3dx9_39
|   |   +---d3dx9_40
|   |   +---d3dx9_41
|   |   +---ddraw
|   |   +---wined3d
|   +---drivers
|       +---dxapi
|       +---dxg
|       +---dxgthk
+---sdk
|   +---include
|   |   +---crt
|   |   +---ddk
|   |   +---dxsdk
|   |   +---GL
|   |   +---host
|   |   +---ndk
|   |   +---psdk
|   |   +---reactos
|   +---libs
|   |   +---atl
|   |   +---cmlib
|   |   +---crt
|   |   +---delayimp
|   |   +---dxguid
|   |   +---expat
|   |   +---wcsfuncs
|   |   +---import
|   |   +---inflib
|   |   +---libxml2
|   |   +---mingw
|   |   +---nt
|   |   +---pseh
|   |   +---rossym
|   |   +---scrnsave
|   |   +---strmiids
|   |   +---strsafe
|   |   +---uuid
|   |   +---wdmguid
|   |   +---zlib
|   +---tools
|       +---buildno
|       +---cabman
|       +---cdmake
|       +---create_nls
|       +---gendib
|       +---geninc
|       +---hpp
|       +---kbdtool
|       +---mkhive
|       +---ms2ps
|       +---nci
|       +---ofw_interface
|       +---pipetools
|       +---rbuild
|       +---rbuild_helper
|       +---regtests2xml
|       +---rgenstat
|       +---rsym
|       +---unicode
|       +---utf16le
|       +---widl
|       +---winebuild
|       +---wmc
|       +---wpp
|       +---wrc
+---win32core
|   +---win32k
|   +---csrss
|   |   +---win32csr
|   +---csr
|   |   +---csrsrv
|   |   +---basesrv
|   |   +---winsrv
|   +---drivers
|   |   +---displays
|   |   |   +---framebuf
|   |   |   +---framebufacc
|   |   |   +---vga
|   |   +---font
|   |   |   +---bmfd
|   |   |   +---ftfd
|   |   |   +---freetype
|   |   +---miniport
|   |   |   +---vbe
|   |   |   +---vga
|   |   |   +---xboxvmp
|   |   +---videoprt
|   +---dlls
|   |   +---gdi32
|   |   +---user32
|   +---fonts
|   +---keyboard
|   |   +---kbda1
|   |   +---kbda2
|   |   +---...
+---uncategorized
|   +---ntvdm
|   +---base
|   |   +---userinit
|   |   +---lsass
|   |   +---winlogon
|   |       +---msgina
|   +---dlls
|   |   +---advapi32
|   |   +---kernel32
|   |   +---crtdll
|   |   +---lsasrv
|   |   +---msvcrt
|   |   +---msvcrt20
|   |   +---msvcrt40
|   |   +---samlib
|   |   +---samsrv
|   |   +---secur32
|   |   +---security
|   |   +---fmifs
|   |   +---vdmdbg
|   |   +---userenv
|   |   +---uext2
|   |   +---ufat
|   |   +---ufatx
|   |   +---untfs
|   +---nls
|   |   +---icu4ros
|   |   +---idndl
|   |   +---idndl_redist
|   |   +---lib
|   |   |   +---idna
|   |   |   +---normalize
|   |   |   +---scripts
|   |   +---nlsdata
|   |   +---normaliz
|   |   +---normaliz_redist
|   +---libs
|   |   +---epsapi
|   +---services
|       +---eventlog
|       +---rpcss
|       +---services.exe
|       +---svchost
|       +---umpnpmgr
|       +---spoolsv