Compare commits

..

935 Commits

Author SHA1 Message Date
Gunnar Dalsnes
95e0fa9313 give better name
svn path=/branches/hardons1stbranch/; revision=16817
2005-07-27 21:09:08 +00:00
Gunnar Dalsnes
2cf308079f explorer starts but crash due to missing/lost winsta (ref/deref problem?)
svn path=/branches/hardons1stbranch/; revision=16799
2005-07-27 13:18:11 +00:00
Gunnar Dalsnes
b0b68753ff fix compile
svn path=/branches/hardons1stbranch/; revision=16798
2005-07-27 12:01:05 +00:00
Gunnar Dalsnes
5d915742e5 move stuff
svn path=/branches/hardons1stbranch/; revision=16795
2005-07-27 11:33:49 +00:00
Gunnar Dalsnes
98dd342a5e my 1st
svn path=/branches/hardons1stbranch/; revision=16794
2005-07-27 11:08:35 +00:00
Gunnar Dalsnes
9c6c715330 my 1st
svn path=/branches/hardons1stbranch/; revision=16793
2005-07-27 11:06:08 +00:00
Magnus Olsen
58f5ef812e fix a small bug, write out time like HH:MM:SS,ms as ms cmd does.
svn path=/trunk/; revision=16681
2005-07-21 16:28:20 +00:00
Hartmut Birr
0d62ee8f06 Set MmUserProbeAddress and MmHighestUserAddress according to the system range start.
svn path=/trunk/; revision=16680
2005-07-21 15:46:07 +00:00
Magnus Olsen
4ecc4b94c9 Fix copy /B filename + , , bug (touch) and fix whitespace for copy /B file + file + file2
by Brandon Turner

svn path=/trunk/; revision=16679
2005-07-21 14:15:42 +00:00
Magnus Olsen
c4341bddc3 Update with right reactos logo by mf
svn path=/trunk/; revision=16678
2005-07-21 13:55:36 +00:00
Thomas Bluemel
409e9165aa removed the ros-specific (and unused) functions ExRosDumpPagedPoolByTag, ExRosQueryPagedPoolTag and ExRosQueryPoolTag
svn path=/trunk/; revision=16677
2005-07-21 10:31:29 +00:00
Magnus Olsen
0da3627c3b add touch to copy by Brandon Turner
svn path=/trunk/; revision=16676
2005-07-21 10:03:01 +00:00
Alex Ionescu
c6262e3b0f - Freetype Update to 2.1.10. Reduces memory usage, increases speed and fixes drawing bugs.
- Enable Bytecode. Weird_W's fonts finally look humanly readable.

Thanks to Waxdragon for testing.
 
<http://www.freetype.org>

LATEST CHANGES BETWEEN 2.1.10 and 2.1.9

  I. IMPORTANT BUG FIXES

    - The size comparison for BDF and PCF files could fail sometimes.

    - Some  CFF files  were still not  loaded  correctly.   Patch from
      Derek Noonburg.

    - The stroker still had some serious bugs.

    - Boris  Letocha  fixed a  bug in  the  TrueType interpreter:  The
      NPUSHW instruction wasn't skipped correctly in IF clauses.  Some
      fonts like `Helvetica 75 Bold' failed.

    - Another  serious  bug  in  handling  TrueType hints  caused many
      distortions.  It has been introduced in version 2.1.8, and it is
      highly recommended to upgrade.

    - FreeType didn't properly parse empty Type 1 glyphs.
    
    - An unbound dynamic buffer growth was fixed in the PFR loader.
    
    - Several bugs have been fixed in the cache sub-system.

    - FreeType behaved incorrectly when resizing two distinct but very
      close character pixel sizes through `FT_Set_Char_Size' (Savannah
      bug #12263).
      
    - The auto-hinter didn't work properly for fonts without a Unicode
      charmap -- it even refused to load the glyphs.


  II. IMPORTANT CHANGES

    - Many fixes have been applied to drastically reduce the amount of
      heap   memory   used   by   FreeType,   especially   when  using
      memory-mapped font files  (which is the default on Unix  systems
      which support them).

    - The auto-hinter  has been replaced with a new module, called the
      `auto-fitter'.  It consumes  less memory  than its  predecessor,
      and it is  prepared to support non-latin scripts  better in next
      releases.

    - George Williams  contributed code to read  kerning data from PFM
      files.

    - FreeType   now   uses    the   TT_NAME_ID_PREFERRED_FAMILY   and
      TT_NAME_ID_PREFERRED_SUBFAMILY   strings   (if   available)  for
      setting  family  and  style in SFNT  fonts  (patch from Kornfeld
      Eliyahu Peter).

    - A  new  API `FT_Sfnt_Table_Info'  (in FT_TRUETYPE_TABLES_H)  has
      been added to retrieve name and size information of SFNT tables.

    - A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has
      been added to validate OpenType tables  (BASE, GDEF, GPOS, GSUB,
      JSTF).   After validation  it is  no longer  necessary to  check
      for errors in those tables while accessing them.

      Note that  this module might  be moved to another library in the
      future  to avoid  a tight  dependency between  FreeType and  the
      OpenType specification.

    - A new API in FT_BITMAP_H  (`FT_Bitmap_New', `FT_Bitmap_Convert',
      `FT_Bitmap_Copy',  `FT_Bitmap_Embolden',  `FT_Bitmap_Done')  has
      been added.   Its  use is  to convert an  FT_Bitmap structure in
      1bpp, 2bpp,  4bpp, or 8bpp  format into  another 8bpp FT_Bitmap,
      probably using a different pitch, and to further manipulate it.

    - A new  API `FT_Outline_Embolden'  (in FT_OUTLINE_H) gives  finer
      control how  outlines are embolded.

    - `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H)  now handles bitmaps
      also (code contributed  by Chia I Wu).  Note that this  function
      is still experimental and may be replaced with a better API.

    - The method  how BDF and PCF  bitmap fonts  are accessed has been
      refined.   Formerly,   FT_Set_Pixel_Sizes  and  FT_Set_Char_Size
      were  synonyms in  FreeType's  BDF and PCF interface.  This  has
      changed now.  FT_Set_Pixel_Sizes  should be  used to  select the
      actual  font dimensions  (the `strike',  which is the sum of the
      `FONT_ASCENT'    and    `FONT_DESCENT'    properties),     while
      FT_Set_Char_Size  selects  the  `nominal' size  (the `PIXELSIZE'
      property).  In both functions, the width parameter is ignored.


  III. MISCELLANEOUS

    - The BDF driver  no longer converts  all returned bitmaps  with a
      depth of 2bpp or 4bpp to a depth of 8bpp.  The documentation has
      not  mentioned  this  explicitly,  but  implementors  might have
      relied on this after looking into the source files.

    - A new option `--ftversion' has been  added to freetype-config to
      return the FreeType version.

    - The  memory  debugger  has  been  updated   to  dump  allocation
      statistics on  all allocation  sources in the library.   This is
      useful to  spot greedy  allocations when  loading and processing
      fonts.

    - We removed a huge array of constant pointers to constant strings
      in the `psnames' module.   The problem was that  compilations in
      PIC mode (i.e.,  when generating a  Unix shared object/dll)  put
      the array  into the non-shared  writable section of  the library
      since absolute pointers are not relocatable by nature.
      
      This reduces the memory consumption by approximately 16KByte per
      process linked  to FreeType.   We now also store  the array in a
      compressed form (as a trie) which saves about 20KByte of code as
      well.

    - Kirill  Smelkov provided  patches to make  src/raster/ftraster.c
      compile stand-alone again.

svn path=/trunk/; revision=16675
2005-07-21 04:38:26 +00:00
Alex Ionescu
e4549de4a3 - Fix "cd" usage when the initial directory is a directory right on top of the root drive. (Brandon Turner)
svn path=/trunk/; revision=16674
2005-07-21 03:26:42 +00:00
Thomas Bluemel
f479dd02aa - Removed the Rtlp* string functions from the shared rtl library since they don't make sense in umode
- Moved RtlpCreateUnicodeString to ntoskrnl for now, it however is depreciated but still used in various places
- Added RtlpAllocateMemory and RtlpFreeMemory for rtl memory allocations (from paged pool in ntoskrnl and from the process heap in ntdll) that replace the ExAllocatePool* and ExFreePool implementations in ntdll

svn path=/trunk/; revision=16673
2005-07-20 23:35:59 +00:00
Thomas Bluemel
7b6225c3b5 fixed kdbg build
svn path=/trunk/; revision=16672
2005-07-20 21:38:17 +00:00
Magnus Olsen
2e13f4640d fix more cmd goto bugs. found labels bugs, and search label bugs, param bugs. now it should work fine
svn path=/trunk/; revision=16671
2005-07-20 19:44:47 +00:00
Magnus Olsen
368f39faad fix another bug in goto it is internel label :eof jump to end of the bat file
svn path=/trunk/; revision=16670
2005-07-20 18:43:01 +00:00
Magnus Olsen
4365851492 fix one bug with cmd goto so WBAT will work bit more now. thx gasmann to report it.
svn path=/trunk/; revision=16668
2005-07-20 17:06:53 +00:00
Alex Ionescu
8e5b438930 - Final fix.
svn path=/trunk/; revision=16667
2005-07-20 15:56:24 +00:00
Alex Ionescu
9b3250ce17 - Fix one more breakage (funny, the thing built without it for me?!)
svn path=/trunk/; revision=16666
2005-07-20 15:21:52 +00:00
Alex Ionescu
3134614de5 - Fix afd build for real (sorry...rbuild...)
svn path=/trunk/; revision=16665
2005-07-20 14:46:24 +00:00
Alex Ionescu
7ba312f725 - Fix AFD Build.
svn path=/trunk/; revision=16664
2005-07-20 14:45:33 +00:00
Alex Ionescu
0e0a951483 Fix build; sorry, I was waiting for Filip.
svn path=/trunk/; revision=16663
2005-07-20 14:40:20 +00:00
Filip Navara
0be32fc8d7 Build fixes.
svn path=/trunk/; revision=16662
2005-07-20 07:48:10 +00:00
Filip Navara
5fa260d21f Get rid of windows.h include in win32k. Fixes bug #666.
svn path=/trunk/; revision=16661
2005-07-20 07:27:09 +00:00
Alex Ionescu
692af5f653 Dmitry Philippov <shedon@mail.ru>:
- Implemented FindFirstFileExW() and have removed InternalFindFirstFile() in /lib/kernel32/file/find.c, now FindFirstFileA (), FindFirstFileExA () and FindFirstFileW called FindFirstFileExW ()

NOTE: Filip has asked revision "16661" (the next one) to be done by him... sorry if this sounds silly, but please respect his wish :)

svn path=/trunk/; revision=16660
2005-07-20 04:43:12 +00:00
Alex Ionescu
e8ebef770f - Move rosdhcp_public.h to dhcp library include directory.
svn path=/trunk/; revision=16659
2005-07-20 03:50:50 +00:00
Alex Ionescu
86f7b177e0 - Deleted ddk folder
- Moved afd headers to driver include directory

svn path=/trunk/; revision=16658
2005-07-20 03:43:20 +00:00
Alex Ionescu
0452118dc0 - Created include/libs and moved all library headers there.
- Created include/drivers and moved driver headers there.
 - Brought back core.h as diskdump.h, and re-enabled diskdump...it seems even though I was told it doesn't work, it's still very much used.

svn path=/trunk/; revision=16657
2005-07-20 03:42:05 +00:00
Alex Ionescu
f7270f23c4 - Build cdfs, ntfs, vfatfs with PCH
- Remove core.h and disable diskdump driver (never worked, was told it's an abandonned, obsolete driver and I tend to agree.)
 - Rename ROS ntifs.h to ccros.h and moved to root include directory (where all the "temporary" includes are for now).
 - Moved ROS class2.h to drivers/storage/include, per my own and other's recommendation, to make it clear that it's a ros-intenral file only useful for low-level storage drivers (no 3rd party driver needs this, which is why MS doesn't export it).

svn path=/trunk/; revision=16656
2005-07-20 02:52:52 +00:00
Alex Ionescu
832b1aa035 - Move asm.h to NDK.
svn path=/trunk/; revision=16655
2005-07-20 00:33:06 +00:00
Magnus Olsen
3de4927bd6 fixing bug copy file c: by Brandon Turner
svn path=/trunk/; revision=16654
2005-07-19 23:44:22 +00:00
Magnus Olsen
f48a391bbd Make CMD rember startpath when you change from start drive to another drive.
svn path=/trunk/; revision=16653
2005-07-19 23:36:59 +00:00
Magnus Olsen
7928f042c0 Fix some pipe and revirt one erly change as harumt sugest. and add alot errorlevel most command handle the errorlevel right but it is alot work todo
svn path=/trunk/; revision=16652
2005-07-19 23:25:50 +00:00
Magnus Olsen
6e7d8b2e8d add ConErrMessage to deal with error msg and ConOutMessage for other msg. Copy error msg are always pipe with ConOut and CD error msg with ConErr. Thx harmut that remmid me about it. All error msg need to check if they goes with ConErr or ConOut
svn path=/trunk/; revision=16651
2005-07-19 22:48:35 +00:00
Alex Ionescu
73e69c9d9e - 4th out of 5 patch part of ROSRTL removal. This touches fibers:
* Support SxS when available (add new fiber member for this as well).
        * Support FLS when available.
        * Added new Fiber Members for new features in XP/2003 (GuaranteedStackBytes and FlsData)
        * Support FPU State Restore/Save in switch code.
        * Use new common stack/context initialization routines instead of ROSRTL.
        * Change Fiber structure to use CONTEXT directly in order to speed up and generalize
          context creation.
        * Fix BaseFiberStartup to send right parameters.

Note: not yet fully tested with fibertest, I will do this later today and fix any bugs.

svn path=/trunk/; revision=16650
2005-07-19 21:04:19 +00:00
Alex Ionescu
22ef1b4558 - Update ASM header file with more offsets.
svn path=/trunk/; revision=16649
2005-07-19 20:56:38 +00:00
Alex Ionescu
f25f86cc02 - Fix LDR_DATA_TABLE_ENTRY definition.
svn path=/trunk/; revision=16648
2005-07-19 20:55:13 +00:00
Casper Hornstrup
4a454cb7d6 Generate RPC interface headers in intermediate directory
svn path=/trunk/; revision=16647
2005-07-19 18:46:13 +00:00
Magnus Olsen
b44c46dccd Fix all bugs in cmd commands cd, make it rember the last directory for each drive. make c: working, make cd f f working. We can not found any more bugs cd rewriting was done by BrandonTurner and me, Brandon rewrite cmd_chdir and I add two functions that we will use for cd and other commands to get and set current drive path. The /D are also implement in CD
svn path=/trunk/; revision=16646
2005-07-19 18:15:32 +00:00
Eric Kohl
5b843df690 - Implement CM_Get_Depth[_Ex] and CM_Get_DevNode_Status[_Ex].
- Add dummy code for CM_Get_Child_Ex, CM_Get_Parent_Ex and CM_Get_Sibling_Ex. WIDL doesn't support this yet.

svn path=/trunk/; revision=16645
2005-07-19 15:57:30 +00:00
Aleksey Bragin
4e94521b41 usb stack "upgrade", fixes issues with timing, host controller reset, new devices discovery, other small things (better to see diff :) ).
svn path=/trunk/; revision=16644
2005-07-19 14:11:53 +00:00
Aleksey Bragin
1e4f24a1e8 usbcore "upgrade", fixes issues with timing, host controller reset, new devices discovery, other small things (better to see diff :) ).
svn path=/trunk/; revision=16643
2005-07-19 14:06:19 +00:00
Aleksey Bragin
52d68cf938 Implemented needed DMA functions (pool alloc/free, create/destroy, map/unmap single), manipulations with timers (schedule_timeout, schedule_wait).
svn path=/trunk/; revision=16642
2005-07-19 13:19:04 +00:00
James Tabor
8e78ac6a62 Implement GdiGetCharDimensions by Robert Shearman rob@codeweavers.com.
svn path=/trunk/; revision=16641
2005-07-19 11:18:40 +00:00
James Tabor
6f5624c2a4 Fixup UnrealizeObject so it can return the correct state for a Brush Object.
svn path=/trunk/; revision=16640
2005-07-19 03:13:11 +00:00
Magnus Olsen
a6fd14c5c8 Cd does rember the cd c:\gcc and you can do c:
and it jump to c:\gcc not tested in reactos yet. but cd have other bugs that need to be fix. 

svn path=/trunk/; revision=16639
2005-07-19 01:55:16 +00:00
Magnus Olsen
3925d142b0 make GetRootPath bit smarter
svn path=/trunk/; revision=16638
2005-07-19 01:36:54 +00:00
Magnus Olsen
758d835b13 make GetRootPath bit faster if it does not get a drive name with :
svn path=/trunk/; revision=16637
2005-07-18 23:04:39 +00:00
Magnus Olsen
07a3a7ec8e add a new interal function call GetRootPath(TCHAR *InPath,TCHAR *OutPath,INT size) it get the a driver current path without change the current driver directory, it is not in use yet, prep for copy, cd, rm, and all other commands.
svn path=/trunk/; revision=16636
2005-07-18 22:44:13 +00:00
Alex Ionescu
ce7fb8c1b9 - Fix nasty APC delivery bug (in case a Kernel-Mode Special APC still returned with a Normal Routine, the Normal Routine was called with incorrect values (Special Routines take PVOID* arguments, while Normal Routines do not!))
- Remove APC from list before setting it to non-inserted.
 - Do proper thread termination piggybacking; terminate threads in user-mode as Hartmut correctly fixed.

svn path=/trunk/; revision=16635
2005-07-18 19:50:23 +00:00
Hartmut Birr
269fab698e Removed the message also from the senders queue (in MsqCleanupMessageQueue).
svn path=/trunk/; revision=16634
2005-07-18 15:05:58 +00:00
Hervé Poussineau
b9edb4f6e3 Forward more exports to setupapi.dll
svn path=/trunk/; revision=16633
2005-07-18 14:10:56 +00:00
Hervé Poussineau
08711eda61 Move serial ports and mice classes parameters to their own .inf files. They would be regenerated during 2nd stage setup
svn path=/trunk/; revision=16632
2005-07-18 11:57:16 +00:00
Hervé Poussineau
02b9843370 Implement SetupDiGetDeviceRegistryPropertyA/W
Change the way devices are enumerated in SetupDiGetClassDevsExW. Now, it enumerates subkeys of HKLM\SYSTEM\CurrentControlSet\Enum instead of HLKM\SYSTEM\CurrentControlSet\Control\Class ones.
Free the temp buffer in SetupDiGetDeviceRegistryPropertyA only when it is no more usefull
Replace RegOpenKeyEx by RegOpenKeyExW

svn path=/trunk/; revision=16631
2005-07-18 07:17:53 +00:00
James Tabor
d09f528ad2 Implement ShowOwnedPopups and ArrangeIconicWindows. Based on Wine. More work is needed on both.
svn path=/trunk/; revision=16630
2005-07-18 03:13:11 +00:00
James Tabor
35b93a79d6 Implement ShowOwnedPopups and ArrangeIconicWindows. Based on Wine.
svn path=/trunk/; revision=16629
2005-07-18 03:12:01 +00:00
Thomas Bluemel
0825640a24 fixed signed/unsigned comparison warning
svn path=/trunk/; revision=16628
2005-07-17 19:20:12 +00:00
Hartmut Birr
53f97f1bee If the user mode is intercepted by an interrupt, we must deliver user mode apc's.
svn path=/trunk/; revision=16627
2005-07-17 18:36:01 +00:00
Hartmut Birr
2adf26048d - PsKillMostProcesses must be running in the context of the system process.
- The thread terminating apc is a special user mode apc.

svn path=/trunk/; revision=16626
2005-07-17 18:34:23 +00:00
Hartmut Birr
d3493295ab Request the APC_INTERRUPT for the correct processor on smp machines.
svn path=/trunk/; revision=16625
2005-07-17 18:27:46 +00:00
Hartmut Birr
d40d2d7c83 Initialized SetMember as mask of the current processor.
svn path=/trunk/; revision=16624
2005-07-17 18:11:08 +00:00
Hartmut Birr
08e09be28a Changed the type of SetMember within KPRCB structure.
svn path=/trunk/; revision=16623
2005-07-17 18:08:19 +00:00
Hervé Poussineau
6d83f83840 Implement SetupDiGetDeviceInterfaceDetailA/W
svn path=/trunk/; revision=16622
2005-07-17 15:57:41 +00:00
Casper Hornstrup
ad59c91e1b Clean referenced object libraries when cleaning a module
svn path=/trunk/; revision=16621
2005-07-17 15:10:03 +00:00
Hervé Poussineau
d3d7a7f34b Return CR_FAILURE when the function is not implemented
Call the right *_Ex function in CM_Get_Child and CM_Get_Parent

svn path=/trunk/; revision=16620
2005-07-17 14:09:57 +00:00
Hervé Poussineau
28cb187427 Add registry key for PNP root device
svn path=/trunk/; revision=16619
2005-07-17 13:56:22 +00:00
Martin Fuchs
b635d34a4f fix build of ctm
svn path=/trunk/; revision=16618
2005-07-17 13:14:44 +00:00
Martin Fuchs
9c93090a1f replace TIME struct by LARGE_INTEGER
svn path=/trunk/; revision=16617
2005-07-17 12:51:28 +00:00
Martin Fuchs
2a0636a4ef fix ndk header usage
svn path=/trunk/; revision=16616
2005-07-17 12:50:56 +00:00
Martin Fuchs
85da1524b5 fix argc type
svn path=/trunk/; revision=16615
2005-07-17 12:31:31 +00:00
Martin Fuchs
2210ddb826 replace old <defines.h> by <windows.h>
svn path=/trunk/; revision=16614
2005-07-17 12:31:16 +00:00
Martin Fuchs
583ed2bdab replace old <defines.h> by <windows.h>
svn path=/trunk/; revision=16613
2005-07-17 12:30:09 +00:00
James Tabor
56d1785ca5 Implemented NtUser-GetMenuItemRect.
svn path=/trunk/; revision=16612
2005-07-17 12:26:24 +00:00
Filip Navara
612346a8b7 DPC stands for Deferred Procedure Call.
svn path=/trunk/; revision=16611
2005-07-17 12:24:15 +00:00
Casper Hornstrup
07e1646825 Avoid GNU make warnings
svn path=/trunk/; revision=16610
2005-07-17 11:15:55 +00:00
Casper Hornstrup
a04a10667a Add missing directory tag
svn path=/trunk/; revision=16609
2005-07-17 11:07:14 +00:00
Casper Hornstrup
d4ff3d81a2 Prepare cmd for testing
svn path=/trunk/; revision=16608
2005-07-17 10:57:38 +00:00
Martin Fuchs
92106004ec add explorer-ro.rc
svn path=/trunk/; revision=16607
2005-07-17 10:40:43 +00:00
Casper Hornstrup
acbcf1c29a Fix building of tests
svn path=/trunk/; revision=16605
2005-07-17 10:20:18 +00:00
Martin Fuchs
49c3197c28 remove winfile - it's superseded by winefile.
svn path=/trunk/; revision=16604
2005-07-17 09:56:38 +00:00
Eric Kohl
108c748343 - Implement CM_Locate_DevNode_ExW, CM_Get_Device_ID_Size[_Ex] and CM_Get_Device_ID[_Ex]W.
- Add flags for CM_Get_Global_State[_Ex].

svn path=/trunk/; revision=16603
2005-07-17 09:43:54 +00:00
Hartmut Birr
b4d21f4107 Fixed the determining of the file from the output redirection.
svn path=/trunk/; revision=16602
2005-07-17 07:02:20 +00:00
Magnus Olsen
14733418a7 /D /Z are implement in ros cmd copy by BrandonTurner but reactos CopyFile and CopyFileEx does not support it yet, for /D are COPY_FILE_ALLOW_DECRYPTED_DESTNATION for decypt the file when it copy to dest and /Z are COPY_FILE_RESTARTABLE for network. so it is working in windows
svn path=/trunk/; revision=16601
2005-07-17 00:44:33 +00:00
Magnus Olsen
0f1a1d9269 add CopyFileEx flags #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION, COPY_FILE_FAIL_IF_EXISTS, COPY_FILE_RESTARTABLE, COPY_FILE_OPEN_SOURCE_FOR_WRITE
svn path=/trunk/; revision=16600
2005-07-16 23:44:16 +00:00
Eric Kohl
9ebf08eac5 - For bugs for in-string parameters.
- Implement out-string parameters (untested).

svn path=/trunk/; revision=16599
2005-07-16 23:21:36 +00:00
Hartmut Birr
b0c939bf13 Used the kernel base address from the loader structure instead MmSystemRangeStart.
MmSystemRangeStart isn't the base address with the 3GB switch.

svn path=/trunk/; revision=16597
2005-07-16 13:01:18 +00:00
Hartmut Birr
ada13b04e0 Replaced KERNEL_BASE by MmSystemRangeStart.
svn path=/trunk/; revision=16596
2005-07-16 12:35:34 +00:00
Magnus Olsen
5ec1eff5db crop mf logo to 30x280 and it showing right rember do not design higher that 280 on the startmenu logo change.
svn path=/trunk/; revision=16595
2005-07-16 12:18:16 +00:00
Jens Collin
431d4a6295 GetMenuStringA and GetMenuStringW inverted the MF_BYPOSITION parameter. Buffers were incorrectly copied in and wrong size returned in GetMenuItemInfoA ansi-structures.
GetMenuString now works the same on both windows and ROS.

svn path=/trunk/; revision=16594
2005-07-16 11:45:28 +00:00
Maarten Bosma
5638b3729f HUMA2000: Spanish translation
svn path=/trunk/; revision=16593
2005-07-16 10:23:10 +00:00
Hartmut Birr
6088c647a3 - Fixed the size of the hyperspace area (thanks to Filip Navara).
- Enabled Pae mode in freeldr if it is requested.

svn path=/trunk/; revision=16592
2005-07-16 09:01:07 +00:00
Magnus Olsen
6d92ae56c6 part1 of move bug from a volume to another have been solve, the part two are in Reactos MoveFileEx
svn path=/trunk/; revision=16591
2005-07-15 19:15:59 +00:00
Magnus Olsen
eb4fb35571 I should not write code when it is hot outside
clean up a if statement for realloc

svn path=/trunk/; revision=16590
2005-07-15 18:38:01 +00:00
Magnus Olsen
6850597254 in cress COPYCMD param search speed before w3seek does it
svn path=/trunk/; revision=16589
2005-07-15 18:31:42 +00:00
Magnus Olsen
8aa7fc3fb8 last try to fix NULL bug
svn path=/trunk/; revision=16588
2005-07-15 18:25:03 +00:00
Magnus Olsen
8b10660c85 last bugfix did forget use tchar * 512 in malloc I did only use 512 in malloc
svn path=/trunk/; revision=16587
2005-07-15 18:21:17 +00:00
Magnus Olsen
486636c37b did forget check malloc and realloc was NULL and set size to zero. thx w3seek that did see this mistake
svn path=/trunk/; revision=16586
2005-07-15 18:18:40 +00:00
Magnus Olsen
023ebef222 implement $s
svn path=/trunk/; revision=16585
2005-07-15 17:46:26 +00:00
Magnus Olsen
199110e78f bug fix $t so it write out time instead for "current time is xxxxxxx" not it write the time. bug fix $h so it did jump back and erase the char that was there before.
svn path=/trunk/; revision=16584
2005-07-15 17:31:12 +00:00
Magnus Olsen
81517874a0 crop the height of mf new logo so it show right
svn path=/trunk/; revision=16583
2005-07-15 15:31:14 +00:00
Hartmut Birr
050b5c1946 Revert my last commit (r16578).
svn path=/trunk/; revision=16582
2005-07-15 15:30:23 +00:00
Magnus Olsen
9f9dfd53cf revert back startmenu.cpp the change are not complite for mf new logo
svn path=/trunk/; revision=16581
2005-07-15 15:25:34 +00:00
Magnus Olsen
03a11e092f update swedish .rc and rename it from sw to sv, remove the german part in swedish rc. all swedish rc should have sv,
svn path=/trunk/; revision=16580
2005-07-15 15:22:26 +00:00
Magnus Olsen
97d546c77a Forget set some error level and some msg that should have goto ConOut not to ConErr so pipe are working with thuse msg
svn path=/trunk/; revision=16579
2005-07-15 14:50:46 +00:00
Hartmut Birr
bde6eea1e8 Fixed a test condition in IntWaitMessage.
svn path=/trunk/; revision=16578
2005-07-15 14:40:47 +00:00
Hartmut Birr
dfaed2eb99 Returned STATUS_NOT_IMPLEMENTED for requests other than read or write.
svn path=/trunk/; revision=16577
2005-07-15 14:29:58 +00:00
Magnus Olsen
e75662b821 fix a bug from me in COPYCMD check code it was two /V
it should only have been one /N = short file name (dos 8.3 file mname not /S) 

svn path=/trunk/; revision=16576
2005-07-15 14:18:45 +00:00
Magnus Olsen
84dc5b02f3 fix errorlevel for copy. left to do is /D = copy encrypte file and decypte to destinations (NT3.51) /S = make destfile name 8.3 compatible (NT3.51) /Z = restart copy if it fails
svn path=/trunk/; revision=16575
2005-07-15 14:12:48 +00:00
Magnus Olsen
2e307cf29e Add environment variable COPYCMD to copy
svn path=/trunk/; revision=16574
2005-07-15 13:51:38 +00:00
James Tabor
cc3f2972eb Fix up WM_ENABLE ScrollBarWndProc. Looks like we can disable and enable SB Ctrls.
svn path=/trunk/; revision=16573
2005-07-15 11:46:38 +00:00
James Tabor
2aed25b015 Fixed wParam in WM_ENABLE ScrollBarWndProc.
svn path=/trunk/; revision=16572
2005-07-15 02:16:12 +00:00
James Tabor
3c13baae03 Fixing WM_ENABLE ScrollBarWndProc. Tested it with 7-Zip, AbiWord, RegEdit and Winefile, all seem not to use it. Please test this.
svn path=/trunk/; revision=16571
2005-07-15 01:42:22 +00:00
Thomas Bluemel
a8f77a38bd don't allow changing the allow and deny checkbox state to checked at the same time
svn path=/trunk/; revision=16569
2005-07-14 21:57:57 +00:00
Hartmut Birr
f0300f5044 Mark the DispatchingListEntry as removed (in MsqSendMessage).
svn path=/trunk/; revision=16568
2005-07-14 21:07:14 +00:00
Magnus Olsen
2032b01e66 fix the second bug for 1>text.txt pipe
svn path=/trunk/; revision=16567
2005-07-14 20:51:39 +00:00
Magnus Olsen
3a00c096a3 fix echo osd 1>text: bug now it should pipe instead it is printing text out text on the screen. need to found the second bug now. but now this pipe are implement.
svn path=/trunk/; revision=16566
2005-07-14 20:26:37 +00:00
Magnus Olsen
98d6ba9ebf std_output does handle the : as ms does at pipe and we have also extend it to handle >test.txt: that is not vaild on ms but it should need more code to handle the : as ms does. we can call it reactos extend at cmd
svn path=/trunk/; revision=16564
2005-07-14 19:18:37 +00:00
Magnus Olsen
a292f28ef5 Change some error msg from ConErr to ConOut for they are being pipe so the behover are equal with ms windows cmd
svn path=/trunk/; revision=16563
2005-07-14 18:39:07 +00:00
Magnus Olsen
3aae85b431 Fix a weird bug in piping in some case if you pipe to no exists >pipe: then to a exists >pipe: it did make cmd crash for createfile only SetLastErrror when it fails. and the old one was in the loop. to solv it is to rest the GetLastError code before it is call.
svn path=/trunk/; revision=16562
2005-07-14 18:16:57 +00:00
Magnus Olsen
521a302ab8 Brandon Turner turnerb7@msu.edu Rewrite to clean up copy and support wildcard. and alot of other small bugfix, like does not crash when a file does not exists.
svn path=/trunk/; revision=16561
2005-07-14 14:51:35 +00:00
James Tabor
ad6a045f5b Typo fix. I was thinking oct not dec.
svn path=/trunk/; revision=16560
2005-07-14 00:27:53 +00:00
James Tabor
be123f5a26 Implemented VkKeyScan, GetKeyboardTypeand, GetKeyboardLayout and some Wine ports.
svn path=/trunk/; revision=16559
2005-07-13 23:22:20 +00:00
James Tabor
f84f0b7a10 Implemented VkKeyScan, GetKeyboardTypeand GetKeyboardLayout.
svn path=/trunk/; revision=16558
2005-07-13 23:19:59 +00:00
Hartmut Birr
537bcb48fa Fixed the allocation of the buffer for the environment variable in ProcessInput.
svn path=/trunk/; revision=16557
2005-07-13 17:59:37 +00:00
Hartmut Birr
7a0a377edd Fixed a bug in IsConsoleHandle which was introduced by r16540.
svn path=/trunk/; revision=16556
2005-07-13 17:32:39 +00:00
Thomas Bluemel
d31647b31f only NULL-terminate the string in GetEnvironmentVariableW if the buffer size is greater than 0. Thanks to Joseph Galbraith for the hint
svn path=/trunk/; revision=16555
2005-07-13 16:36:24 +00:00
Alex Ionescu
698dee2b87 Fix macro to be optimized out, thanks to Filip
svn path=/trunk/; revision=16554
2005-07-13 15:46:59 +00:00
Thomas Bluemel
a56f2840b3 handle memory allocation errors in GetEnvironmentVariable() and ensure the string is always null-terminated
svn path=/trunk/; revision=16553
2005-07-13 15:09:52 +00:00
Art Yerkes
90be5e4d9b stop exporting MmCopyFromCaller and kin and make a local version in the
last place we use it, now based on SEH.
we'll remove the copy from caller hack from ntoskrnl soon.

svn path=/trunk/; revision=16552
2005-07-13 08:48:49 +00:00
Alex Ionescu
5f9eec4d04 fix bizarre build error
svn path=/trunk/; revision=16551
2005-07-13 02:45:53 +00:00
Alex Ionescu
2c8f96ecf4 Silence more warnings. Patch by Waxdragon.
svn path=/trunk/; revision=16550
2005-07-13 02:02:08 +00:00
Alex Ionescu
c855fc1edb Expand the wine debug macros in all cases. the actual code will get optimized away, but the variables will appear in use. removes about 100-150 warnings. also fix hidden build breakages when the macros are actually used. thanks to art
svn path=/trunk/; revision=16549
2005-07-13 01:41:13 +00:00
Alex Ionescu
c01f0050df Fix executing applications. Sorry for the delay, this was like finding a needle in a hay stack. Gotta love splitting patches..
svn path=/trunk/; revision=16548
2005-07-13 00:11:11 +00:00
Casper Hornstrup
6f84809a47 Add copyright notices and GPL headers to rbuild
svn path=/trunk/; revision=16547
2005-07-12 16:47:34 +00:00
Casper Hornstrup
b8be54888b Have nci output files depend on input files
svn path=/trunk/; revision=16546
2005-07-12 16:11:30 +00:00
Casper Hornstrup
1f9b723f25 Install freeloader installer.
svn path=/trunk/; revision=16545
2005-07-12 15:04:17 +00:00
Eric Kohl
5e61398fc3 Add CM_Get_Global_State and CM_Get_Global_State_Ex prototypes.
svn path=/trunk/; revision=16544
2005-07-12 12:29:25 +00:00
Alex Ionescu
358a2167ab Part three of patch...
- Created utils.c for the following new functions:
        * BasepCreateStack - Creates a stack for a Thread or Fiber
        * BasepInitializeContext - Initializes the Context for a Process, a Thread, or a Fiber
        * BasepConvertObjectAttributes - Creates a OBJECT_ATTRIBUTES structure based on Win32
                                         lpSecurityAttributes and name.
        * BasepFreestack - Frees the stack created in case of a failure inside code using it.
        * BasepMapFile - Converts a Win32 Path to NT Path and maps a file into a section.
        * Base 8-bit String conversion functions - Use new, more efficient way to select
          between OEM/ANSI strings, based on MSDN Article by Matt Pietrek. Other code needs
          to be chand to use them.
Also added the new ASM for the startup thunks. All of this is still unused and only being committed to simply the diff output. Credits go to Matt Pietrek and his excellent MSDN article for the 8-bit conversion functions and implementaion details.

svn path=/trunk/; revision=16543
2005-07-12 05:00:33 +00:00
Alex Ionescu
e6523bb71e Second part of patch, implements the new RTL functions which will be used (not used by kernel yet).
- RtlCreateUserProcess:
        * Created RtlpInitEnvironment to manage Environment Block creation. Rougly based on
          old KlInitPeb code but with some optimizations.
        * Don't ignore Process Security Descriptor if one was specified.
        * Don't ignore ZeroBits, get correct entrypoint, and don't assume PEB address.
        * Don't close handle of section before closing process handle on failure.
        * Support new undocumented flag which pre-allocates 1MB of memory for Native Processes
        * FIXME: Hande duplication should be done, but wasn't and still isn't.
    
    - RtlpCreateUserStack:
        * New function to create a stack for a Thread, similar to BasepCreateStack but
          has some differences related to StackCommit/StackReserve.
        * Also create Guard Page
        
    - RtlpFreeUserStack:
        * Undoes what the function above does, in case of failure in code using it.
        
    - RtlCreateUserThread:
        * Use the new functions instead of rosrtl.
        
    - RtlInitializeContext:
        * New function similar to BasepInitializeContext but;
            > Uses a single entrypoint, not many possible thunks like Kernel32 (no need)
            > The starting EFLAGS is Interrupts Enabled, not IOPL 3.
            > We don't initialize the same Context Flags
            > The initial context registers are different
            
    - RtlFreeUserThreadStack
        * Don't assume the TEB address
          
    - RtlExitUserThread
        * Remove deprecated stack-switching semantics and use new TEB flag to tell the Kernel
          to deallocate the stack for us.

svn path=/trunk/; revision=16542
2005-07-12 04:41:41 +00:00
James Tabor
36a1230e2b Start integrating and implementing key board functions. More Wine porting with ROS.
svn path=/trunk/; revision=16541
2005-07-12 02:45:33 +00:00
Alex Ionescu
a10ed009b7 Partial patch of larger rosrtl removal patch. This one merely is a structure fix patch, and renames/corrects RTL_USER_PROCESS_INFORMATION (which had the totally wrong names) as well as updates the TEB to the latest version. It also fixes SECTION_IMAGE_INFORMATION to have the right format and names. Also, some callers of CreateProcessW are modified to not send a constant string as lpCommandLine (this was illegal and will crash on Windows/my patch). INITIAL_TEB was also renamed to the more correct fields, although they won't make sense with the current rosrtl/rtl implementation, the names will only make sense with the next patch. Finally NtTerminateThread was fixed to support sending NULL as handle, and PspExitThread was updated to work with the new FreestackOnExit flag, both of which will be used in the next patch.
svn path=/trunk/; revision=16540
2005-07-12 01:56:14 +00:00
Filip Navara
e36f90a9f9 Move Interlocked* routines from ROSRTL to separate INTRLCK library since ROSRTL is going to be removed.
svn path=/trunk/; revision=16539
2005-07-11 23:32:55 +00:00
Thomas Bluemel
fcc95c66a8 return the length of the string excluding the null-termination character on success in GetEnvironmentVariable(). Thanks to Hartmut.
svn path=/trunk/; revision=16536
2005-07-11 20:30:33 +00:00
Hartmut Birr
9b991b83fd Check for a valid console handle in SetConsoleMode.
svn path=/trunk/; revision=16535
2005-07-11 18:22:53 +00:00
Alex Ionescu
eb4f7c8b2f IPConfig Rewrite (Tim Jobling <tjob800@yahoo.co.uk>)
*  Relicense to GPL. 
    *  Display NodeType with meaningfull Human readable names.
    *  Exclusively use TCHAR strings.
    *  Display Physical Address, DHCP enabled state, IP Addresses/Netmasks,
    *  Default Gateway, DHCP server and DHCP Lease times.
    *  Parse command line options.
    *  Default to only showing the IP/SM/DG is no options specified
    *  Handel option: /All and /?
    *  Display message about all unimplemented options.
    *  Changed C++ style commenting to C style

svn path=/trunk/; revision=16534
2005-07-11 17:55:15 +00:00
Gé van Geldorp
34fd8c7135 Sebastian Gasiorek <zebasoftis@gmail.com>
Polish resource files

svn path=/trunk/; revision=16533
2005-07-11 07:51:09 +00:00
James Tabor
c81ba78f7b Connect UnrealizeObject and test debug prints. I assume arg count is one not two. If wrong please correct me.
svn path=/trunk/; revision=16532
2005-07-11 04:56:04 +00:00
James Tabor
6a38a2f69d Fix error return for WIN_ListChildren.
svn path=/trunk/; revision=16531
2005-07-11 02:43:24 +00:00
Magnus Olsen
5c73d34569 forget clean up after me
svn path=/trunk/; revision=16530
2005-07-10 22:23:00 +00:00
Magnus Olsen
58d41e3c76 second try, thx w3seek found out it should be charterer not byte
svn path=/trunk/; revision=16529
2005-07-10 22:19:57 +00:00
Magnus Olsen
e43573196c The return size calculation's of GetEnvironmentVariable string was wrong. Thx to <Bizzy_D> to find out cd %windir% did not work. Now it will
svn path=/trunk/; revision=16528
2005-07-10 22:12:07 +00:00
Gé van Geldorp
67af25e720 i386DX . <i386dx@hotmail.com>
Belgian (point/Flemish) keyboard layout

svn path=/trunk/; revision=16527
2005-07-10 22:05:48 +00:00
Magnus Olsen
fe2f78c54c quick dirty hack getting our copy working with 1>null by me
so we can create reactos iso on ros. bug reported by harteex and Brandon Turner, thanks to Brandon to hunt down where the bug was. 

svn path=/trunk/; revision=16526
2005-07-10 21:26:51 +00:00
Eric Kohl
a5b363cd94 - Implement CM_Get_Global_State/CM_Get_Global_State_Ex.
- All RPC-Calls to umpnpmgr return CONFIGRET.

svn path=/trunk/; revision=16525
2005-07-10 11:49:10 +00:00
Eric Kohl
de63015392 Fix a string length calculation bug in StringTableDuplicate.
svn path=/trunk/; revision=16524
2005-07-09 15:22:07 +00:00
Aleksey Bragin
122bcd196f Add dependence from pnp_client also, since in fact it uses it (includes pnp_c.h). It worked before only because lib/setupapi depends on pnp_c, and it's build earlier than umpnpmgr.
svn path=/trunk/; revision=16523
2005-07-09 13:23:05 +00:00
Thomas Bluemel
97679e7210 fixed the prototypes of GetConsoleAlias, GetConsoleAliasExes and GetConsoleAliasesLength
svn path=/trunk/; revision=16522
2005-07-09 10:31:30 +00:00
James Tabor
c0fb7448b1 Implement MDICascade, MDITile and WIN_ListChildren. This will help Winefile cascade and tile windows. WIN_ListChildren is tmp located here in mdi.c for now.
svn path=/trunk/; revision=16521
2005-07-09 08:54:43 +00:00
Casper Hornstrup
6c73106dfd Don't rebuild the module if a library is changed. Relinking the module is enough.
svn path=/trunk/; revision=16520
2005-07-09 07:50:48 +00:00
James Tabor
5dd6792d1d Fix masking.
svn path=/trunk/; revision=16519
2005-07-09 05:21:10 +00:00
James Tabor
ff7e7c8ae6 Kill debug print out.
svn path=/trunk/; revision=16518
2005-07-09 04:54:01 +00:00
James Tabor
7022204505 Implement ModifyMenu A & W.
svn path=/trunk/; revision=16517
2005-07-09 04:23:34 +00:00
James Tabor
b2bf468fad Implement GetMenuString A & W. Not fully tested.
svn path=/trunk/; revision=16516
2005-07-09 04:19:35 +00:00
James Tabor
5e3cc7bc94 Implement CheckMenuRadioItem. Not fully tested.
svn path=/trunk/; revision=16515
2005-07-09 04:15:44 +00:00
James Tabor
6b36fb6848 Implement DrawMenuBar.
svn path=/trunk/; revision=16514
2005-07-09 04:11:36 +00:00
Casper Hornstrup
91269f987b Check automatic dependencies of referenced object library modules on make <module>_depends
svn path=/trunk/; revision=16513
2005-07-08 19:55:30 +00:00
Thomas Bluemel
876fc32e53 Fixed enumerating the drive strings in SetupCreateDiskSpaceListW
svn path=/trunk/; revision=16512
2005-07-08 19:51:37 +00:00
Thomas Bluemel
d556da508d allocate enough memory for strings, lstrlenW returns the length of the string in characters, not bytes.
svn path=/trunk/; revision=16511
2005-07-08 19:21:28 +00:00
KJK::Hyperion
4c9e39ee83 PE loader: corrected an assertion (fixes bug reported by GvG), added a sanity check, return STATUS_INVALID_IMAGE_PROTECT in case of unrecognized PE signature (to match Windows behavior), removed evil STATUS_UNSUCCESSFUL, corrected successful return code
Memory manager: return STATUS_INVALID_IMAGE_NOT_MZ when no loader accepts the format (to match Windows behavior)

svn path=/trunk/; revision=16510
2005-07-08 16:37:07 +00:00
James Tabor
622c4d86e9 Implement NtUserGetAsyncKeyState and support for TrackMouseEvent.
svn path=/trunk/; revision=16509
2005-07-08 12:16:47 +00:00
James Tabor
6c4cbed9a2 Implement TrackMouseEvent.
svn path=/trunk/; revision=16508
2005-07-08 12:15:07 +00:00
James Tabor
e6ce20818e Add defines for TrackMouseEvent.
svn path=/trunk/; revision=16507
2005-07-08 12:13:23 +00:00
Gé van Geldorp
a340c27ec1 zebasoftis <zebasoftis@gmail.com>:
Polish Resource File for setupapi

svn path=/trunk/; revision=16506
2005-07-08 09:01:23 +00:00
Gé van Geldorp
d3558a7c23 zebasoftis <zebasoftis@gmail.com>:
Polish Resource File for user32

svn path=/trunk/; revision=16505
2005-07-08 08:56:07 +00:00
Gé van Geldorp
8895954185 zebasoftis <zebasoftis@gmail.com>
Polish Resource File for desk.cpl

svn path=/trunk/; revision=16504
2005-07-08 08:50:46 +00:00
James Tabor
953b49324b Kill debug messages.
svn path=/trunk/; revision=16503
2005-07-08 02:06:33 +00:00
James Tabor
31c9627540 Add MIIM_BITMAP & MNS_CHECKORBMP support in menu. Based on Wine port.
svn path=/trunk/; revision=16502
2005-07-07 23:29:53 +00:00
Hervé Poussineau
74346861b0 Minimize differences between GCC and MSVC in header file
Don't define SR_MSR_DSR as it already exists under the name SERIAL_DSR_STATE
Remove $Id: tags

svn path=/trunk/; revision=16501
2005-07-07 23:10:35 +00:00
Magnus Olsen
daafc242e6 Set right %ERRORLEVEL% value, fixing end of line for /? after implement of page break.
svn path=/trunk/; revision=16500
2005-07-07 22:27:30 +00:00
Hervé Poussineau
f7289e9d4a Add missing registry entries for serial ports
svn path=/trunk/; revision=16499
2005-07-07 22:23:26 +00:00
Magnus Olsen
19b47127b0 Set right %ERRORLEVEL% value, fixing end of line for /? for most commands after implement of page break.
svn path=/trunk/; revision=16498
2005-07-07 20:41:13 +00:00
Hartmut Birr
93fc422f43 Fixed a bug which was introduced by r16441.
svn path=/trunk/; revision=16497
2005-07-07 19:54:25 +00:00
Magnus Olsen
2bd961bd1d set right value of %ERRORLEVEL% for vol
svn path=/trunk/; revision=16496
2005-07-07 19:51:09 +00:00
Magnus Olsen
bff830321b add %CMDEXTVERSION% example to use it echo %CMDEXTVERSION% the value are hardcode to 2. for it is that value ms win2k / winxp report back. thx arty to test it in win xp.
svn path=/trunk/; revision=16495
2005-07-07 19:26:46 +00:00
Magnus Olsen
610ec85471 adding %cmdcmdline%, example how to use it echo %CMDCMDLINE%
svn path=/trunk/; revision=16494
2005-07-07 19:16:46 +00:00
Martin Fuchs
497eba8519 Sync to Wine:
- switch to UNICODE compilaton in Wine
- remove separate unixcalls.c file
- don't crash in set_curdir() for NULL in the 'entry' pointer

svn path=/trunk/; revision=16493
2005-07-07 18:44:08 +00:00
Magnus Olsen
dfcc16249d Did forget instate in for loop the patternX, the right way. thx GvG to spot it and tell me how to fix.
svn path=/trunk/; revision=16492
2005-07-07 18:21:44 +00:00
Martin Fuchs
c2db525161 Jonathan Ernst <Jonathan@ErnstFamily.ch>
Updated winefile French resources.

svn path=/trunk/; revision=16491
2005-07-07 18:07:40 +00:00
Magnus Olsen
7d58c61349 move PatternX initiate calculation out from for loop, it should have been outside of the for loop.
svn path=/trunk/; revision=16490
2005-07-07 17:54:50 +00:00
Magnus Olsen
5620de4ea7 adding %RANDOM% example how to use it echo %random%
svn path=/trunk/; revision=16489
2005-07-07 17:09:56 +00:00
Filip Navara
ac3457f145 #include "precomp.h" -> #include <precomp.h>
svn path=/trunk/; revision=16488
2005-07-07 16:45:42 +00:00
Hervé Poussineau
71183fb50d Enumerate serial interfaces by calling QueryDosDevice on Wine
Wine-ify th whole file by removing the L"..." strings, by using debugstr_w(), ...

svn path=/trunk/; revision=16487
2005-07-07 16:32:34 +00:00
Magnus Olsen
7d472ee662 Fix bug "mv foo.txt c:\temp gives you c:\tempfoo.txt" by Brandon Turner
svn path=/trunk/; revision=16486
2005-07-07 16:22:45 +00:00
Magnus Olsen
4e39fcafa0 add %DATE% example echo %date% are working now. Bugfix date so it print out the week days names.
svn path=/trunk/; revision=16485
2005-07-07 16:06:43 +00:00
Gé van Geldorp
d7990aa664 Sync to Wine-20050628:
Alexandre Julliard <julliard@winehq.org>
- Sort entry points in the same order as Windows.
- Added magic comments to all Wine-specific registry accesses to make
  them easier to grep.

svn path=/trunk/; revision=16484
2005-07-07 15:05:36 +00:00
Magnus Olsen
4fedfe1bf7 add %time% and %cd% internal value. Example echo %cd% or echo %time%.
svn path=/trunk/; revision=16483
2005-07-07 13:43:03 +00:00
Magnus Olsen
5aa3039278 Update command help text with \n at the end of the text
svn path=/trunk/; revision=16482
2005-07-07 11:44:15 +00:00
Magnus Olsen
be0b8327dd Fix minior bug in ConPrintfPaging so it count line right and do pause on the screen before it getting full. Fix the row size calc code. Move in page break code to the for. Write one char at time. Need to be fixed so it can write more that one char at time.
svn path=/trunk/; revision=16481
2005-07-07 11:26:38 +00:00
Filip Navara
e64361f015 Once more, this time with proper character encoding.
svn path=/trunk/; revision=16480
2005-07-07 09:56:47 +00:00
Filip Navara
52e8ffce44 Correct the copyright headers.
svn path=/trunk/; revision=16479
2005-07-07 09:48:44 +00:00
Filip Navara
8407954c54 Fix the problems introduced in r16449 by changing "-mdll --dll" to "-shared" and letting the linker generate the relocations in all cases.
svn path=/trunk/; revision=16478
2005-07-07 08:57:03 +00:00
Magnus Olsen
d1c9fb08f5 adding page break on almost all help param and on help command.
svn path=/trunk/; revision=16477
2005-07-07 08:29:22 +00:00
James Tabor
c296b39f61 Added MNS_ defines for MenuInfo dwStyle. Misc Wine Menu porting.
svn path=/trunk/; revision=16476
2005-07-07 00:21:21 +00:00
Gé van Geldorp
af07d5f933 Sync to Wine-20050628:
Alexandre Julliard <julliard@winehq.org>
- Sort entry points in the same order as Windows.

svn path=/trunk/; revision=16475
2005-07-06 22:49:08 +00:00
Hervé Poussineau
23c534f821 Open remote registry if needed in SetupDiCreateDeviceInfoListExW and SetupDiOpenClassRegKeyExW
Set last error in more places
Add my name to copyright due to my recent changes

svn path=/trunk/; revision=16474
2005-07-06 22:47:23 +00:00
Gé van Geldorp
8322ac0d33 Sync to Wine-20050628:
Juan Lang <juan_lang@yahoo.com>
- Fix return code abuse (don't use HRESULT when it isn't meant), make
  functions static where possible, remove unused prototypes.
Dmitry Timoshkov <dmitry@codeweavers.com>
- Make some of the OLE interface vtables const.
Michael Jung <mjung@iss.tu-darmstadt.de>
- Use IShellFolder::GetDisplayNameOf instead of SHGetPathFromIDList to
  be able to browse shell namespace extensions.
Vitaly Lipatov <lav@etersoft.ru>
- Add some descriptions for PageSetupDlg functions.
- Implement user paint hook support and PSD_ENABLEPAGEPAINTHOOK
  checking.
Huw Davies <huw@codeweavers.com>
- If a folder is selected on Open then browse into it, otherwise we
  should return the path in the edit box whether that be a folder or a
  file.
- Don't add extensions to a folder.
- Use DWLP_MSGRESULT to return values from the dialog proc.
- Send CDN_FOLDERCHANGE whenever we change folder.

svn path=/trunk/; revision=16473
2005-07-06 22:40:35 +00:00
Gé van Geldorp
8a79bd9b46 Sync to Wine-20050628:
Robert Shearman <rob@codeweavers.com>
- Document how the native lays out the internal components of
  buttons.
- Fix control to follow these rules.
- Don't redraw disabled buttons.
- Padding is never less that GetSystemMetrics(SM_{CX,CY}EDGE).
- Change default iListGap value to 4 to match native.
- Fix a regression in IE where the Favourites menu didn't appear
  correctly because the height and width were swapped in the pager
  control.
Stefan Huehner <stefan@huehner.org>
- Fix more -Wstrict-prototypes warnings.
Mike McCormack <mike@codeweavers.com>
- Warning fixes for -Wmissing-declarations and -Wwrite-strings.
Felix Nawothnig <felix.nawothnig@t-online.de>
- Fix some missed invalidations after column resize.
- Pass the right hwnd to ReleaseDC().
Kouji Sasaki <taro-x@justsystem.co.jp>
- Added the feature to change row height in owner draw controls.
- Added the callback item processing for LISTVIEW_EndEditLabelT
  function.
- Corrected the priority of operators for LISTVIEW_GetNextItem
  function.
Huw Davies <huw@codeweavers.com>
- For modal propsheets we should run our own message loop rather than
  use a modal dialogbox just like Windows does.  This helps apps that
  subclass the propsheet's wndproc.
Francois Gouget <fgouget@free.fr>
- Assorted spelling fixes.
James Hawkins <truiken@gmail.com>
- Audit the Tab control.
- Factor out common text shifting logic.
- Shift selected tab text up instead of down.
Alex Zorach <info@suscomputing.com>
- Fixed SetFocus behavior.
Krzysztof Foltman <wdev@foltman.com>
- Don't send TVN_SELCHANGING nor TVN_SELCHANGED if the same item is
  selected again.

svn path=/trunk/; revision=16472
2005-07-06 22:33:11 +00:00
Gé van Geldorp
44efc84fb4 Sync to Wine-20050628:
Thomas Weidenmueller <wine-patches@reactsoft.com>
- Removed local variables only used in TRACE statements.
Gerold Jens Wucherpfennig <gjwucherpfennig@gmx.net>
- Some FCI work.

svn path=/trunk/; revision=16471
2005-07-06 22:24:04 +00:00
Gé van Geldorp
0ddd1be07e Sync to Wine-20050628:
Robert Shearman <rob@codeweavers.com>
- Add more struct types for TLB generation.
Stefan Huehner <stefan@huehner.org>
- Fix some -Wmissing-declarations by making functions static.
Huw Davies <huw@codeweavers.com>
- Add comments describing the first DWORD in an import table entry.
Alexandre Julliard <julliard@winehq.org>
- Workaround to allow using the async keyword as method name.

svn path=/trunk/; revision=16470
2005-07-06 22:16:28 +00:00
Gé van Geldorp
28277f305b Sync to Wine-20050628:
Mike McCormack <mike@codeweavers.com>
- Move function prototypes to header.
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.

svn path=/trunk/; revision=16469
2005-07-06 21:40:07 +00:00
Hervé Poussineau
40c9cd2c5d SetupDiGetClassDevsExW: implement DIGCF_ALLCLASSES and DIGCF_DEVICEINTERFACE. use deviceset and enumstr parameters if provided
Set right last error (if needed) in SetupDiCreateDeviceInfoListExW, SetupDiEnumDeviceInfo, SetupDiEnumDeviceInterfaces, SetupDiGetDeviceRegistryPropertyW
Replace some constants by constant names

svn path=/trunk/; revision=16468
2005-07-06 21:32:16 +00:00
Gé van Geldorp
bb29508c33 zebasoftis <zebasoftis@gmail.com>:
Polish Resource File for control.exe

svn path=/trunk/; revision=16467
2005-07-06 21:24:11 +00:00
Gé van Geldorp
dc2b5795d3 zebasoftis <zebasoftis@gmail.com>
Polish Resource File for timedate.cpl

svn path=/trunk/; revision=16466
2005-07-06 21:21:30 +00:00
Magnus Olsen
67984c6757 adding %errorlevel% code for date
it is always 0 

svn path=/trunk/; revision=16465
2005-07-06 20:50:21 +00:00
Eric Kohl
8655ed62ef Move undocumented GUIDs to a new NDK header file.
svn path=/trunk/; revision=16464
2005-07-06 20:20:02 +00:00
Magnus Olsen
7ee590086a set right errorlevel for cd / chdir, left to do we do not have /d param that are new in win2k maby in older windows also
svn path=/trunk/; revision=16463
2005-07-06 20:15:36 +00:00
Magnus Olsen
721be9ec7b remove rem errorlevel it was never set stupied mistake by me.fix call setting errorlevel to 1
svn path=/trunk/; revision=16462
2005-07-06 19:42:41 +00:00
Magnus Olsen
78df6635f5 set %errorlevel% for rem
svn path=/trunk/; revision=16461
2005-07-06 19:13:24 +00:00
Thomas Bluemel
2936d05aa3 don't use the DS_NOFAILCREATE style which I accidentally committed earlier
svn path=/trunk/; revision=16460
2005-07-06 17:18:48 +00:00
Casper Hornstrup
8a1b2d5c2b Generate pre-compiled headers in intermediate directory tree
svn path=/trunk/; revision=16459
2005-07-06 16:56:28 +00:00
Gé van Geldorp
c82da07ee2 Change license to LGPL
svn path=/trunk/; revision=16458
2005-07-06 16:27:58 +00:00
Magnus Olsen
c9b36033d8 hopeful it is last bug in choice.c when you type choice "sadsa" it did not response on key press at all.
svn path=/trunk/; revision=16457
2005-07-06 14:06:33 +00:00
Magnus Olsen
1369d1649e fix a small bug in choice.c so it does print out choice "sadsad" right
svn path=/trunk/; revision=16456
2005-07-06 13:50:08 +00:00
Filip Navara
2fc5a38d16 Remove definitions that are already present in the DDK headers.
svn path=/trunk/; revision=16455
2005-07-06 13:46:42 +00:00
Filip Navara
db15209f07 - Move ReactOS specific code to ReactOS specific files/directories.
- Use NDK instead of redefining the loader structures.

svn path=/trunk/; revision=16454
2005-07-06 13:41:51 +00:00
Magnus Olsen
3b440449dd Add proper memory alloc ProcessInput, the error handling for memory handling need to be improve
svn path=/trunk/; revision=16453
2005-07-06 13:09:23 +00:00
Magnus Olsen
04480b3be7 translate %errorlevel% to a value when it pass at command line. Now is errorlevel implement as it should. left todo check all cmd command that they are setting right value
svn path=/trunk/; revision=16452
2005-07-06 12:20:57 +00:00
Filip Navara
9254444a9c Don't continue processing after displaying the usage screen.
svn path=/trunk/; revision=16451
2005-07-06 11:31:03 +00:00
Filip Navara
8064f8c236 Fix some compilation issues.
svn path=/trunk/; revision=16450
2005-07-06 09:27:08 +00:00
Filip Navara
b6e80ebb53 Generating relocations twice for DLLs? Oh, what a clever idea ... not.
svn path=/trunk/; revision=16449
2005-07-06 08:43:36 +00:00
Filip Navara
8e4e06d0de Report correct system space start address in /3GB case.
svn path=/trunk/; revision=16448
2005-07-06 08:22:13 +00:00
Filip Navara
2773203033 Kernel base address and system space start can be distinct addresses, so use KERNEL_BASE and MmSystemRangeStart accordingly in the code.
svn path=/trunk/; revision=16447
2005-07-06 08:20:26 +00:00
Gé van Geldorp
d64e8b4096 zebasoftis <zebasoftis@gmail.com>:
Polish Resource File for winlogon

svn path=/trunk/; revision=16446
2005-07-06 07:54:04 +00:00
Filip Navara
902a400b19 Put the page tables and hyperspace at the right place in memory (ie. Windows compatible).
svn path=/trunk/; revision=16445
2005-07-06 00:29:39 +00:00
Thomas Bluemel
4ea9392a55 fix gcc4 warnings and indention
svn path=/trunk/; revision=16444
2005-07-06 00:24:08 +00:00
Thomas Bluemel
c75115824f fix warnings with -Wsign-compare for MP builds
svn path=/trunk/; revision=16443
2005-07-05 23:15:22 +00:00
Thomas Bluemel
5979e80363 fix warnings with -Wsign-compare and -Wpointer-arith
svn path=/trunk/; revision=16442
2005-07-05 22:58:11 +00:00
Thomas Bluemel
cc6ffdce48 fixed some signed/unsigned comparison warnings with -Wsign-compare
svn path=/trunk/; revision=16441
2005-07-05 22:35:29 +00:00
Alex Ionescu
c3e6b1f6a4 Ged Murpy <gedmurphy@gmail.com>
* ARP Rewrite, 90% complete (still in progress)

svn path=/trunk/; revision=16440
2005-07-05 22:14:07 +00:00
Alex Ionescu
d9cbcc2128 Fix the build by adding KDPC_DATA as a shared arch structure. Kind of a hack but I could not find another way to avoid the undelrying recursive dependencies that not doing this would cause. Also made an arch-specific fix to KPROCESS and wrote a little comment on it
svn path=/trunk/; revision=16439
2005-07-05 21:57:55 +00:00
Gé van Geldorp
d005fc9f1a Sync to Wine-20050628:
Alexandre Julliard <julliard@winehq.org>
- Generate the resource data directly inside the resource directory.
- Replaced all uses of the __ASM_NAME macro by the asm_name function to
  allow run-time determination of the correct format.
- Beginnings of an infrastructure to allow specifying the target CPU and
  platform at run-time.
- Output the exported names as a C string so that they end up in the
  correct section.
- Reuse output_dll_init for the constructor of debug files.
- Moved all assembly code to the end of the generated C files to avoid
  conflicting with the compiler over section changes.
- Switch back to .data at the end of asm sections to work around an
  optimization in recent gcc versions.
- Remove some i386 ifdefs for 16-bit entry points since they are no
  longer used by default on other platforms anyway.
- Make import thunks position-independent to avoid text relocations.
- Generate proper PIC code for CALL32_CBClient.
- Store a relative pointer for registry entry points to avoid some text
  relocations.
- Allocate ordinals in the order of the declarations in the spec file.
Wolfgang Thaller <wolfgang.thaller@gmx.net>
- Winebuild darwin/x86-specific fixes:
  - Assembler interprets .align as power-of-two
  - Add .weak_reference to output where gcc 3.3 swallows it
- Use __ASM_NAME and HAVE_ASM_DOT_SIZE in a few places in winebuild
  where they have been missing (needed for Darwin/x86).
Pierre d'Herbemont <stegefin@free.fr>
- Use .mod_*_func sections on Mac OS X/i386 instead of the elf
  constructor/destructor.

svn path=/trunk/; revision=16438
2005-07-05 21:17:01 +00:00
Eric Kohl
40dc1919bc Add architecture-specific headers and move I386-specific definitions into them.
svn path=/trunk/; revision=16437
2005-07-05 21:03:46 +00:00
Gé van Geldorp
93232de775 Sync to Wine-20050628:
Eric Pouech <pouech-eric@wanadoo.fr>
- Const correctness fixes.
Mike McCormack <mike@codeweavers.com>
- Fix some declaration and write string warnings.

svn path=/trunk/; revision=16436
2005-07-05 20:47:48 +00:00
Filip Navara
dd349cfd8b Remove spurious "#define _OLEIDL_H".
svn path=/trunk/; revision=16433
2005-07-05 17:13:01 +00:00
Gé van Geldorp
3b9c960f59 Always return a meaningfull status code
svn path=/trunk/; revision=16432
2005-07-05 17:10:52 +00:00
Gé van Geldorp
8e86b33472 Prevent warning in optimized builds
svn path=/trunk/; revision=16431
2005-07-05 17:10:19 +00:00
Gé van Geldorp
f29b15b285 Code generator for 16bpp DIB Blt operations
svn path=/trunk/; revision=16430
2005-07-05 17:08:58 +00:00
Filip Navara
d6ebf05ea0 Get rid of the (incorrect) __attribute__((packed)) usage.
svn path=/trunk/; revision=16429
2005-07-05 17:08:48 +00:00
Filip Navara
51c604714a - Convert pure inline assembler .c files to .S files.
- Move SMP IRQ handlers to irqhand.s (at the same place where the UP ones are).

svn path=/trunk/; revision=16428
2005-07-05 16:40:01 +00:00
Hervé Poussineau
7afd05c217 Fix compilation due to revision 16425.
I forgot a parameter in SetupDiGetClassDevsExA/W ...

svn path=/trunk/; revision=16427
2005-07-05 14:00:33 +00:00
Hervé Poussineau
9b619507af Implement SetupDiGetClassDescriptionExA, by calling SetupDiGetClassDescriptionExW
svn path=/trunk/; revision=16426
2005-07-05 13:15:10 +00:00
Hervé Poussineau
4a200035de Implement SetupDiGetClassDevs(Ex)A/W
svn path=/trunk/; revision=16425
2005-07-05 12:59:14 +00:00
Magnus Olsen
3c215ef287 Brandon Turner turnerb7@msu.edu. Bug fix color now it working as ms cmd color. Please everyone that have done translate of cmd, update the language's file. some text have been modify and add in cmd en.rc
svn path=/trunk/; revision=16424
2005-07-05 12:06:27 +00:00
Hervé Poussineau
a314f1c4ad - Implement SetupDiCreateDeviceInfoListExW
- Do according changes in SetupDiDestroyDeviceInfoList
- Implement SetupDiEnumDeviceInfo
- Don't open registry with full rights in SetupDiClassGuidsFromNameExW
- Set last error in SetupDiClassNameFromGuidExW in case of problem
- Do W->A conversion for InfSectionWithExt string in SetupDiGetActualSectionToInstallA

Following changes break serial port devices enumeration on Wine. I'll work on this problem later.
- Implement SetupDiGetClassDevsW
- Disable some code in SetupDiEnumDeviceInterfaces and SetupDiGetDeviceInterfaceDetailA

Now, you should be able to list devices classes, and enumerate devices related to each class

svn path=/trunk/; revision=16423
2005-07-05 08:48:43 +00:00
Thomas Bluemel
9766bda54e globally enable the -Wpointer-arith warning to prevent usage of GCC's pointer arithmetics extension
svn path=/trunk/; revision=16422
2005-07-05 01:18:07 +00:00
Thomas Bluemel
bd691c850c fix code that depends on GCC's void* pointer arithmetic extension
svn path=/trunk/; revision=16421
2005-07-05 00:57:47 +00:00
Thomas Bluemel
945ed508b6 fix code that depends on GCC's void* pointer arithmetic extension
svn path=/trunk/; revision=16420
2005-07-05 00:24:36 +00:00
Thomas Bluemel
a4a9299b16 fix code that depends on GCC's void* pointer arithmetic extension
svn path=/trunk/; revision=16419
2005-07-04 23:05:17 +00:00
Thomas Bluemel
eea2c1d47c some %x -> %p fixes
svn path=/trunk/; revision=16418
2005-07-04 22:25:46 +00:00
Gunnar Dalsnes
cf3c6e6296 fix premature close og reg key
svn path=/trunk/; revision=16417
2005-07-04 22:22:22 +00:00
Thomas Bluemel
541151ea53 some %x -> %p fixes
svn path=/trunk/; revision=16416
2005-07-04 22:11:00 +00:00
Gunnar Dalsnes
d8e78cc66b hopefully fix something in CreateClassKey
svn path=/trunk/; revision=16415
2005-07-04 21:54:36 +00:00
Filip Navara
199b9bce22 Yet another DPRINT fix.
svn path=/trunk/; revision=16414
2005-07-04 21:46:20 +00:00
Filip Navara
8f08cb04c9 Fix more DPRINTs.
svn path=/trunk/; revision=16413
2005-07-04 21:12:35 +00:00
Hervé Poussineau
382e1c8635 Remove entries that are created by 2nd stage setup, using media/inf/NET_NIC.inf
Fix some obvious wrong copy/pastes
Add correct registry entries for kbdclass and mouclass classes
Fix hard-coded values for serial mice (Serenum doesn't report the exact hardwa

svn path=/trunk/; revision=16412
2005-07-04 21:08:00 +00:00
Alex Ionescu
9b63d671e9 Dprint fixes by our lovely Filip
svn path=/trunk/; revision=16411
2005-07-04 21:01:46 +00:00
Thomas Bluemel
12e95836ec add a quick search feature to the checklist control
svn path=/trunk/; revision=16410
2005-07-04 17:22:18 +00:00
Thomas Bluemel
a11dac9b2a properly handle WM_UPDATEUISTATE
svn path=/trunk/; revision=16409
2005-07-04 13:37:02 +00:00
Thomas Bluemel
8e3b9a7f21 - hide the keyboard focus when appropriate
- add missing definitions to w32api

svn path=/trunk/; revision=16408
2005-07-04 13:21:14 +00:00
Thomas Bluemel
0140b609d9 fixed some scrolling issues
svn path=/trunk/; revision=16407
2005-07-04 11:52:16 +00:00
Thomas Bluemel
48e0fe423b handle resizing of the control
svn path=/trunk/; revision=16406
2005-07-04 11:05:04 +00:00
Thomas Bluemel
a0f4cc2feb get rid of the obsolete Makefile.ros-template files
svn path=/trunk/; revision=16405
2005-07-04 09:46:50 +00:00
Thomas Bluemel
7661ff0d5f properly handle clicks outside a checkbox
svn path=/trunk/; revision=16404
2005-07-04 00:30:23 +00:00
Thomas Bluemel
9d1991ed72 minor bugfixes
svn path=/trunk/; revision=16403
2005-07-04 00:06:52 +00:00
Thomas Bluemel
68a5299cd2 enable editing of the checkboxes and minor bugfixes
svn path=/trunk/; revision=16402
2005-07-03 23:29:36 +00:00
Eric Kohl
fae2febad9 Remove trailing whitespace and fix indentation
svn path=/trunk/; revision=16401
2005-07-03 21:37:16 +00:00
Hervé Poussineau
d3bf39b1f2 Delete unused makefiles
svn path=/trunk/; revision=16400
2005-07-03 21:35:41 +00:00
Eric Kohl
2bdea48b49 - Implement PlugPlayControlProperty and PlugPlayControlGetDeviceDepth
- Move documentation from NDK headers

svn path=/trunk/; revision=16399
2005-07-03 21:25:00 +00:00
Hervé Poussineau
3988ea5599 Implement SetupDiGetDeviceRegistryPropertyA
Add stub for SetupDiGetDeviceRegistryPropertyW

svn path=/trunk/; revision=16398
2005-07-03 20:19:55 +00:00
Martin Fuchs
1d354a90fe fix compile errors
svn path=/trunk/; revision=16397
2005-07-03 20:12:16 +00:00
Thomas Bluemel
7a42053e8b actually disable it, sorry
svn path=/trunk/; revision=16396
2005-07-03 19:32:55 +00:00
Thomas Bluemel
ef28baf965 add support for XP themes (disabled by default)
svn path=/trunk/; revision=16395
2005-07-03 19:32:30 +00:00
Thomas Bluemel
4be9703fa6 - imported uxtheme.dll from WINE-20050703
- added missing definitions in w32api
- imported schemadef.h from WINE and replaced most of tmschema.h with WINE's version (which is much more correct)

svn path=/trunk/; revision=16394
2005-07-03 18:32:22 +00:00
Eric Kohl
89ac547ef5 - Move definitions from ntpnp.h into NDK and DDK
- Remove ntpnp.h

svn path=/trunk/; revision=16393
2005-07-03 15:21:19 +00:00
Martin Fuchs
d46e87dfdb prepare for WINE UNICODE patch
svn path=/trunk/; revision=16392
2005-07-03 13:49:05 +00:00
Hervé Poussineau
5c050fc41f Implement SetupDiGetActualSectionToInstallA
Implement SetupDiCreateDeviceInfoA
Add SetupDiCreateDeviceInfoW stub
Fix SetupDiOpenClassRegKeyExW, by adding { } around the GUID string when opening the registry key
Don't use L"..." notation for wide strings

svn path=/trunk/; revision=16391
2005-07-03 13:46:33 +00:00
Eric Kohl
89d4545331 - Define and use PLUGPLAY_CONTROL_CLASS
- PNP_GetVersion should return an error code
- Rename structs used by NtPlugPlayControl

svn path=/trunk/; revision=16390
2005-07-03 12:18:23 +00:00
Hervé Poussineau
3eb22d7480 Implement CM_Enumerate_Classes and CM_Enumerate_Classes_Ex
svn path=/trunk/; revision=16389
2005-07-03 10:35:56 +00:00
Hervé Poussineau
151fe7f976 Add some missing constants and prototypes related to setupapi/cfgmgr
svn path=/trunk/; revision=16388
2005-07-03 10:33:51 +00:00
Martin Fuchs
7e100086d3 switch to WIN32 API string functions
svn path=/trunk/; revision=16387
2005-07-03 09:39:11 +00:00
James Tabor
c21d161abd Half way implement NtGdiUnrealizedObject.
svn path=/trunk/; revision=16386
2005-07-03 06:43:49 +00:00
Thomas Bluemel
51e10671c0 don't look up list items with negative index
svn path=/trunk/; revision=16385
2005-07-03 02:02:47 +00:00
Thomas Bluemel
79811989d8 - allow changing the focus of the check boxes in the checklist control
- minor fixes

svn path=/trunk/; revision=16384
2005-07-03 01:44:25 +00:00
Eric Kohl
d23d39a743 Implement StringTableDuplicate.
svn path=/trunk/; revision=16383
2005-07-02 21:32:37 +00:00
Eric Kohl
396b274742 Implement GetVersionInfoFromImage.
Add missing prototypes to w32api.

svn path=/trunk/; revision=16382
2005-07-02 19:26:43 +00:00
Martin Fuchs
5f53398bd1 Henning Gerhardt <henning.gerhardt@web.de>: Update German resource files.
svn path=/trunk/; revision=16381
2005-07-02 17:57:51 +00:00
Hervé Poussineau
8925d0aca7 Implement PoRequestPowerIrp
svn path=/trunk/; revision=16380
2005-07-02 14:50:22 +00:00
Eric Kohl
6c58ea3cd7 Implement CenterWindowRelativeToParent.
svn path=/trunk/; revision=16379
2005-07-02 14:05:38 +00:00
Thomas Bluemel
50c2bb7322 - query the domain server if specified by the server
- fixed some minor bugs

svn path=/trunk/; revision=16378
2005-07-02 13:49:23 +00:00
Filip Navara
65ecbfa03d Use RtlExitUserThread instead of NtTerminateThread, so the stack is properly freed.
svn path=/trunk/; revision=16377
2005-07-02 13:45:23 +00:00
Filip Navara
f15bf7924f Add prototypes for RtlExitUserThread and RtlInitializeContext.
svn path=/trunk/; revision=16376
2005-07-02 13:42:43 +00:00
Thomas Bluemel
16c7672bfd enumerate the permission names and display them
svn path=/trunk/; revision=16375
2005-07-02 01:34:18 +00:00
Thomas Bluemel
15436e184a initial (not yet complete) implementation of the checklist control for the permissions editor
svn path=/trunk/; revision=16374
2005-07-01 23:33:34 +00:00
Hervé Poussineau
46903e60ea Set svn:eol-style property to native
svn path=/trunk/; revision=16373
2005-07-01 23:26:01 +00:00
Alex Ionescu
c18f64ffe6 fix tlist
svn path=/trunk/; revision=16372
2005-07-01 19:53:02 +00:00
Magnus Olsen
e2a3507651 Brandon Turner turnerb7@msu.edu
Added ConPrintfPaging and ConOutPrintfPaging
Added /p back in using ConOutPrintfPaging

Me
correct small mistake in en.rc adding newline 
for dir_help text, so it looking bit better when it 
printout

svn path=/trunk/; revision=16371
2005-07-01 18:20:10 +00:00
Alex Ionescu
dca78ab993 remove acledit.h, the interfaces are nt4-only and deprecated, programmers must use ISecurityInformation (which is what Thomas has started to implement as well)
svn path=/trunk/; revision=16370
2005-07-01 16:04:07 +00:00
Alex Ionescu
ff230341e0 Fix DHCP bug (a ReadFile was being done on a BOOLEAN return value instead of the handle, and a thread was never returning), fix 99% of warnings and use PCH
svn path=/trunk/; revision=16369
2005-07-01 15:40:52 +00:00
Hervé Poussineau
5cda38b218 Add '\' between "System\CurrentControlSet\Class" and the GUID when creating the registry key name
Don't return FALSE but INVALID_HANDLE_VALUE in SetupDiOpenClassRegKeyExW

svn path=/trunk/; revision=16368
2005-07-01 15:29:06 +00:00
Thomas Bluemel
15d5aa6c62 query the dacl from the ISecurityInformation server, query the domains name from lsass and list them in the dialog box
svn path=/trunk/; revision=16367
2005-07-01 12:09:04 +00:00
Alex Ionescu
a51afa23e7 These two escaped... fix them too
svn path=/trunk/; revision=16366
2005-07-01 03:58:55 +00:00
Alex Ionescu
aa9df5babf Fix breakage caused by accidental commit in the last revision
svn path=/trunk/; revision=16364
2005-07-01 03:40:52 +00:00
Alex Ionescu
79ab4b5644 Fix explorer/ibrowser build
svn path=/trunk/; revision=16363
2005-07-01 03:25:35 +00:00
Alex Ionescu
919125b189 Kill off more of rosrtl
svn path=/trunk/; revision=16362
2005-07-01 03:14:40 +00:00
Alex Ionescu
14e3b7395b PCH for csrss and win32csr, and remove rosrtl usage
svn path=/trunk/; revision=16361
2005-07-01 03:03:06 +00:00
Alex Ionescu
267707560d PCH for SMSS, and remove rosrtl usage
svn path=/trunk/; revision=16360
2005-07-01 02:47:15 +00:00
Alex Ionescu
4eb4922aad Kill large parts of rosrtl. devmode conversion implented in gdi32 because it's actually an exported api, 2nd converstion used only once so inlined. logfont conversion implented as functions directly in the ddl. rtlrosmin/max replaced by actual macros, and resource rtlros function in aclui replace by actual win32 call. other rosrtl code was already deprecated.
svn path=/trunk/; revision=16359
2005-07-01 01:54:55 +00:00
Alex Ionescu
2125679164 Move some internal headers to /reactos, set it as a default include path, move pseh and elf headers to their respective directories
svn path=/trunk/; revision=16358
2005-06-30 22:40:36 +00:00
Thomas Bluemel
755c848950 - Get rid of GCC specific typecasts to PVOID for pointer arithmetics
- Decrement the AceCount in RtlDeleteAce instead of incrementing it

svn path=/trunk/; revision=16357
2005-06-30 21:38:39 +00:00
Alex Ionescu
084cc36104 rollback change
svn path=/trunk/; revision=16356
2005-06-30 17:00:19 +00:00
Alex Ionescu
077fa44358 rollback change
svn path=/trunk/; revision=16355
2005-06-30 16:59:07 +00:00
Alex Ionescu
30a6f296fd kill rosrtl from system modules
svn path=/trunk/; revision=16354
2005-06-30 16:57:06 +00:00
Alex Ionescu
493ca2fe71 remove roscfg.h
svn path=/trunk/; revision=16353
2005-06-30 16:52:26 +00:00
Alex Ionescu
8539083b08 Add windows.h back, is it futile to remove it
svn path=/trunk/; revision=16352
2005-06-30 16:48:14 +00:00
Alex Ionescu
8209b87210 Remove windows.h from external win32k headers
svn path=/trunk/; revision=16351
2005-06-30 16:39:17 +00:00
Alex Ionescu
5420982bbb Math.c wasn't using the pch header, thanks for the catch, Steven
svn path=/trunk/; revision=16350
2005-06-30 16:31:15 +00:00
Alex Ionescu
eaf273b4ef remove windows.h dependency. Filip said it couldn't be done, so please watch out for flying pigs and hell freezing over
svn path=/trunk/; revision=16349
2005-06-30 16:20:40 +00:00
Alex Ionescu
02bd986e69 Fix win32k warnings, get rid of windowsx.h dependency
svn path=/trunk/; revision=16348
2005-06-30 16:17:45 +00:00
Alex Ionescu
d280ce9240 Kill rosrtl
svn path=/trunk/; revision=16347
2005-06-30 16:04:08 +00:00
Filip Navara
bc4215dca5 Don't use ROSRTL.
svn path=/trunk/; revision=16346
2005-06-30 14:38:53 +00:00
Filip Navara
046d85a84a Use RtlQueryRegistryValues instead of RosReadRegistryValue.
svn path=/trunk/; revision=16345
2005-06-30 13:50:21 +00:00
Alex Ionescu
2170f23f23 Manually define undocumented MS GLU constants
svn path=/trunk/; revision=16344
2005-06-30 12:42:57 +00:00
Thomas Bluemel
444df32c83 implemented NeedCurrentDirectoryForExePathA/W
svn path=/trunk/; revision=16343
2005-06-30 12:33:12 +00:00
Alex Ionescu
005201f320 Delete ddentry.h and create official ddrawgdi.h header instead, delete duplicate GL include folder, move internal headers to internal libs, delete tcpmisc.h and move its defines to official tcpioctl.h, fix up winddi.h and cleanup gdi32 header.
svn path=/trunk/; revision=16342
2005-06-30 12:31:36 +00:00
Filip Navara
56ac965dc9 Move ROSKY to a separate SVN module.
svn path=/trunk/; revision=16341
2005-06-30 12:22:27 +00:00
Filip Navara
f992a4e417 Move ROSKY to a separate SVN module.
svn path=/trunk/; revision=16340
2005-06-30 12:21:30 +00:00
Filip Navara
f5dfe7db02 Move ROSKY to a separate SVN module.
svn path=/trunk/; revision=16339
2005-06-30 12:19:21 +00:00
Filip Navara
ff9c6f6419 Move ROSKY out of the main module.
svn path=/trunk/; revision=16338
2005-06-30 12:17:36 +00:00
Filip Navara
9a7a1b2147 Move ROSKY out of the main module.
svn path=/trunk/; revision=16337
2005-06-30 12:17:30 +00:00
Filip Navara
8ab1501eb8 Move ROSKY out of the main module.
svn path=/trunk/; revision=16336
2005-06-30 12:16:27 +00:00
Alex Ionescu
625fd620c6 Fix warning
svn path=/trunk/; revision=16335
2005-06-30 02:17:47 +00:00
Filip Navara
73970db31b Allow YASM to be used instead of NASM.
svn path=/trunk/; revision=16334
2005-06-29 22:19:47 +00:00
Steven Edwards
3fd1a79ff3 silence some warnings and break it even more
svn path=/trunk/; revision=16333
2005-06-29 20:13:51 +00:00
Steven Edwards
235fba2f3b already moved this to the PSDK
svn path=/trunk/; revision=16332
2005-06-29 20:03:12 +00:00
Steven Edwards
13da42279f correctly convert to all lower case
svn path=/trunk/; revision=16331
2005-06-29 19:47:57 +00:00
Steven Edwards
dbf298de73 correct case of included headers
svn path=/trunk/; revision=16330
2005-06-29 19:36:54 +00:00
Alex Ionescu
8ebf837814 Add a nice little KIDT_ACCESS structure for setting IDT entries in a pretty way
svn path=/trunk/; revision=16329
2005-06-29 19:06:28 +00:00
Alex Ionescu
356bf8d78c Fix halmp build for real
svn path=/trunk/; revision=16328
2005-06-29 19:05:46 +00:00
Filip Navara
f08cae7194 Use the correct structure in SetInterruptGate.
svn path=/trunk/; revision=16327
2005-06-29 18:33:39 +00:00
Filip Navara
06bd6d6ba8 We don't need to have uuids.h in each folder of the source tree, do we?
svn path=/trunk/; revision=16326
2005-06-29 18:26:30 +00:00
Filip Navara
99cf3f8baa I feel like trying to fit a cube into a circle-shaped hole on those little things kids play with... but however ugly the change can look it makes the MP HAL not freeze during boot.
svn path=/trunk/; revision=16325
2005-06-29 18:21:31 +00:00
Gé van Geldorp
28f775e06d zebasoftis <zebasoftis@gmail.com>:
Add Polish translation

svn path=/trunk/; revision=16324
2005-06-29 18:18:19 +00:00
Alex Ionescu
70c62c571a Fix idt descriptor code properly
svn path=/trunk/; revision=16323
2005-06-29 17:36:05 +00:00
Alex Ionescu
ba4e11025f Fix HALMP build
svn path=/trunk/; revision=16322
2005-06-29 17:22:57 +00:00
Filip Navara
a6114ec37f Fix warnings.
svn path=/trunk/; revision=16321
2005-06-29 09:35:02 +00:00
Filip Navara
db07afe07a Move the inclusion of <debug.h> to individual files and consolidate the inclusion of DDRAW/D3D headers a bit.
svn path=/trunk/; revision=16320
2005-06-29 07:09:25 +00:00
Steven Edwards
1d02274287 move a few more headers to the PSDK
svn path=/trunk/; revision=16319
2005-06-29 00:11:39 +00:00
Gunnar Dalsnes
fb6b25f553 use correct resourcefile
svn path=/trunk/; revision=16318
2005-06-28 23:36:28 +00:00
Steven Edwards
753209adc2 move ipexport.h to PSDK
svn path=/trunk/; revision=16317
2005-06-28 23:31:38 +00:00
Steven Edwards
9a714d7f55 remove inclusion of basetsd.h, I did not mean to commit this
svn path=/trunk/; revision=16316
2005-06-28 22:56:09 +00:00
Gé van Geldorp
5a9947460c Start off atoms in life with a ReferenceCount of 1
svn path=/trunk/; revision=16315
2005-06-28 22:33:48 +00:00
Steven Edwards
6d73043da8 move some wine headers to the PSDK
svn path=/trunk/; revision=16314
2005-06-28 22:09:03 +00:00
Alex Ionescu
af4ad253eb Move MS DDK files to DDK
svn path=/trunk/; revision=16313
2005-06-28 21:01:50 +00:00
Alex Ionescu
19fedef475 Copy more official headers to psdk directory
svn path=/trunk/; revision=16312
2005-06-28 20:30:26 +00:00
Alex Ionescu
0b4e482a01 Copy more official headers to psdk directory
svn path=/trunk/; revision=16311
2005-06-28 20:30:21 +00:00
Alex Ionescu
0a57f377c6 Add PSDK headers from ./include to ./w32api, delete some outdated headers and place some in ddk properly
svn path=/trunk/; revision=16310
2005-06-28 16:59:43 +00:00
Eric Kohl
f03def7913 Implement private object security functions.
svn path=/trunk/; revision=16309
2005-06-27 22:42:28 +00:00
Eric Kohl
53dea75f28 - Add Rtl*SecurityObject stubs.
- Export RtlpUnWaitCriticalSection and RtlWaitForCriticalSection.
- Replace DWORDs by ULONGs.

svn path=/trunk/; revision=16308
2005-06-27 21:11:29 +00:00
Hartmut Birr
a484af08a4 Fixed the rule for wrc.o.
svn path=/trunk/; revision=16307
2005-06-27 18:56:50 +00:00
Magnus Olsen
3da468a670 remove blank space at end of line 143 did not see it
sorry for compiling waring

svn path=/trunk/; revision=16306
2005-06-27 18:53:37 +00:00
Magnus Olsen
ef09f963dd Brandon Turner <turnerb7@msu.edu> Implemented /A example "del /A:H /A:-R *.exe -ping.exe"
svn path=/trunk/; revision=16305
2005-06-27 18:46:07 +00:00
Alex Ionescu
9734b13b5c Delete last trace of old headers in NDIS, and clean up some more old headers
svn path=/trunk/; revision=16304
2005-06-26 22:16:39 +00:00
Thomas Bluemel
c717085add - don't use the UNIMPLEMENTED macro in ObFindHandleForObject because it's actually used by win32k already
- set the right generic mapping for desktop and window station handles during win32k startup

svn path=/trunk/; revision=16303
2005-06-26 21:42:30 +00:00
Alex Ionescu
0c07cf98ad Fix boot
svn path=/trunk/; revision=16302
2005-06-26 21:32:48 +00:00
Eric Kohl
566e4b53a3 Build LSASS.
svn path=/trunk/; revision=16301
2005-06-26 21:01:19 +00:00
Eric Kohl
a35b024258 Remove useless Nt*Chanel and NtQueryOleDirectoryFile() prototypes.
svn path=/trunk/; revision=16300
2005-06-26 19:57:29 +00:00
Alex Ionescu
4710304a0d Fix kdbg build and some more header cleanups: add csq.q to ntifs, since it's now fully documented by MS (kept vizzini's comments though), moved af_irda to w32api because it's part of PSDK, moved ntbootvid.h to bootvid directory, removed ldrfuncs.h and add ndk's ldrfuncs.h to umode ndk (it was missing)
svn path=/trunk/; revision=16298
2005-06-26 19:29:12 +00:00
Eric Kohl
7132276795 Revert patch 16283 because it breaks PSDK compatibility.
svn path=/trunk/; revision=16297
2005-06-26 18:04:20 +00:00
Alex Ionescu
025d7c475c Seems I forgot to commit this, sorry
svn path=/trunk/; revision=16296
2005-06-26 18:00:22 +00:00
Eric Kohl
954200311b Add missing base address for cfgmgr32.dll and lsasrv.dll.
svn path=/trunk/; revision=16295
2005-06-26 17:22:34 +00:00
Alex Ionescu
67c200f2f9 Fix build
svn path=/trunk/; revision=16294
2005-06-26 17:11:20 +00:00
Alex Ionescu
3562ba1c03 Finalize organization of rtlfuncs.h and update FIXME status.
svn path=/trunk/; revision=16293
2005-06-26 16:35:51 +00:00
Alex Ionescu
edbcb1e0f4 Remove depcrecated constant
svn path=/trunk/; revision=16292
2005-06-26 16:35:17 +00:00
Alex Ionescu
6a9d46a3bb Update FIXME status.
svn path=/trunk/; revision=16291
2005-06-26 16:07:49 +00:00
Alex Ionescu
fef9d4dc69 Fixes for NDK compatibily (and plain ol' good design): - Use correct LDRP_ flags instead of our own made up ones. - Remove extra Process Info Classes that aren't in winddk, and use an add-on enumeration in the NDK. - Make ntoskrnl even more unaware of Win32K Internals by removing the deprecated PsCreateWin32Process function, moving w32process/thread allocation to win32k, and fixing the PsEstablishWin32Callouts function to use the latest NT prototype and callout data. These changes are similar to the ones done in NT.
svn path=/trunk/; revision=16290
2005-06-26 16:06:32 +00:00
James Tabor
7c91ae9295 Setup support for ShowOwnedPopups and expand new function in NtUserCallTwoParam.
svn path=/trunk/; revision=16289
2005-06-26 15:49:56 +00:00
Alex Ionescu
ce50274dc3 Satisfy blight's excessively arrogant attitude and overblown ego
svn path=/trunk/; revision=16288
2005-06-26 15:22:44 +00:00
Alex Ionescu
7cf07db3d7 Add NDK FIXME List.
svn path=/trunk/; revision=16287
2005-06-26 14:52:15 +00:00
Eric Kohl
ef8c4070db Build lsasrv.dll.
svn path=/trunk/; revision=16286
2005-06-26 14:02:36 +00:00
Hervé Poussineau
daae3048fd Move variable declaration at the top of the function
Remove unneeded affectation of hProcessHeap (already initialized in DllMain)

svn path=/trunk/; revision=16285
2005-06-26 12:51:17 +00:00
Eric Kohl
489bda971f Add cfgmgr32 dll.
This is a forwarder dll that passes all calls to setupapi.dll.

svn path=/trunk/; revision=16284
2005-06-26 12:17:27 +00:00
Eric Kohl
8f6865c18a Don't redefine ANSI_STRING, UNICODE_STRING and OBJECT_ATTRIBUTES if the NDK already defines them.
svn path=/trunk/; revision=16283
2005-06-26 11:14:48 +00:00
Eric Kohl
f0365b3d7a Add missing resource function prototypes.
svn path=/trunk/; revision=16282
2005-06-26 11:07:15 +00:00
Alex Ionescu
ee15175e82 Hasta la vista ntdll/napi headers
svn path=/trunk/; revision=16281
2005-06-26 06:27:34 +00:00
Alex Ionescu
e91e67f144 fix diskdump build
svn path=/trunk/; revision=16280
2005-06-26 06:06:51 +00:00
Alex Ionescu
80a245fca0 Kill NTOS headers. So long, and thanks for all the fish
svn path=/trunk/; revision=16279
2005-06-26 05:52:40 +00:00
Alex Ionescu
068dd36e8b make usb miniports not to use old header
svn path=/trunk/; revision=16278
2005-06-26 05:06:38 +00:00
Alex Ionescu
2d4d9762bb make lsass, win32k and vbe/xbox miniports use ndk instead of old headers
svn path=/trunk/; revision=16277
2005-06-26 05:04:12 +00:00
Alex Ionescu
499eae2bd2 Revert accidental commit
svn path=/trunk/; revision=16276
2005-06-26 04:50:07 +00:00
Alex Ionescu
3251827a3d Imitate NT and set some of the private object info for desktop/winsta inside win32k, not inside the kernel, so we don't need to know about win32k's private objects
svn path=/trunk/; revision=16275
2005-06-26 04:49:10 +00:00
Alex Ionescu
c6af94415d Build videoprt with NDK
svn path=/trunk/; revision=16274
2005-06-26 04:00:25 +00:00
Eric Kohl
ae46f5aa6a Hal needs KPCR_BASE
svn path=/trunk/; revision=16273
2005-06-26 01:12:21 +00:00
Eric Kohl
b9345f5cd1 Fix indentation, remove trailing whitespace and sort prototypes.
svn path=/trunk/; revision=16272
2005-06-26 01:08:55 +00:00
Alex Ionescu
c12e487549 build win32k with NDK, finally\!
svn path=/trunk/; revision=16271
2005-06-25 20:05:56 +00:00
Alex Ionescu
a01ddd88cf fix most parts of the build except win32k
svn path=/trunk/; revision=16270
2005-06-25 18:18:01 +00:00
Alex Ionescu
c6e139c501 Add many more structures to NDK which were incorrectly in the w32api IFS
svn path=/trunk/; revision=16269
2005-06-25 18:08:47 +00:00
Alex Ionescu
deb7a80fdd Large partial cleanup of ntoskrnl internal headers, mostly to delete obsoleted or non-useful headers, to reformat some horrible tab, spaces, etc mixups, and to move to NDK some public structures and remove all the include headers so that the standard one can be added. Note the word partial, meaning more will come in order to fully fix the mess.
svn path=/trunk/; revision=16268
2005-06-25 17:01:17 +00:00
Hervé Poussineau
1e4c8ee564 Remove mouse type selection in usetup.
i8042prt driver is always loaded for keyboard and auto-detects the PS/2 mouse (if any)
sermouse driver is loaded if a serial mouse is enumerated by serenum driver

svn path=/trunk/; revision=16267
2005-06-25 16:01:27 +00:00
Alex Ionescu
95f0ca7fdb Build ntoskrnl with NDK, and don't use rosrtl
svn path=/trunk/; revision=16266
2005-06-25 14:04:56 +00:00
Alex Ionescu
a9a36a579f Forgot this, sorry
svn path=/trunk/; revision=16265
2005-06-25 14:03:51 +00:00
Alex Ionescu
4169a5a54b Build secur32 with NDK
svn path=/trunk/; revision=16264
2005-06-25 13:55:24 +00:00
Alex Ionescu
767c5ce44f Fix token structure, add aux_data, fix KeDisconnectInterrupt and add NtBuildNumber (fixes for NDK)
svn path=/trunk/; revision=16263
2005-06-25 05:01:29 +00:00
Magnus Olsen
8a99b51cbf Brandon Turner <turnerb7@msu.edu>) simple check to fix > and | bug with 'rem' I (greatlord / Magnus Olsen) did small change on his patch so it did null terminate the strings right
svn path=/trunk/; revision=16262
2005-06-24 22:52:21 +00:00
Alex Ionescu
5c2b2a05bf Add missing privileges to winddk
svn path=/trunk/; revision=16261
2005-06-24 20:58:18 +00:00
Casper Hornstrup
59605ac1e7 Search current directory first for #include "".
svn path=/trunk/; revision=16260
2005-06-24 19:39:47 +00:00
Hervé Poussineau
5444c47450 Change STATUS error codes to winerror ones
svn path=/trunk/; revision=16259
2005-06-24 18:28:22 +00:00
Hervé Poussineau
a434b1aa6d Dmitry Philippov (shedon@mail.ru): implement GetCommConfig and SetCommConfig
svn path=/trunk/; revision=16258
2005-06-24 18:19:40 +00:00
Thomas Bluemel
469c016da3 - Moved ntdll's atom table implementation to rtl, rewrote it to use proper structures and share the generic implementation between ntoskrnl and ntdll
- Updated the rtl handle table implementation to use proper structures. Reserved handles are not yet supported correctly.

svn path=/trunk/; revision=16257
2005-06-24 18:11:16 +00:00
Alex Ionescu
ff3d5dbe7d Fix rtshared, didn't know about this module
svn path=/trunk/; revision=16256
2005-06-24 16:39:49 +00:00
Alex Ionescu
c78d9b68e1 Build regtess with standard windows header only, not NTOS
svn path=/trunk/; revision=16255
2005-06-24 15:38:29 +00:00
Alex Ionescu
4a320e11d6 Forgot to commit this fix to ntifs
svn path=/trunk/; revision=16254
2005-06-24 15:34:40 +00:00
Alex Ionescu
758ab5ab61 Build HAL with NDK
svn path=/trunk/; revision=16253
2005-06-24 01:37:08 +00:00
Alex Ionescu
7f2ec8aa5d Build eventlog, umpnpmgr, rpcss with NDK
svn path=/trunk/; revision=16252
2005-06-24 01:31:23 +00:00
Hervé Poussineau
64016b704d Add COMMPROP_INITIALIZED constant. It is used in COMMPROP structure, for dwProvSpec1 field
svn path=/trunk/; revision=16251
2005-06-23 21:36:40 +00:00
Hervé Poussineau
130a036ab2 Assign provider-specific fields in IOCTL_SERIAL_GET_PROPERTIES
Big clean up in serial.h header
Fix header text (remove $Id...)

svn path=/trunk/; revision=16250
2005-06-23 20:34:17 +00:00
Steven Edwards
13c65b3f47 convert all of the gdiplus stuff to lowercase
svn path=/trunk/; revision=16249
2005-06-23 18:15:04 +00:00
Magnus Olsen
366a911edc (Brandon Turner) <turnerb7@msu.edu>) Fixed bug to allow MS style wildcards + code clean up added /y and /-y
svn path=/trunk/; revision=16248
2005-06-23 18:12:17 +00:00
Gé van Geldorp
f887cf0f05 Don't draw 0-width HLine
svn path=/trunk/; revision=16247
2005-06-23 17:54:22 +00:00
Alex Ionescu
7143bd0824 Build stub hal with NDK
svn path=/trunk/; revision=16246
2005-06-23 15:58:03 +00:00
Alex Ionescu
96507ffe7c Fix bug in interrupt code
svn path=/trunk/; revision=16245
2005-06-23 15:29:20 +00:00
Steven Edwards
236ce44dac properly break it. correct typo
svn path=/trunk/; revision=16244
2005-06-23 13:31:33 +00:00
Steven Edwards
f6259d7ec4 break the tree for gcc 3.4.1 and gcc 4 at the request of Alex
svn path=/trunk/; revision=16243
2005-06-23 13:26:18 +00:00
Steven Edwards
efbd608bb5 one has to wonder if I am fixing a kernel build.....
svn path=/trunk/; revision=16242
2005-06-23 12:38:13 +00:00
Alex Ionescu
c0d381402e Revert accidental change
svn path=/trunk/; revision=16241
2005-06-23 12:22:32 +00:00
Thomas Bluemel
4f18890314 flag IsTokenRestricted() as @implemented
svn path=/trunk/; revision=16240
2005-06-23 10:34:16 +00:00
Alex Ionescu
1a1adca582 Fix two more build issues caused by greatlod's d3d header change and ndk bug
svn path=/trunk/; revision=16239
2005-06-23 05:07:25 +00:00
Alex Ionescu
5eefe9bdd1 use DDK for rossym
svn path=/trunk/; revision=16238
2005-06-23 04:53:57 +00:00
Alex Ionescu
f8707b368d fix build...sigh...sorry, my ntoskrnl builds with NDK
svn path=/trunk/; revision=16237
2005-06-23 04:52:27 +00:00
Alex Ionescu
ad71bcda91 Fix more ddk/ndk missing defintions
svn path=/trunk/; revision=16236
2005-06-23 04:42:49 +00:00
Alex Ionescu
610b6a4048 Fix build (my fault now :P)
svn path=/trunk/; revision=16235
2005-06-23 03:24:42 +00:00
Alex Ionescu
3e1728b45b Fix some NDK things and missing w32api defines.
svn path=/trunk/; revision=16234
2005-06-23 03:18:20 +00:00
Alex Ionescu
65fd7f2386 Fix build (no, not because of me, casper)
svn path=/trunk/; revision=16233
2005-06-23 01:36:58 +00:00
Steven Edwards
20e1654594 mark IopCsqCancelRoutine as static. Vizzini really does write good code.
svn path=/trunk/; revision=16232
2005-06-22 23:47:53 +00:00
Alex Ionescu
680c995ee1 Fix typo
svn path=/trunk/; revision=16231
2005-06-22 23:12:49 +00:00
Alex Ionescu
705a57e075 Build diskdump with NDK
svn path=/trunk/; revision=16230
2005-06-22 23:12:24 +00:00
Alex Ionescu
d1258e99fa Fix definition of KINTERRUPT in ROS headers so that moving to NDK will be easier. Also fix KeDisconnectInterrupt to return the old state instead of VOID, and re-write the I/O Interrupt code to work with an array and first object for better speed
svn path=/trunk/; revision=16229
2005-06-22 23:10:15 +00:00
Steven Edwards
9925309a13 added msxmldid.h from wine
svn path=/trunk/; revision=16228
2005-06-22 21:55:43 +00:00
Magnus Olsen
e3ed3792ca move ddrawi.h to ddk there it belong
svn path=/trunk/; revision=16227
2005-06-22 21:51:30 +00:00
Thomas Bluemel
204ad68d21 implemented RtlHashUnicodeString and export it in ntdll
svn path=/trunk/; revision=16226
2005-06-22 21:01:13 +00:00
Steven Edwards
9900f1ee91 remove unnneed function declariation
svn path=/trunk/; revision=16225
2005-06-22 20:51:22 +00:00
Maarten Bosma
588a9bc3cb Removed ddk/ddrawi.h because we have it twice, also removed some defines from ddrawint.h that are already in ddrawi.h
svn path=/trunk/; revision=16224
2005-06-22 19:51:01 +00:00
Alex Ionescu
2778f92cc3 Fix build (eh, Casper? :P)
svn path=/trunk/; revision=16223
2005-06-22 19:33:26 +00:00
Thomas Bluemel
07c4b32cdd close extern "C" block for c++ code
svn path=/trunk/; revision=16222
2005-06-22 19:18:21 +00:00
Alex Ionescu
d3a3c52a0a Fix build
svn path=/trunk/; revision=16221
2005-06-22 18:06:47 +00:00
Hartmut Birr
9633616f5b Added PFILE_ALIGNMENT_INFORMATION.
svn path=/trunk/; revision=16220
2005-06-22 18:03:32 +00:00
Maarten Bosma
5276f2c8bb Change NtGdiD3dContextDestroyAll@4 to @0
svn path=/trunk/; revision=16219
2005-06-22 18:02:33 +00:00
Alex Ionescu
2ab26c9f4d Build tcpip with NDK
svn path=/trunk/; revision=16218
2005-06-22 17:58:42 +00:00
Alex Ionescu
9e8e05cf39 Fix one more bug in NDK, and fix w32api headers to use FLOWSPEC structure inside NDIS.h, and use qos.h instead of winsock2, and implement FLOWSPEC in qos.h, moving it outside from winsock2.
svn path=/trunk/; revision=16217
2005-06-22 17:58:19 +00:00
Hartmut Birr
b5a67666e6 - Initialized Reply with NULL for the first call to NtReplyWaitReceivePort.
- Removed LpcReply because it wasn't really used.

svn path=/trunk/; revision=16216
2005-06-22 17:43:59 +00:00
Magnus Olsen
73abbbd77e Brandon Turner <turnerb7@msu.edu> Added exclusive deletion "del * -abc.txt -text*.txt"
svn path=/trunk/; revision=16215
2005-06-22 17:39:10 +00:00
Alex Ionescu
164b25c391 Fix some NDK issues when attempting to use it from kmode, and fix some winddk/ntifs inconsistencies aswell (move PFILE_QUOTA_INFORMATION and remove all RtlRange functions from the DDK, plus add PPEB)
svn path=/trunk/; revision=16214
2005-06-22 05:04:02 +00:00
Alex Ionescu
3e604d23e7 Large change to modify NTDLL'S CSR Functions to be compatible with NT. They are external and we should at least try to match the number of arguments (one vs eight? come on!). Because this is also the direction that Emanuele wants to be taking, the whole external calling interface was modified to be more compatible with NT (although internally it still isn't, and does not have a reason to be). API Names are now generated by a macro from the Server ID, like Emanuele and I noticed from traces, and I've entirely removed the concept of a reply structure. CSRSS uses full-duplex one-way structures, not dual-strutures (this would've been incompatible with the external interface anyways). I don't seem to have introduced any new bugs (console-ROS works great for me, as does the GUI), but there is still a chance some obscure bug might happen, so please bear with me, I had to hand-edit over 250 calls. Also, this now allows full removal of ntdll headers and the next commits will clean this up
svn path=/trunk/; revision=16213
2005-06-22 04:02:32 +00:00
KJK::Hyperion
321df5d69c Partial merge from the ROX-U branch (various fixes for Visual C++ compilation, see logs for r16198 and r16208)
svn path=/trunk/; revision=16212
2005-06-21 23:42:58 +00:00
Magnus Olsen
1af2b69826 add error code for file not found it was missing on one place
svn path=/trunk/; revision=16211
2005-06-21 22:07:44 +00:00
Hervé Poussineau
a6d58d5291 Silent debug messages
svn path=/trunk/; revision=16210
2005-06-21 21:35:07 +00:00
Maarten Bosma
c9d742f6cf Martin Rottensteiner (2005only@pianonote.at):
- set errorlevel to 9009 if command not found
- implemented exit /b # in batchfiles

svn path=/trunk/; revision=16209
2005-06-21 19:17:49 +00:00
Maarten Bosma
8e3623c1af Copy ddk ddrawi.h to include since it's more uptodate.
svn path=/trunk/; revision=16207
2005-06-21 17:16:25 +00:00
Gé van Geldorp
e3f555a8c9 Patch by Hartmut Birr
Work around what seems to be a bug in GCC for optimized builds. See
http://reactos.com:8080/archives/public/ros-dev/2005-June/003842.html

svn path=/trunk/; revision=16206
2005-06-21 16:35:41 +00:00
Alex Ionescu
3596d2a339 Build kernel32, ntdll, csrss fully with NDK and remove ntdll header usage
svn path=/trunk/; revision=16205
2005-06-21 04:52:46 +00:00
Alex Ionescu
e3cfe86657 Use correct TlsCount/LoadCount definition and fix incorrect usage i code
svn path=/trunk/; revision=16204
2005-06-21 04:28:03 +00:00
Alex Ionescu
77f673dd82 Use LDR_DATA_TABLE_ENTRY instead of LDR_MODULE. the former is the actual structure. would be wise to fix the defs too.
svn path=/trunk/; revision=16203
2005-06-21 04:10:45 +00:00
Alex Ionescu
1595459dbc Last build fix...sorry
svn path=/trunk/; revision=16202
2005-06-21 02:58:22 +00:00
Alex Ionescu
b5e1fdb37a Fix build
svn path=/trunk/; revision=16201
2005-06-21 02:47:55 +00:00
Alex Ionescu
58f27e918c Add uncleaned start of internal ntdll header
svn path=/trunk/; revision=16200
2005-06-21 02:11:45 +00:00
Alex Ionescu
3b2016d0ac Add new header for native user-mode functios inside the NT library inside the NDK, it will end up replacing most of the exported parts of the ntdll headers. It's not used yet as it would conflict, I added a temporary guard for that. Also added many more types to rtlfuncs.h so that it's almost entirely complete, and took out non rtl-stuff and put it into the user-mode NT header
svn path=/trunk/; revision=16199
2005-06-21 02:08:42 +00:00
Alex Ionescu
1d7902f557 Make scsi header um friendly
svn path=/trunk/; revision=16197
2005-06-20 22:54:01 +00:00
Alex Ionescu
4650be627f Remove rosrtl usage from usetup
svn path=/trunk/; revision=16196
2005-06-20 22:51:54 +00:00
Alex Ionescu
ce068ea890 Build usetup with NDK
svn path=/trunk/; revision=16195
2005-06-20 22:49:45 +00:00
Filip Navara
2e4d4d6dfd Remove some non-__USE_W32API guarded blocks.
svn path=/trunk/; revision=16194
2005-06-20 22:48:50 +00:00
Alex Ionescu
8b83fb933a Build winlogon with NDK
svn path=/trunk/; revision=16193
2005-06-20 22:19:18 +00:00
Alex Ionescu
d8de94af8a Build taskmgr with NDK
svn path=/trunk/; revision=16192
2005-06-20 22:15:59 +00:00
Alex Ionescu
725169d745 Build autochk with NDK
svn path=/trunk/; revision=16191
2005-06-20 21:50:02 +00:00
Filip Navara
be5ad51996 Fix build.
svn path=/trunk/; revision=16190
2005-06-20 21:49:00 +00:00
Alex Ionescu
e04c28b61f Build dhcp with ndk
svn path=/trunk/; revision=16189
2005-06-20 21:45:19 +00:00
Alex Ionescu
4d21e1f410 Build format with NDK
svn path=/trunk/; revision=16188
2005-06-20 21:43:14 +00:00
Alex Ionescu
2c52e31b61 Build ntvdm with NDK
svn path=/trunk/; revision=16187
2005-06-20 21:42:52 +00:00
Filip Navara
d373bd32e7 Build GDI32 with NDK and without DDK.
svn path=/trunk/; revision=16186
2005-06-20 21:35:05 +00:00
Alex Ionescu
9eea30f8b3 Build smss with NDK
svn path=/trunk/; revision=16185
2005-06-20 21:16:59 +00:00
Alex Ionescu
c618c35523 Build services with NDK
svn path=/trunk/; revision=16183
2005-06-20 21:04:03 +00:00
Alex Ionescu
5cc3617a10 Build sm with NDK
svn path=/trunk/; revision=16182
2005-06-20 21:03:51 +00:00
Filip Navara
b97fb9c707 Make winddi.h UM-friendly.
svn path=/trunk/; revision=16181
2005-06-20 21:03:41 +00:00
Hartmut Birr
f4d5dc8eb3 Fixed a bug within the calculation of the memory load.
svn path=/trunk/; revision=16180
2005-06-20 20:27:10 +00:00
Alex Ionescu
1bb602a345 Don't use DDK, use NDK for wshirda and ws2help
svn path=/trunk/; revision=16179
2005-06-20 20:26:14 +00:00
Alex Ionescu
0669fda144 Don't use ntdll headers in crt, use ndk
svn path=/trunk/; revision=16178
2005-06-20 20:22:54 +00:00
Alex Ionescu
de322e6992 Build iphlpapi with NDK instead of DDK
svn path=/trunk/; revision=16177
2005-06-20 20:20:40 +00:00
Alex Ionescu
26fca9d4cf Use NDK instead of DDK
svn path=/trunk/; revision=16176
2005-06-20 20:13:58 +00:00
Alex Ionescu
f239820920 jingle bells batman smells, robin laid an egg (build rosrtl with NDK)
svn path=/trunk/; revision=16175
2005-06-20 20:07:52 +00:00
Alex Ionescu
f9eab6bf5e Syssetup has fallen to the dark side
svn path=/trunk/; revision=16174
2005-06-20 19:58:43 +00:00
Alex Ionescu
7fdb1a2266 Build userenv and samlib with NDK
svn path=/trunk/; revision=16173
2005-06-20 19:50:52 +00:00
Alex Ionescu
a1a5cdb7ca Buid vfat(x)lib with NDK
svn path=/trunk/; revision=16172
2005-06-20 19:46:09 +00:00
Alex Ionescu
aa1e7d31e8 Build psapi with NDK
svn path=/trunk/; revision=16171
2005-06-20 19:38:25 +00:00
Alex Ionescu
0bbb2a98cd build lsasrv with NDK
svn path=/trunk/; revision=16170
2005-06-20 19:34:39 +00:00
Alex Ionescu
b19d74062e Build smdll with NDK
svn path=/trunk/; revision=16169
2005-06-20 19:33:08 +00:00
Alex Ionescu
0856013938 Build ws2_32 with NDK
svn path=/trunk/; revision=16168
2005-06-20 19:30:55 +00:00
Alex Ionescu
07d22c372d Compile msafd with NDK
svn path=/trunk/; revision=16167
2005-06-20 19:28:45 +00:00
Alex Ionescu
4cf87b40e7 Build secur32 with NDK
svn path=/trunk/; revision=16166
2005-06-20 19:19:23 +00:00
Hartmut Birr
747c64b7c4 Moved the TRACE_LDR macro from ntdll.h to utils.c.
svn path=/trunk/; revision=16165
2005-06-20 19:18:35 +00:00
Alex Ionescu
ae955c39ed Build epsapi with NDK
svn path=/trunk/; revision=16164
2005-06-20 19:14:08 +00:00
Alex Ionescu
c3151ba005 Build dnsapi with NDK
svn path=/trunk/; revision=16163
2005-06-20 19:05:25 +00:00
Alex Ionescu
d53d55734a build smlib with NDK
svn path=/trunk/; revision=16162
2005-06-20 19:02:23 +00:00
Alex Ionescu
44b8b1697a Remove rosrtl from advapi
svn path=/trunk/; revision=16161
2005-06-20 18:58:56 +00:00
Alex Ionescu
cf9968925b Switch Advapi32 to NDK
svn path=/trunk/; revision=16160
2005-06-20 18:55:05 +00:00
Alex Ionescu
29075cd391 Add missing types to NDK
svn path=/trunk/; revision=16159
2005-06-20 18:54:47 +00:00
Martin Fuchs
0f3a2ad610 sync with Wine's repository
svn path=/trunk/; revision=16158
2005-06-20 18:48:32 +00:00
Alex Ionescu
88b8879367 Compile user32 with NDK, clean up its headers, and separate it from the intenral win32k stuff
svn path=/trunk/; revision=16157
2005-06-20 18:21:07 +00:00
Martin Fuchs
8e0a6b7b07 Sync with Wine repo
svn path=/trunk/; revision=16156
2005-06-20 16:53:47 +00:00
Martin Fuchs
a609b028a1 Stefan Huehner <stefan@huehner.org>:
Remove some -Wstrict-prototypes warnings.

svn path=/trunk/; revision=16155
2005-06-20 16:52:02 +00:00
Maarten Bosma
e133ad2f81 g++ seams to have a problem with this dummy union names.
svn path=/trunk/; revision=16154
2005-06-20 16:32:42 +00:00
Filip Navara
7bf3a79d15 Remove Jamfiles.
svn path=/trunk/; revision=16153
2005-06-20 14:30:44 +00:00
Filip Navara
f266cbb1c2 Fix warnings.
svn path=/trunk/; revision=16152
2005-06-20 14:23:13 +00:00
Filip Navara
d69a2a31dd Fix a cut & paste error.
svn path=/trunk/; revision=16151
2005-06-20 14:08:06 +00:00
Filip Navara
81175de9c1 Fix warnings.
svn path=/trunk/; revision=16150
2005-06-20 13:59:40 +00:00
Filip Navara
6479d4526a Forgot this file in r16147.
svn path=/trunk/; revision=16149
2005-06-20 13:54:52 +00:00
Filip Navara
3b0038292f Remove Jamfiles.
svn path=/trunk/; revision=16148
2005-06-20 13:43:26 +00:00
Filip Navara
cdad35b774 Fix warnings and remove Jamfiles.
svn path=/trunk/; revision=16147
2005-06-20 13:43:05 +00:00
Filip Navara
d160d80677 Fix warnings.
svn path=/trunk/; revision=16146
2005-06-20 13:17:21 +00:00
Filip Navara
aa82a6a072 The DK directory doesn't seem to be used anymore.
svn path=/trunk/; revision=16145
2005-06-20 12:10:46 +00:00
Filip Navara
e0df17c6fd Compile CSRSS and WIN32CSR with NDK headers.
svn path=/trunk/; revision=16144
2005-06-20 11:56:10 +00:00
Gé van Geldorp
59057f2e70 Exclusively lock surface bits before reading or writing them
svn path=/trunk/; revision=16143
2005-06-20 08:31:48 +00:00
Filip Navara
113cab2be5 Fix definition of LPC_MESSAGE_BASE_SIZE.
svn path=/trunk/; revision=16142
2005-06-20 07:18:20 +00:00
Filip Navara
21616080f6 Remove InitializeMessageHeader definition.
svn path=/trunk/; revision=16141
2005-06-20 07:16:51 +00:00
Filip Navara
31ad5f02a9 Fix the definion of SharedUserData.
svn path=/trunk/; revision=16140
2005-06-20 07:06:41 +00:00
Hervé Poussineau
57074db1aa Implement IOCTL_USB_GET_NODE_CONNECTION_NAME, IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME
Fix indices in IOCTL_USB_GET_NODE_CONNECTION_INFORMATION

svn path=/trunk/; revision=16139
2005-06-20 05:54:19 +00:00
Alex Ionescu
0ee8822197 Major cleanup to rtlfuncs.h. Not yet perfect but much better organized.
svn path=/trunk/; revision=16138
2005-06-20 05:36:32 +00:00
Alex Ionescu
4b83cb1f77 Cleanup kernel usage to decrease compilation time/memory
svn path=/trunk/; revision=16136
2005-06-20 04:30:23 +00:00
Alex Ionescu
eb67c61944 Remove rosrtl string macros
svn path=/trunk/; revision=16135
2005-06-20 04:18:03 +00:00
Alex Ionescu
497256b40e Build kernel32 with NDK
svn path=/trunk/; revision=16134
2005-06-20 04:07:49 +00:00
Alex Ionescu
d98066b2aa Final NDK fixes for kernel32
svn path=/trunk/; revision=16133
2005-06-20 04:07:34 +00:00
Alex Ionescu
4a0a216d3e Apply kjk's change to thread.c too
svn path=/trunk/; revision=16132
2005-06-20 04:07:19 +00:00
Alex Ionescu
3bfd20f396 Some NDK Fixes, kernel32 almost compiles
svn path=/trunk/; revision=16131
2005-06-20 03:55:42 +00:00
KJK::Hyperion
8cd2554cff Converted kernel32 process creation to use PSEH (untested change to help Alex)
svn path=/trunk/; revision=16130
2005-06-20 03:42:05 +00:00
Alex Ionescu
f5e002e1c9 Fixed incorrect SetNamedPipeHandleState implementation to use the actual APIs/Structures it should and added one of the missing ones to NTIFS.
svn path=/trunk/; revision=16129
2005-06-20 01:52:47 +00:00
Alex Ionescu
aaad0af903 Add missing stuff to NDK
svn path=/trunk/; revision=16128
2005-06-19 23:59:40 +00:00
Alex Ionescu
16c356bfa1 Ditto for HAL
svn path=/trunk/; revision=16127
2005-06-19 22:53:49 +00:00
Alex Ionescu
b4cb154b4a Blight is cool. oh, right..this is a commt message. err.. oh. include debug.h per-file isntead of globally, or else this breaks NDEBUG
svn path=/trunk/; revision=16126
2005-06-19 22:50:59 +00:00
Filip Navara
94b818d7c0 TIME -> LARGE_INTEGER
svn path=/trunk/; revision=16125
2005-06-19 22:32:51 +00:00
Hervé Poussineau
697e997b8f Implement IRP_MJ_CLEANUP for UHCI controller
svn path=/trunk/; revision=16124
2005-06-19 22:19:11 +00:00
Filip Navara
8098dc0a97 - Don't include ntddk.h from most of the DDK headers and move the includes out of the "extern C" blocks.
- Fix order of STDCALL in few callback defintions.
- Get the sources to build again with these changes.

svn path=/trunk/; revision=16123
2005-06-19 22:13:41 +00:00
Hervé Poussineau
9bd5178ad2 Implement IOCTL_GET_HCD_DRIVERKEY_NAME
Better check for arguments in IOCTL_*
Let IOCTL_USB_GET_ROOT_HUB_NAME use the right structure type
Initialize wrapper around linux code after setting the device extension field

svn path=/trunk/; revision=16122
2005-06-19 22:11:09 +00:00
Alex Ionescu
b76b475c32 Build RTL with NDK
svn path=/trunk/; revision=16121
2005-06-19 22:05:50 +00:00
Alex Ionescu
aec8d2f143 Move internal rtlp functions out of ntos and into internal rosrtl header
svn path=/trunk/; revision=16120
2005-06-19 22:05:18 +00:00
Alex Ionescu
1754d20379 Add free to libsupp
svn path=/trunk/; revision=16119
2005-06-19 21:50:05 +00:00
Alex Ionescu
d3e93a6629 Add include to rosrtl where needed
svn path=/trunk/; revision=16118
2005-06-19 21:40:29 +00:00
Alex Ionescu
9deb8137ef Fix cshort definition
svn path=/trunk/; revision=16117
2005-06-19 21:39:58 +00:00
Alex Ionescu
ef09428e85 Add libsupp.h for rtl's Kernel Allocation functions
svn path=/trunk/; revision=16116
2005-06-19 21:37:01 +00:00
Alex Ionescu
38765d4930 Add missing security types in winnt.h
svn path=/trunk/; revision=16115
2005-06-19 21:35:57 +00:00
Alex Ionescu
a43ea85ae0 User helper header and don't use RTLROS string macros naymore
svn path=/trunk/; revision=16114
2005-06-19 21:08:39 +00:00
Alex Ionescu
4d69a0fddb Fix Build
svn path=/trunk/; revision=16113
2005-06-19 21:03:41 +00:00
Filip Navara
61eed1a9da Fxi build.
svn path=/trunk/; revision=16112
2005-06-19 20:56:11 +00:00
Alex Ionescu
299cedf334 Use RTL_CONSTANT_STRING instead of RtlRos macro
svn path=/trunk/; revision=16111
2005-06-19 20:43:13 +00:00
Alex Ionescu
3b65c45a7c Build NTDLL with NDK
svn path=/trunk/; revision=16110
2005-06-19 20:28:20 +00:00
Alex Ionescu
d3d66f5e68 Final NDK fixes for ntdll
svn path=/trunk/; revision=16109
2005-06-19 20:18:30 +00:00
Filip Navara
514f6f4626 Remove PNP_VETO_TYPE from winddk.h.
svn path=/trunk/; revision=16108
2005-06-19 20:09:32 +00:00
Alex Ionescu
448fd2a82a More NDK fixes, remove duplicated debug functions from ntdll, use rosrtl header where neded in ntdll.
svn path=/trunk/; revision=16107
2005-06-19 20:01:07 +00:00
Filip Navara
fd45cff559 Fix packing.
svn path=/trunk/; revision=16106
2005-06-19 19:56:01 +00:00
Alex Ionescu
3ff128077e More NDK fixes/additions
svn path=/trunk/; revision=16105
2005-06-19 19:36:05 +00:00
Alex Ionescu
93d9bcad1a More NDK fixes (user-mode NDK now works) and guard some stuff in include/ntdll so that ntdll can be build with NDK, but so that other apps not yet using it, but using those headers, can also build
svn path=/trunk/; revision=16104
2005-06-19 19:15:46 +00:00
James Tabor
7d84d6b837 Adding ps.exe to build process.
svn path=/trunk/; revision=16103
2005-06-19 18:54:02 +00:00
James Tabor
b3bc018212 Adding ps.exe to build process.
svn path=/trunk/; revision=16102
2005-06-19 18:53:19 +00:00
Filip Navara
ac4f85a89e Forgot to commit this file in r16097.
svn path=/trunk/; revision=16101
2005-06-19 18:34:35 +00:00
Alex Ionescu
1b74c03fb1 Major cleanup of User-Mode NDK
svn path=/trunk/; revision=16100
2005-06-19 18:21:58 +00:00
Filip Navara
8b3da072dd Cleanup header usage in USER32.
svn path=/trunk/; revision=16099
2005-06-19 18:06:53 +00:00
Filip Navara
3dcd5f1ff6 Remove duplicate header.
svn path=/trunk/; revision=16098
2005-06-19 17:34:05 +00:00
Filip Navara
f2ff7df489 (Re)move USER32 headers from include/user32.
svn path=/trunk/; revision=16097
2005-06-19 17:27:44 +00:00
Filip Navara
8625b6ac08 Remove duplicate headers.
svn path=/trunk/; revision=16096
2005-06-19 16:30:52 +00:00
Filip Navara
2954ec2db0 Better header redefiniton guards.
svn path=/trunk/; revision=16095
2005-06-19 15:40:47 +00:00
Filip Navara
ae8bd99934 - Add definition of DRIVE_LAYOUT_INFORMATION_EX.
- Move CLS defintions from winddk.h to ntnls.h.
- Move EVENT_TRACE_HEADER defintion from winddk.h to evntrace.h.

svn path=/trunk/; revision=16094
2005-06-19 15:27:10 +00:00
Hervé Poussineau
d4719c91ec Implement IRP_MN_QUERY_DEVICE_RELATIONS for USB hubs
Implement IRP_MN_QUERY_ID for devices enumerated by USB hubs

svn path=/trunk/; revision=16093
2005-06-19 14:15:39 +00:00
Magnus Olsen
30eee0c5d1 revert my lattes change some part of head did break
sorry all. 

svn path=/trunk/; revision=16092
2005-06-19 14:12:59 +00:00
Casper Hornstrup
a5e4e00e8a Count only scheduled time when running performance tests
svn path=/trunk/; revision=16091
2005-06-19 12:41:22 +00:00
Magnus Olsen
2caba7c355 add struct DDRAWI_DIRECTDRAW_GBL
svn path=/trunk/; revision=16090
2005-06-19 12:14:31 +00:00
Magnus Olsen
e661bfdc12 Correct the DD_GETDRIVERINFODATA struct it did missing a pointer to DDRAWI_DIRECTDRAW_GBL struct. Some need really check this file if more mistake exists
svn path=/trunk/; revision=16089
2005-06-19 12:13:57 +00:00
Magnus Olsen
17c0f2829a add TAG macro
svn path=/trunk/; revision=16088
2005-06-19 10:10:34 +00:00
Hartmut Birr
499a2712a9 Initialized the system call entry independent of the real type of SystemCall.
svn path=/trunk/; revision=16087
2005-06-19 09:48:14 +00:00
Filip Navara
fbf1722197 Couple of build fixes.
svn path=/trunk/; revision=16086
2005-06-19 09:07:44 +00:00
Filip Navara
068cf10896 Add TAG macro definition.
svn path=/trunk/; revision=16085
2005-06-19 08:21:35 +00:00
Filip Navara
b63e292fbd Add TAG macro definition.
svn path=/trunk/; revision=16084
2005-06-19 08:20:08 +00:00
Filip Navara
d864df4b3b Move the TAG define.
svn path=/trunk/; revision=16083
2005-06-19 08:15:10 +00:00
Filip Navara
887716169a Add TAG macro definition.
svn path=/trunk/; revision=16082
2005-06-19 08:14:18 +00:00
Filip Navara
b76c3856ee Move the TAG define.
svn path=/trunk/; revision=16081
2005-06-19 08:05:01 +00:00
Alex Ionescu
6048617aab Some more NDK fixes
svn path=/trunk/; revision=16080
2005-06-19 07:41:35 +00:00
Alex Ionescu
1311a0191c Fix rtl/rossym
svn path=/trunk/; revision=16079
2005-06-19 07:15:07 +00:00
Alex Ionescu
469fa69ab7 Add NtcurrentThread, ALTERNATIVE_ARCHITECTURE_TYPE, KSYSTEM_TIME, KUSER_SHARED_DATA, REG_CREATED_NEW_KEY, REG_OPENED_EXISTING_KEY, KeRaiseIrqlToSynchLevel to DDK. Remove HANDLE_TABLE_ENTRY_INFO and HANDLE_TABLE_ENTRY from NTIFS. Add NT_PRODUCT_TYPE
svn path=/trunk/; revision=16078
2005-06-19 07:11:49 +00:00
Alex Ionescu
10c1c40139 Fix some ntoskrnl things, like using Rtl instead of RosRtl, and undefining ROUND macros
svn path=/trunk/; revision=16077
2005-06-19 07:11:38 +00:00
Filip Navara
e960d42247 Use RTL_CONSTANT_STRING instead of ROSRTL macros.
svn path=/trunk/; revision=16076
2005-06-19 07:07:52 +00:00
Alex Ionescu
9d04f9a976 More NDK Fixes
svn path=/trunk/; revision=16075
2005-06-19 07:03:18 +00:00
Alex Ionescu
a6c04adbb2 Fix building issues caused by previous patch
svn path=/trunk/; revision=16074
2005-06-19 04:49:14 +00:00
Alex Ionescu
cbe3dc72cb Move Exported functions away from internal/ke.h, move exported data from internal/ex.h, add internal structures to internal/ifs.h, include ntdddisk.h in internal/xhal.h for access to PDRIVE_LAYOUT_INFORMATION, remove DDK function from internal/nls.h, remove KTRAP_FRAME from internal/i386/ke.h, add some more temporary types to krnltypes.h, protect PNP_VETO_TYPE, move EVENT_TRACE_HEADER to DDK, guard disk.h properly, correct DRIVE_LAYOUT_INFORMATION typedef in DDK, add PNP_VETO_TYPE, NLSTABLEINFO, CPTABLEINFO, remove KDPC_DATA, PP_LOOKASIDE_LIST. remove PROCESSOR_POWER_STATE from ntpoapi, remove MAILSLOT_CREATE_PARAMETERS, NAMED_PIPE_CREATE_PARAMETERS, IO_COMPLETION_INFORMATION_CLASS, PAGEFAULT_HISTORY, SECTION_XXX_INFORMATION, RtlSelfRelativeToAbsoluteSD, ZwQuerySection/Object, ZwQuerySystemInformation, ZwSetInformationObject, ZwSetSystemInformation from IFS
svn path=/trunk/; revision=16073
2005-06-19 03:55:48 +00:00
Alex Ionescu
428572a138 Move Exported functions away from internal/ke.h, move exported data from internal/ex.h, add internal structures to internal/ifs.h, include ntdddisk.h in internal/xhal.h for access to PDRIVE_LAYOUT_INFORMATION, remove DDK function from internal/nls.h, remove KTRAP_FRAME from internal/i386/ke.h, add some more temporary types to krnltypes.h, protect PNP_VETO_TYPE, move EVENT_TRACE_HEADER to DDK, guard disk.h properly, correct DRIVE_LAYOUT_INFORMATION typedef in DDK, add PNP_VETO_TYPE, NLSTABLEINFO, CPTABLEINFO, remove KDPC_DATA, PP_LOOKASIDE_LIST. remove PROCESSOR_POWER_STATE from ntpoapi, remove MAILSLOT_CREATE_PARAMETERS, NAMED_PIPE_CREATE_PARAMETERS, IO_COMPLETION_INFORMATION_CLASS, PAGEFAULT_HISTORY, SECTION_XXX_INFORMATION, RtlSelfRelativeToAbsoluteSD, ZwQuerySection/Object, ZwQuerySystemInformation, ZwSetInformationObject, ZwSetSystemInformation from IFS
svn path=/trunk/; revision=16072
2005-06-19 03:55:34 +00:00
Alex Ionescu
0af7b6f7a0 Many fixes to NDK
svn path=/trunk/; revision=16071
2005-06-19 03:25:33 +00:00
Alex Ionescu
5a4296bcec Remove PAGED_CODE, PAGED_CODE_RTL and RTL_ONSTANT_STRING from ntoskrnl.h. The first and last are in DDK, and the second is not used in the kernel and already defined
svn path=/trunk/; revision=16070
2005-06-19 01:10:08 +00:00
Filip Navara
5be76fa181 Use RTL_CONSTANT_STRING instead of ROSRTL macros.
svn path=/trunk/; revision=16069
2005-06-19 00:28:46 +00:00
Filip Navara
cc03f70b55 Use RTL_CONSTANT_STRING instead of ROSRTL macros.
svn path=/trunk/; revision=16068
2005-06-19 00:21:54 +00:00
Filip Navara
7971e8425b - Use regular PE structures in NTOSKRNL/NTDLL/DISKDUMP.
- Add WDMGUID library.
- Get rid of few more headers.

svn path=/trunk/; revision=16067
2005-06-19 00:06:08 +00:00
Alex Ionescu
c09b52bf01 Add NDK 1.00-pre. Needs some TLC in umtypes.h and a lot of fixes. Not used anywhere yet.
svn path=/trunk/; revision=16066
2005-06-18 23:33:40 +00:00
Magnus Olsen
46f26a073b make inline asm -O3 compatible (remove L1 and L2 label) thx blight and alex to explain how to do that.
svn path=/trunk/; revision=16065
2005-06-18 22:54:12 +00:00
Filip Navara
bc47c238df Remove duplicate definition of KdPrintEx.
svn path=/trunk/; revision=16064
2005-06-18 22:06:54 +00:00
Magnus Olsen
5e0373034a make gcc stop nag about uninitialized value in 114: and make -O3 working
svn path=/trunk/; revision=16063
2005-06-18 21:55:59 +00:00
Filip Navara
dc337def98 Get rid of ROS DDK SCSI headers (forgot these files in r16060).
svn path=/trunk/; revision=16061
2005-06-18 21:02:59 +00:00
Filip Navara
fd44a4b514 Get rid of ROS DDK SCSI headers.
svn path=/trunk/; revision=16060
2005-06-18 20:55:09 +00:00
Gé van Geldorp
39da2fef47 Thanks to GreatLord for spotting that we shouldn't access pixels outside the
source surface in EngBitBlt.

svn path=/trunk/; revision=16059
2005-06-18 20:29:31 +00:00
Filip Navara
91a2889e07 - Convert mouclass and sermouse to use official DDK prototypes.
- Get rid of the old ROS DDK headers.

svn path=/trunk/; revision=16058
2005-06-18 20:25:08 +00:00
Gé van Geldorp
95d1b8ae62 Use correct dest rect when preventing copy outside source surf
svn path=/trunk/; revision=16057
2005-06-18 19:53:49 +00:00
Filip Navara
434303caa3 Don't include internal headers.
svn path=/trunk/; revision=16056
2005-06-18 19:30:47 +00:00
Filip Navara
8b43bd8c4c Add __ASM__ guard.
svn path=/trunk/; revision=16055
2005-06-18 19:30:15 +00:00
Filip Navara
31b7f64f58 Fix build. :/
svn path=/trunk/; revision=16054
2005-06-18 19:13:29 +00:00
Filip Navara
52f8761d3a Use W32API for NTOSKRNL.
svn path=/trunk/; revision=16053
2005-06-18 18:32:29 +00:00
Filip Navara
ff246534c9 Fix build.
svn path=/trunk/; revision=16052
2005-06-18 17:22:21 +00:00
Filip Navara
fb0959e85a - Move few non-DDK types from ROS DDK to NTOS headers.
- Fix some __USE_W32API guards.


svn path=/trunk/; revision=16051
2005-06-18 17:17:52 +00:00
Filip Navara
4d14d7da13 Define DRVO_UNLOAD_INVOKED, DRVO_LEGACY_DRIVER, DRVO_BUILTIN_DRIVER, DRVO_REINIT_REGISTERED, DRVO_INITIALIZED, DRVO_BOOTREINIT_REGISTERED and DRVO_LEGACY_RESOURCES. Thanks Alex.
svn path=/trunk/; revision=16050
2005-06-18 16:56:41 +00:00
Filip Navara
bb40279864 Move non-DDK Ps* function prototypes and types from ROS DDK to NTOS headers.
svn path=/trunk/; revision=16049
2005-06-18 16:53:34 +00:00
Filip Navara
a7753f898e Move non-DDK Se* function prototypes and types from ROS DDK to NTOS headers.
svn path=/trunk/; revision=16048
2005-06-18 16:21:46 +00:00
Filip Navara
c818943efa Move InsertAscendingListFIFO, InsertDescendingListFIFO, InsertAscendingList and InsertDescendingList out of the __USE_W32API guarded region.
svn path=/trunk/; revision=16047
2005-06-18 15:58:39 +00:00
Filip Navara
2d6c9998be - Move non-DDK HAL function prototypes from ROS DDK to NTOS headers.
svn path=/trunk/; revision=16046
2005-06-18 15:55:23 +00:00
Filip Navara
73d83fbb2b Fix build.
svn path=/trunk/; revision=16045
2005-06-18 15:50:23 +00:00
Alex Ionescu
7bbb54b0e7 Fix XML bug in hal makefiles
svn path=/trunk/; revision=16044
2005-06-18 15:24:30 +00:00
Filip Navara
0f030a82b0 - Move non-DDK Ke* function prototypes from ROS DDK to NTOS headers.
- Fix calling convention for KeI386* functions.

svn path=/trunk/; revision=16043
2005-06-18 15:15:25 +00:00
Alex Ionescu
99cc88158b Use generic HAL header
svn path=/trunk/; revision=16040
2005-06-18 14:30:09 +00:00
Alex Ionescu
f8d053290e Build Generic HAL with w32api
svn path=/trunk/; revision=16039
2005-06-18 14:29:31 +00:00
Alex Ionescu
06e00cb9c9 Build XBOX HAL with w32api
svn path=/trunk/; revision=16038
2005-06-18 14:29:17 +00:00
Alex Ionescu
762e020a20 Build UP HAL with w32api
svn path=/trunk/; revision=16037
2005-06-18 14:28:55 +00:00
Alex Ionescu
3e334c65fc Build MP HAL with w32api
svn path=/trunk/; revision=16036
2005-06-18 14:28:28 +00:00
Alex Ionescu
a5579f945f Build stub HAL with w32api
svn path=/trunk/; revision=16035
2005-06-18 14:27:44 +00:00
Alex Ionescu
01251016ad Remove weird header and add a missing prototype in halfuncs.h
svn path=/trunk/; revision=16034
2005-06-18 14:26:22 +00:00
Alex Ionescu
eb4f82ce4d Remove IoAdapterObjectType defintion, it doesn't belong in public headers
svn path=/trunk/; revision=16033
2005-06-18 14:10:28 +00:00
Filip Navara
cc6150fb29 Fix SMP version of ASSERT and assert.
svn path=/trunk/; revision=16032
2005-06-18 14:05:56 +00:00
Filip Navara
14b69747a2 Remove duplicate definition of EVENT_QUERY_STATE.
svn path=/trunk/; revision=16031
2005-06-18 13:15:07 +00:00
Filip Navara
6a7e9f4bf7 Correctly pack the KIPCR structure.
svn path=/trunk/; revision=16030
2005-06-18 12:56:11 +00:00
Filip Navara
4fd0801d50 Fix position of the STDCALL keyword. Spotted by KJK::Hyperion.
svn path=/trunk/; revision=16029
2005-06-18 12:55:02 +00:00
Filip Navara
186c8b72d1 ntapi.h:
- Define LANGID and fix definition of PLANGID.
- Define PVM_COUNTERS, SYSTEM_CACHE_INFORMATION and SYSTEM_INTERRUPT_INFORMATION.
- Match the ROS version of LPC_MESSAGE (the structure itself should be named PORT_MESSAGE and belongs to ntifs.h).
- Move KEY_SET_INFORMATION_CLASS definiton to winddk.h.
- Make the first parameter of NtAllocateUuids PULARGE_INTEGER.
- Declare NtSetUuidSeed.
- Fix definition of ATOM_INFORMATION_CLASS and ATOM_BASIC_INFORMATION to match ReactOS versions.
winddk.h:
- Define NTHALAPI and use it to mark HAL exports instead of NTOSAPI.
- Define PADAPTER_OBJECT, EVENT_QUERY_STATE, EVENT_MODIFY_STATE, EVENT_ALL_ACCESS, SEMAPHORE_QUERY_STATE, SEMAPHORE_MODIFY_STATE, SEMAPHORE_ALL_ACCESS, IRP_QUOTA_CHARGED, IRP_ALLOCATED_MUST_SUCCEED, IRP_ALLOCATED_FIXED_SIZE, IRP_LOOKASIDE_ALLOCATION, HalDispatchTableVersion, HalQuerySystemInformation, HalSetSystemInformation, HalQueryBusSlots, HalDeviceControl, HalIoAssignDriveLetters, HalIoReadPartitionTable, HalIoSetPartitionInformation, HalIoWritePartitionTable, HalReferenceHandlerForBus, HalReferenceBusHandler, HalDereferenceBusHandler, IO_TYPE_ADAPTER, IO_TYPE_CONTROLLER, IO_TYPE_DEVICE, IO_TYPE_DRIVER,
IO_TYPE_FILE, IO_TYPE_IRP, IO_TYPE_MASTER_ADAPTER, IO_TYPE_OPEN_PACKET,
IO_TYPE_TIMER, IO_TYPE_VPB, IO_TYPE_ERROR_LOG, IO_TYPE_ERROR_MESSAGE,
IO_TYPE_DEVICE_OBJECT_EXTENSION, IO_FORCE_ACCESS_CHECK and IO_NO_PARAMETER_CHECKING.
- Remove declaration of HalPrivateDispatchTable, it doesn't belong to public headers.
- Fix declaration of WAIT_CONTEXT_BLOCK, HalDispatchTable, DRIVER_EXTENSION, GENERAL_LOOKASIDE, NPAGED_LOOKASIDE_LIST, PAGED_LOOKASIDE_LIST, KPCR_TIB, MmHighestUserAddress, MmSystemRangeStart, MmUserProbeAddress, KdDebuggerNotPresent and KdDebuggerEnabled.
- Declare KEY_WRITE_TIME_INFORMATION, KEY_USER_FLAGS_INFORMATION, KEY_SET_INFORMATION_CLASS, KfAcquireSpinLock, KfReleaseSpinLock and ExfInterlockedCompareExchange64.
winnt4.h:
- Declare HalAcquireDisplayOwnership and HalAllocateAdapterChannel.
ntifs.h:
- Fix definition of NTKERNELAPI.
- Fix declaration of FsRtlLegalAnsiCharacterArray, FsRtlNotifyInitializeSync, FsRtlNotifyUninitializeSync, IoCheckFunctionAccess and PsGetProcessExitTime.
- Declare IoStatisticsLock, IoReadOperationCount, IoWriteOperationCount, IoOtherOperationCount, IoReadTransferCount, IoWriteTransferCount,
IoOtherTransferCount, FSRTL_ADVANCED_FCB_HEADER, FSRTL_PER_STREAM_CONTEXT, PFILTER_REPORT_CHANGE, FS_FILTER_SECTION_SYNC_TYPE, FS_FILTER_PARAMETERS, FS_FILTER_CALLBACK_DATA, PFS_FILTER_CALLBACK, PFS_FILTER_COMPLETION_CALLBACK, FS_FILTER_CALLBACKS, READ_LIST, ExInitializeRundownProtection, ExReInitializeRundownProtection, ExAcquireRundownProtection, ExAcquireRundownProtectionEx, ExReleaseRundownProtection, ExReleaseRundownProtectionEx, ExRundownCompleted, ExWaitForRundownProtectionRelease, FsRtlMdlReadDev, FsRtlPrepareMdlWriteDev, PFSRTL_STACK_OVERFLOW_ROUTINE, FsRtlPostStackOverflow, FsRtlPostPagingFileStackOverflow, IoAttachDeviceToDeviceStackSafe, IoQueueThreadIrp, KeInitializeMutant, KeReadStateMutant, KeReleaseMutant and PsIsSystemThread.
- Define FSRTL_FAT_LEGAL, FSRTL_HPFS_LEGAL, FSRTL_NTFS_LEGAL, FSRTL_WILD_CHARACTER, FSRTL_OLE_LEGAL, FSRTL_NTFS_STREAM_LEGAL, EX_RUNDOWN_ACTIVE, EX_RUNDOWN_COUNT_SHIFT, EX_RUNDOWN_COUNT_INC, FsRtlIsLeadDbcsCharacter and FsRtlIsAnsiCharacterWild.
- Remove declaration of SYSTEM_CACHE_INFORMATION and SeCreateAccessState, they don't belong to public headers.

svn path=/trunk/; revision=16028
2005-06-18 12:39:24 +00:00
Filip Navara
69b04c6fd2 Define PAGE_WRITECOMBINE, IMAGE_OPTIONAL_HEADER32, IMAGE_OPTIONAL_HEADER64, IMAGE_NT_HEADERS32 and IMAGE_NT_HEADERS64.
svn path=/trunk/; revision=16027
2005-06-18 12:12:41 +00:00
Gregor Anich
eb4f850ff3 Fix stupid bug...
svn path=/trunk/; revision=16026
2005-06-18 11:42:42 +00:00
Eric Kohl
65a5620cd8 Implement basic string table functions
svn path=/trunk/; revision=16025
2005-06-18 11:30:49 +00:00
Casper Hornstrup
1ac8300db4 DIB_24BPP_ColorFill performance test
svn path=/trunk/; revision=16024
2005-06-18 08:04:30 +00:00
Martin Fuchs
2486be430f remove superfluous include
svn path=/trunk/; revision=16023
2005-06-18 07:43:49 +00:00
Casper Hornstrup
37e38723e7 Prepare win32k for tests
svn path=/trunk/; revision=16022
2005-06-18 06:17:10 +00:00
Filip Navara
fbf52b7050 Fix "make test".
svn path=/trunk/; revision=16021
2005-06-17 22:59:39 +00:00
Alex Ionescu
b7754ab78d Add KIPCR which will be needed soon and add one more internal function
svn path=/trunk/; revision=16020
2005-06-17 22:05:16 +00:00
Filip Navara
7cee43970a Remove few more dead headers.
svn path=/trunk/; revision=16019
2005-06-17 21:35:33 +00:00
Gé van Geldorp
c37765923c - Correctly translate output rect
- Don't call DIB routines for empty (clipped away) rectangles

svn path=/trunk/; revision=16018
2005-06-17 20:54:24 +00:00
Martin Fuchs
5d7043ea5a remove tabs for proper indenting
svn path=/trunk/; revision=16017
2005-06-17 20:32:22 +00:00
Casper Hornstrup
da4957ec53 External modules area
svn path=/trunk/; revision=16016
2005-06-17 20:30:57 +00:00
Martin Fuchs
f53f915435 sync to Wine's latest "warning fixes"
svn path=/trunk/; revision=16015
2005-06-17 20:28:06 +00:00
Martin Fuchs
836c8f9265 remove old headerfile "license.h"
svn path=/trunk/; revision=16014
2005-06-17 20:23:31 +00:00
Martin Fuchs
3f0cb9fa9f Update Copyright information from Wine's repository
svn path=/trunk/; revision=16013
2005-06-17 20:22:08 +00:00
Filip Navara
609922c292 Add definition of PKBUGCHECK_REASON_CALLBACK_ROUTINE, KBUGCHECK_REASON_CALLBACK_RECORD and KBUGCHECK_CALLBACK_REASON.
svn path=/trunk/; revision=16012
2005-06-17 20:09:20 +00:00
Filip Navara
6c512c6430 Cleanup the indenting of HAL types and move the STDCALL/FASTCALL keywords at the right place in the declarations.
svn path=/trunk/; revision=16011
2005-06-17 20:01:51 +00:00
Filip Navara
d1dbe1be23 Remove definiton of PHAL_RESET_DISPLAY_PARAMETERS.
svn path=/trunk/; revision=16010
2005-06-17 19:43:51 +00:00
Filip Navara
a8f8cec2a4 Be W32API friendly.
svn path=/trunk/; revision=16009
2005-06-17 19:27:49 +00:00
Alex Ionescu
d143eebd0f Add missing HAL types to DDK
svn path=/trunk/; revision=16008
2005-06-17 18:02:31 +00:00
Alex Ionescu
4b08e9770a Oops. Thanks w3seek
svn path=/trunk/; revision=16007
2005-06-17 17:59:11 +00:00
Filip Navara
0a48555ba9 - Comment out the call to SHObjectProperties. The one who added it must have been complete freak since the parameters were completely wrong. Don't let me do "svn log" ...
- Remove duplicate definition from version.h.

svn path=/trunk/; revision=16006
2005-06-17 17:44:39 +00:00
Filip Navara
7af0efc0bc - Define SHOP_PRINTERNAME, SHOP_FILEPATH and SHOP_VOLUMEGUID.
- Declare SHObjectProperties.

svn path=/trunk/; revision=16005
2005-06-17 17:37:54 +00:00
Gregor Anich
3ab6c437cc longjmp() should return 1 if 0 is passed as return value (0 should only be returned by setjmp)
svn path=/trunk/; revision=16004
2005-06-17 17:33:47 +00:00
Gregor Anich
402b13b071 Fix another broken setjmp.
svn path=/trunk/; revision=16003
2005-06-17 17:27:03 +00:00
Gregor Anich
faeb567e1c Fix setjmp (didn't save correct ESP, so it crashed after longjmp).
Fix the kernel debugger.

svn path=/trunk/; revision=16002
2005-06-17 17:25:02 +00:00
Hervé Poussineau
8502799382 Implement IRP_MN_QUERY_CAPABILITIES, IRP_MN_QUERY_RESOURCES, IRP_MN_QUERY_RESOURCE_REQUIREMENTS
svn path=/trunk/; revision=16001
2005-06-17 17:22:57 +00:00
Alex Ionescu
ffe54a1108 Enable PCH for NTDLL. This is commit 16000. Alex pwns you all.
svn path=/trunk/; revision=16000
2005-06-17 17:22:44 +00:00
Alex Ionescu
2df663e3fe Use NTDLL Common Header.
svn path=/trunk/; revision=15999
2005-06-17 17:22:27 +00:00
Alex Ionescu
5e400ded46 Add NTDLL Common Header
svn path=/trunk/; revision=15998
2005-06-17 17:22:19 +00:00
Alex Ionescu
46794424c7 Enable PCH for rtl
svn path=/trunk/; revision=15997
2005-06-17 17:22:12 +00:00
Gregor Anich
bfe3229a7d Remove #include <poppack.h> - there is no pshpack beeing included.
svn path=/trunk/; revision=15996
2005-06-17 17:18:58 +00:00
Filip Navara
ef09f86407 Use W32API.
svn path=/trunk/; revision=15995
2005-06-17 17:15:55 +00:00
Filip Navara
580b785a18 Fix the export of HalExamineMBR. It mustn't be aliased since we need to have it named correctly in the import library.
svn path=/trunk/; revision=15994
2005-06-17 17:14:57 +00:00
Filip Navara
b4a5cd914f - Move DRIVE_LAYOUT_INFORMATION_MBR, DRIVE_LAYOUT_INFORMATION_GPT and
PARTITION_INFORMATION_MBR structures from winddk.h to ntdddisk.h.
- Add definitions of IOCTL_DISK_HISTOGRAM_STRUCTURE, IOCTL_DISK_HISTOGRAM_DATA,
  IOCTL_DISK_HISTOGRAM_RESET, IOCTL_DISK_LOGGING, IOCTL_DISK_REQUEST_DATA,
  IOCTL_DISK_REQUEST_STRUCTURE, PARTITION_INFORMATION_MBR,
  DRIVE_LAYOUT_INFORMATION and IO_QUERY_DEVICE_DATA_FORMAT.

svn path=/trunk/; revision=15993
2005-06-17 17:12:17 +00:00
Filip Navara
0794ad5aa6 - Get rid of STDCALL_FUNC usage in napi/core.h.
- Allow including ntos.h and ntdddisk.h at the same time.

svn path=/trunk/; revision=15992
2005-06-17 17:08:04 +00:00
Filip Navara
c57e3d0690 Fix definition of LPC_MAX_MESSAGE for __USE_W32API case.
svn path=/trunk/; revision=15991
2005-06-17 16:58:15 +00:00
Filip Navara
300fd866a2 Fix packing of structures.
svn path=/trunk/; revision=15990
2005-06-17 16:35:17 +00:00
Thomas Bluemel
dfe571622c - fixed a possible deadlock in SmBeginClientInitialization
- fixed SmCompleteClientInitialization to return success when the client data could be found
- don't copy the program name to a NULL pointer in SmCreateClient in case allocating the storage failed

svn path=/trunk/; revision=15989
2005-06-17 16:26:04 +00:00
Casper Hornstrup
ac243d95f2 Build wrc in output tree.
Patch by Sylvain Petreolle [spetreolle@yahoo.fr].


svn path=/trunk/; revision=15988
2005-06-17 16:12:33 +00:00
Hervé Poussineau
a9a05b022d Disable some code in cromwell, as you get an infinite loop on some hardware ("ERR: drivers\usb\cromwell\uhci\uhci-hcd.c: 1060: host controller halted. very bad during boot")
svn path=/trunk/; revision=15987
2005-06-17 15:48:15 +00:00
Magnus Olsen
2e71724ae1 New icon from mf. same as cmd icon
svn path=/trunk/; revision=15986
2005-06-17 15:47:10 +00:00
Filip Navara
ddec33b110 Use W32API.
svn path=/trunk/; revision=15985
2005-06-17 15:10:01 +00:00
Filip Navara
f44cbee050 Get rid of obsolete makefile.
svn path=/trunk/; revision=15984
2005-06-17 14:00:19 +00:00
Filip Navara
e37f6810a5 CSQ is linked to the kernel also, so make that work.
svn path=/trunk/; revision=15983
2005-06-17 13:59:47 +00:00
Filip Navara
7554c281d5 Use W32API.
svn path=/trunk/; revision=15982
2005-06-17 13:24:50 +00:00
Filip Navara
8342ea7301 Remove KEBUGCHECK and KEBUGCHECKEX definitions.
svn path=/trunk/; revision=15981
2005-06-17 13:22:12 +00:00
Filip Navara
3f77a1c166 Fix a typo. :(
svn path=/trunk/; revision=15980
2005-06-17 13:17:46 +00:00
Filip Navara
a4cb3017e6 Define KEBUGCHECK and KEBUGCHECKEX here.
svn path=/trunk/; revision=15979
2005-06-17 13:13:37 +00:00
Filip Navara
05548c5587 A bit of W32API friendliness...
svn path=/trunk/; revision=15978
2005-06-17 13:12:45 +00:00
Filip Navara
bae68b41b1 Use W32API.
svn path=/trunk/; revision=15977
2005-06-17 13:05:11 +00:00
Filip Navara
6a36797b61 Allow csq.h to be included along with ntddk.h.
svn path=/trunk/; revision=15976
2005-06-17 13:00:03 +00:00
Filip Navara
1b5f61f4e6 Include the prototypes for CcRosInitializeFileCache and CcRosReleaseFileCache even when compiling w/ W32API.
svn path=/trunk/; revision=15975
2005-06-17 12:59:27 +00:00
Filip Navara
4cd0b32494 - Fix prototype of IoCsqInitialize.
- Define IO_TYPE_CSQ and IO_TYPE_CSQ_IRP_CONTEXT.

svn path=/trunk/; revision=15974
2005-06-17 12:57:31 +00:00
Filip Navara
a965b968f2 Get rid of obsolete makefile.
svn path=/trunk/; revision=15973
2005-06-17 12:31:49 +00:00
Filip Navara
e0463986d3 Build file system drivers w/ W32API headers.
svn path=/trunk/; revision=15972
2005-06-17 12:29:33 +00:00
Filip Navara
b0d3f5b991 Make the ASSERT macros GCC friendly.
svn path=/trunk/; revision=15971
2005-06-17 12:24:29 +00:00
Filip Navara
317d4942bd Use W32API.
svn path=/trunk/; revision=15970
2005-06-17 11:40:11 +00:00
Filip Navara
d604caaaf3 Get rid of the prehistoric GNU Windows32 headers.
svn path=/trunk/; revision=15969
2005-06-17 11:29:07 +00:00
Filip Navara
14e5873c84 Do NOT include defines.h in .rc files.
svn path=/trunk/; revision=15968
2005-06-17 11:28:23 +00:00
Filip Navara
bd0ef4def4 Use W32API.
svn path=/trunk/; revision=15967
2005-06-17 11:22:47 +00:00
Filip Navara
aab0294f3b Use W32API.
svn path=/trunk/; revision=15966
2005-06-17 11:05:49 +00:00
Filip Navara
ab4dfd00f0 Don't include windows.h in drivers.
svn path=/trunk/; revision=15965
2005-06-17 10:54:34 +00:00
Filip Navara
3fb65d4597 - Use W32API.
- Fix some protoypes.

svn path=/trunk/; revision=15964
2005-06-17 10:43:58 +00:00
Filip Navara
19955a57e1 Fix declaration of AdvancedDocumentProperties[AW].
svn path=/trunk/; revision=15963
2005-06-17 10:43:16 +00:00
Thomas Bluemel
acfd0635dd implemented the TokenRestrictedSids information class for NtQueryInformationToken, however restricted SIDs are not yet supported!
svn path=/trunk/; revision=15962
2005-06-17 10:30:59 +00:00
Filip Navara
785eb54c6a Use W32API.
svn path=/trunk/; revision=15961
2005-06-17 10:15:21 +00:00
Filip Navara
37bfae8d86 Use W32API.
svn path=/trunk/; revision=15960
2005-06-17 09:57:53 +00:00
Filip Navara
ba98c65d7a - Declare IO_ERROR_LOG_MESSAGE.
- Define ERROR_LOG_LIMIT_SIZE and IO_ERROR_LOG_MESSAGE_HEADER_LENGTH.

svn path=/trunk/; revision=15959
2005-06-17 09:57:28 +00:00
Thomas Bluemel
f6e5d12f4c implemented IsTokenRestricted(), inspired by a patch to winehq by James Hawkins
svn path=/trunk/; revision=15958
2005-06-17 09:46:29 +00:00
Filip Navara
a50fde81ae Use W32API.
svn path=/trunk/; revision=15957
2005-06-17 09:46:21 +00:00
Filip Navara
204dc0088b Use W32API.
svn path=/trunk/; revision=15956
2005-06-17 09:46:03 +00:00
Filip Navara
826e4d001b Use W32API.
svn path=/trunk/; revision=15955
2005-06-17 09:45:42 +00:00
Filip Navara
99e07a1ddf Use W32API.
svn path=/trunk/; revision=15954
2005-06-17 08:12:20 +00:00
Filip Navara
138bbbaa3a Use W32API.
svn path=/trunk/; revision=15953
2005-06-17 08:08:58 +00:00
Filip Navara
05061cedaa Use W32API.
svn path=/trunk/; revision=15952
2005-06-17 08:05:58 +00:00
Filip Navara
63ac2d0f1f Cleanup the usage of W32API.
svn path=/trunk/; revision=15951
2005-06-17 08:02:05 +00:00
Filip Navara
754ccb0eb6 Use W32API.
svn path=/trunk/; revision=15950
2005-06-17 08:00:30 +00:00
Filip Navara
3814e88279 Use W32API.
svn path=/trunk/; revision=15949
2005-06-17 07:59:43 +00:00
Filip Navara
d4e71ef096 Use W32API.
svn path=/trunk/; revision=15948
2005-06-17 07:57:37 +00:00
Filip Navara
7ccf07aecc A bit of W32API friendliness...
svn path=/trunk/; revision=15947
2005-06-17 07:55:45 +00:00
Filip Navara
81405a8541 Use W32API.
svn path=/trunk/; revision=15946
2005-06-17 07:53:58 +00:00
Filip Navara
c893e787ea - Use standard TLS instead of custom TEB field.
- Use W32API.

svn path=/trunk/; revision=15945
2005-06-17 07:53:34 +00:00
Filip Navara
c7ccd70dbd Add definitions of ACCESS_MAX_MS_V2_ACE_TYPE, ACCESS_ALLOWED_COMPOUND_ACE_TYPE, ACCESS_MAX_MS_V3_ACE_TYPE, ACCESS_MIN_MS_OBJECT_ACE_TYPE, ACCESS_ALLOWED_OBJECT_ACE_TYPE, ACCESS_DENIED_OBJECT_ACE_TYPE, SYSTEM_AUDIT_OBJECT_ACE_TYPE, SYSTEM_ALARM_OBJECT_ACE_TYPE, ACCESS_MAX_MS_OBJECT_ACE_TYPE, ACCESS_MAX_MS_V4_ACE_TYPE, ACCESS_MAX_MS_ACE_TYPE, ACCESS_ALLOWED_CALLBACK_ACE_TYPE, ACCESS_DENIED_CALLBACK_ACE_TYPE, ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE, ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE, SYSTEM_AUDIT_CALLBACK_ACE_TYPE, SYSTEM_ALARM_CALLBACK_ACE_TYPE, SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE, SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE, ACCESS_MAX_MS_V5_ACE_TYPE, SID_MAX_SUB_AUTHORITIES, SID_RECOMMENDED_SUB_AUTHORITIES, SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_PRESENT, SE_DACL_DEFAULTED, SE_SACL_PRESENT, SE_SACL_DEFAULTED, SE_DACL_UNTRUSTED, SE_SERVER_SECURITY, SE_DACL_AUTO_INHERIT_REQ, SE_SACL_AUTO_INHERIT_REQ, SE_DACL_AUTO_INHERITED, SE_SACL_AUTO_INHERITED, SE_DACL_PROTECTED, SE_SACL_PROTECTED, SE_RM_CONTROL_VALID and SE_SELF_RELATIVE.
svn path=/trunk/; revision=15944
2005-06-17 07:16:01 +00:00
Filip Navara
59801357f9 - Declare POLICY_NOTIFICATION_INFORMATION_CLASS and SECURITY_LOGON_SESSION_DATA.
- Fix declaration of CRITICAL_SECTION and RTL_CRITICAL_SECTION.

svn path=/trunk/; revision=15943
2005-06-17 07:12:16 +00:00
Alex Ionescu
314e0eaf59 Fix bug in gate code
svn path=/trunk/; revision=15942
2005-06-17 00:13:44 +00:00
Alex Ionescu
c2167ebb58 Fix strpbrk
svn path=/trunk/; revision=15941
2005-06-17 00:13:10 +00:00
Gé van Geldorp
66c72376e1 Declare Guarded Mutex functions and export them
svn path=/trunk/; revision=15940
2005-06-16 22:15:43 +00:00
Hervé Poussineau
f104c62bd6 Add "depends" target for makefiles
svn path=/trunk/; revision=15939
2005-06-16 21:02:52 +00:00
James Tabor
11ae17704c Plugging in CallMsgFilter.
svn path=/trunk/; revision=15938
2005-06-16 20:47:47 +00:00
James Tabor
1284e1351f Pluged in CallMsgFilter.
svn path=/trunk/; revision=15937
2005-06-16 20:47:09 +00:00
Hervé Poussineau
192c84808f Use <ifnot property="ARCH" value="i386"> instead of <if property="ARCH" value="unknown">, because ARCH would never be defined to unknown
svn path=/trunk/; revision=15936
2005-06-16 20:46:48 +00:00
James Tabor
2054ea72e9 Pluged in CallMsgFilter, I tested this and no crashes on real hardware.
svn path=/trunk/; revision=15935
2005-06-16 20:46:39 +00:00
Hervé Poussineau
8f5dd38cdd Implement <ifnot>
svn path=/trunk/; revision=15934
2005-06-16 20:37:50 +00:00
Gé van Geldorp
2cc8819bc6 Fix warning
svn path=/trunk/; revision=15933
2005-06-16 09:25:51 +00:00
Hartmut Birr
f31239f089 Changed InterlockedIncrement and InterlockedDecrement to return the modified value.
svn path=/trunk/; revision=15932
2005-06-15 23:08:33 +00:00
Hartmut Birr
c8ba8dd860 Removed intrlck.c, because it is already in lib\rtl.
svn path=/trunk/; revision=15931
2005-06-15 23:00:10 +00:00
Hartmut Birr
3ab1c49a3e Removed strpbrk.c.
svn path=/trunk/; revision=15930
2005-06-15 22:52:03 +00:00
Hartmut Birr
251cbb167f Add an optimized version of strpbrk to the string library.
svn path=/trunk/; revision=15929
2005-06-15 22:47:12 +00:00
Hartmut Birr
60410fb891 Used the assembler source for the i386 architecture.
svn path=/trunk/; revision=15928
2005-06-15 22:39:03 +00:00
KJK::Hyperion
cba0f39ae7 No reason KiDoubleFaultHandler should return a value - in fact it doesn't return at all
svn path=/trunk/; revision=15927
2005-06-15 21:55:36 +00:00
Steven Edwards
f050a320ca Added new better tracert replacement by Ged Murphy
svn path=/trunk/; revision=15926
2005-06-15 20:24:31 +00:00
Steven Edwards
4345881c2a Use w32api
svn path=/trunk/; revision=15925
2005-06-15 20:05:54 +00:00
Steven Edwards
6dfaa9b3a5 some magic to make w32api happy when using a [arch]-linux compiler rather than mingw32
svn path=/trunk/; revision=15924
2005-06-15 19:45:28 +00:00
Maarten Bosma
87ee9dfafb delete .cvsignore
svn path=/trunk/; revision=15923
2005-06-15 17:51:54 +00:00
Maarten Bosma
84321058f9 removed rules.mak and outdated entries from readme.txt
svn path=/trunk/; revision=15922
2005-06-15 17:42:12 +00:00
Maarten Bosma
f30aac562d remove old makefile
svn path=/trunk/; revision=15921
2005-06-15 17:37:14 +00:00
Maarten Bosma
3bf9dce002 Created XML makefiles for rosapps. You need to checkout /rosapps in your /reactos folder to use it. This projects do not build: /lib/dflat32 and /welcome (I don't know if they did before). Winemine does not work. (but it builds) /test makefiles are not done yet.
svn path=/trunk/; revision=15920
2005-06-15 17:19:52 +00:00
Hervé Poussineau
0d5c780913 Add Green driver, that emulates a VT100 compatible server.
Input won't work as long as we don't have a kdbclass driver.Add stubs for IOCTL_USB_GET_NODE_CONNECTION_NAME, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION, IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

svn path=/trunk/; revision=15919
2005-06-15 17:11:36 +00:00
KJK::Hyperion
390d16bed5 Removed empty directory
svn path=/trunk/; revision=15918
2005-06-14 22:08:13 +00:00
Filip Navara
9e9a326ead Add Nokia/Ericsson vitrual key codes.
svn path=/trunk/; revision=15917
2005-06-14 21:59:07 +00:00
Filip Navara
095faa8449 - Remove KeAttachProcess and KeDetachProcess prototypes from winddk.h.
- Remove non-public object manager stuff from W32API and ROS headers.

svn path=/trunk/; revision=15916
2005-06-14 20:41:49 +00:00
Filip Navara
a6b2363ea0 Use KeStackAttachProcess/KeUnstackDetachProcess instead of KeAttachProcess/KeDetachProcess.
svn path=/trunk/; revision=15915
2005-06-14 20:24:02 +00:00
Filip Navara
56f5461bff Revert r15906 change.
svn path=/trunk/; revision=15914
2005-06-14 18:39:12 +00:00
Gregor Anich
88e9416cb8 Fix compilation.
svn path=/trunk/; revision=15913
2005-06-14 18:33:59 +00:00
Hartmut Birr
83ff161361 It was a bad idea to manipulate the length of the given unicode string if we don't like the the starting back slash.
svn path=/trunk/; revision=15912
2005-06-14 18:33:02 +00:00
Alex Ionescu
d101bc4e2d Add an ARC Header for future purposes (PPC, ARM, etc, ARCLoader) and implement KeFindConfigurationNextEntry and fix the definition
svn path=/trunk/; revision=15911
2005-06-14 17:37:07 +00:00
Filip Navara
f4ff6e70b3 Accidently removed one line in the last commit ... gotta love this header hell. :/
svn path=/trunk/; revision=15910
2005-06-14 14:44:11 +00:00
Filip Navara
83210a64d6 A bit of W32API magic.
svn path=/trunk/; revision=15909
2005-06-14 13:50:23 +00:00
Filip Navara
17990a22f5 Fix compilation error (try 2).
svn path=/trunk/; revision=15908
2005-06-14 13:46:32 +00:00
Filip Navara
cd1a3da016 Fix compilation error.
svn path=/trunk/; revision=15907
2005-06-14 13:45:31 +00:00
Filip Navara
b2970c097e - Fix the declarations of PDRIVER_CANCEL, KeGetCurrentProcessorNumber and KPCR in ROS headers.
- Fix the declarations of KeGetCurrentProcessorNumber, PIO_QUERY_DEVICE_ROUTINE, THREAD_STATE, KPCR and KeAttachProcess in W32API headers.
- Remove KeInitializeApc, KEVENT_PAIR and TERMINATION_PORT declarations from W32API, they don't belong there.
- Correct the STDCALL order in callback declarations in winddk.h.

svn path=/trunk/; revision=15906
2005-06-14 13:10:40 +00:00
Hervé Poussineau
819d60094a Enumerate root hub connected to UHCI controller
Use Cromwell USB stack to initialize UHCI controller

svn path=/trunk/; revision=15905
2005-06-14 12:31:51 +00:00
Alex Ionescu
2e0ff75066 Remove excessive debugging messages used during testing
svn path=/trunk/; revision=15904
2005-06-14 03:35:23 +00:00
Alex Ionescu
28c50308c7 Fix OB Bug and port ObQueryNameString from my branch so Herve can get back to working on USB. Sorry for taking so long, hpoussin\!
svn path=/trunk/; revision=15903
2005-06-14 03:33:21 +00:00
Gé van Geldorp
9c3a32fd9e Re-apply r15878 as it wasn't the cause of the problems
svn path=/trunk/; revision=15902
2005-06-13 22:27:09 +00:00
Gé van Geldorp
08d5e5e7e5 We were changing the edi register, but not informing the compiler about this.
For certain optimization combinations, the compiler would assume edi was
unchanged. Fixed by adding %edi to the clobber list.

svn path=/trunk/; revision=15901
2005-06-13 22:24:28 +00:00
Hervé Poussineau
f5f855488d Handle DeviceId property
Change InstanceId to Serenum\Mouse

svn path=/trunk/; revision=15900
2005-06-13 21:51:42 +00:00
Hervé Poussineau
a189416191 Fix string returned by IoRegisterDeviceInterface()
svn path=/trunk/; revision=15899
2005-06-13 21:44:32 +00:00
Hervé Poussineau
d520f41934 Add registry entries related to USB hub driver
svn path=/trunk/; revision=15898
2005-06-13 20:51:07 +00:00
Hervé Poussineau
ed558f123b Silent some debug messages
svn path=/trunk/; revision=15897
2005-06-13 20:45:52 +00:00
Hervé Poussineau
925b767f99 Add usb hub driver. It is linked with cromwell usb stack
svn path=/trunk/; revision=15896
2005-06-13 20:41:59 +00:00
Hervé Poussineau
6b3ec8469e Disable some usb empty drivers. We will use thoses in drivers/usb/cromwell
svn path=/trunk/; revision=15895
2005-06-13 20:37:33 +00:00
KJK::Hyperion
f5b60bc69e longjmp should restore the stack pointer as it would be *after* setjmp returns. Since the PSEH implementation of setjmp is __stdcall, this value differs from the usual esp+4, because *after* return *two* doublewords are popped (return IP and parameter). Thanks to blight_ for reporting
svn path=/trunk/; revision=15894
2005-06-13 20:31:55 +00:00
Maarten Bosma
ca33e9fc4f set svn:eol-style native
svn path=/trunk/; revision=15893
2005-06-13 18:33:08 +00:00
Maarten Bosma
ab2a7524d0 remove empty dir
svn path=/trunk/; revision=15892
2005-06-13 18:09:27 +00:00
Maarten Bosma
9631980621 remove empty dir
svn path=/trunk/; revision=15891
2005-06-13 18:09:22 +00:00
Maarten Bosma
9038f375f7 remove empty dir
svn path=/trunk/; revision=15890
2005-06-13 18:09:16 +00:00
Maarten Bosma
c1d7682a91 remove empty dir
svn path=/trunk/; revision=15889
2005-06-13 18:09:11 +00:00
Maarten Bosma
c50ea61c80 remove empty dir
svn path=/trunk/; revision=15888
2005-06-13 18:09:05 +00:00
Maarten Bosma
d4e3987bad remove empty dir
svn path=/trunk/; revision=15887
2005-06-13 18:07:56 +00:00
Maarten Bosma
45c9cc8bde remove content of empty dir (cvsignore)
svn path=/trunk/; revision=15886
2005-06-13 18:06:30 +00:00
Gregor Anich
584e9b9488 Fix warnings in inline assembly (I hope this doesnt expose a GCC bug and thus break the build for others, using 3.4.2 myself and everything works)
svn path=/trunk/; revision=15884
2005-06-13 15:29:05 +00:00
KJK::Hyperion
e3502f710b did I miss a "the tree isn't supposed to build anymore" memo or what? fixes for compilation with GCC 3.3.3
svn path=/trunk/; revision=15883
2005-06-13 14:36:02 +00:00
Maarten Bosma
5347091d15 XML Makefiles
svn path=/trunk/; revision=15882
2005-06-13 13:21:34 +00:00
Magnus Olsen
0aec39dcbe revert back to 15869 for current change break 32 / 8 bpp for vbe drv, and vmware drv the mouse did not redaw some dialog box was wrong. and alot more
svn path=/trunk/; revision=15881
2005-06-13 02:02:21 +00:00
Magnus Olsen
99848068d0 32dib remove one of color fill optimizing until it can be fix for oarch=pentiun2 DBG=0 with vmware drv
svn path=/trunk/; revision=15880
2005-06-13 01:58:57 +00:00
Magnus Olsen
9d5a92b86b fix bug in color fill inline asm code. Did crash cirrus drv, vmware 5 drv and if the buffer was not align. Clean up inline asm code.
svn path=/trunk/; revision=15879
2005-06-12 19:23:40 +00:00
Gé van Geldorp
8ab10b3efd Clip lines totally outside the clip region
svn path=/trunk/; revision=15878
2005-06-12 19:06:38 +00:00
Hartmut Birr
f4732fef7d Print more informations on a BSOD by enabling the debug prints to the screen.
svn path=/trunk/; revision=15877
2005-06-12 16:20:10 +00:00
Casper Hornstrup
45a93411a7 Show execution time of tests
svn path=/trunk/; revision=15876
2005-06-12 15:33:34 +00:00
Martin Fuchs
4f0032f8d7 remove duplicate toolbar button
svn path=/trunk/; revision=15875
2005-06-12 14:09:39 +00:00
Gé van Geldorp
83804c9749 Allow logging of calls into display driver (disabled by default)
svn path=/trunk/; revision=15874
2005-06-12 13:11:36 +00:00
Martin Fuchs
53a8f66404 small adjustements:
- #ifdef for WINE specific menu item
- C style comment
- white space

svn path=/trunk/; revision=15873
2005-06-12 11:30:17 +00:00
Casper Hornstrup
ad1bdc040e Document well-known targets
svn path=/trunk/; revision=15872
2005-06-12 10:52:18 +00:00
Hartmut Birr
ad04a63867 Preinitialize the Provider to prevent from crashing if no sockets were given.
svn path=/trunk/; revision=15871
2005-06-12 10:33:22 +00:00
Hartmut Birr
95aa074b1e - Fixed the calculation of some offset values.
- Used the correct flag for testing of a bss section.

svn path=/trunk/; revision=15870
2005-06-12 10:25:49 +00:00
Hartmut Birr
b2f1b36fd9 - Fixed the inline assembler in DIB_16BPP_ColorFill.
- Calculated the color value outside of the loop in DIB_16BPP_ColorFill.

svn path=/trunk/; revision=15869
2005-06-12 10:23:04 +00:00
Casper Hornstrup
321c3545d8 Support module_depends target
svn path=/trunk/; revision=15868
2005-06-12 10:18:51 +00:00
Martin Fuchs
639193ca53 - standardize resource scripts: align code and remove tabs
- ifdef __WINE__ for ID_ABOUT_WINE

svn path=/trunk/; revision=15867
2005-06-12 10:14:37 +00:00
Casper Hornstrup
bfef768a76 Make test pass
svn path=/trunk/; revision=15866
2005-06-12 09:36:25 +00:00
Martin Fuchs
bef9eaff74 remove unnecessary paint code
svn path=/trunk/; revision=15865
2005-06-12 09:17:06 +00:00
Martin Fuchs
ed5cf2efc8 remove unsued compilation unit
svn path=/trunk/; revision=15864
2005-06-12 09:14:12 +00:00
Martin Fuchs
c25cc23eb8 remove unused variable
svn path=/trunk/; revision=15863
2005-06-12 09:13:45 +00:00
Aleksey Bragin
8addb6ae11 Fix pdo->fdo typo, causing serious errors, ending up driver unloadable at all.
svn path=/trunk/; revision=15862
2005-06-11 21:29:59 +00:00
Magnus Olsen
6eab0b40a0 fix fill color and hline asm code
thx tamlin to notice some mistake

svn path=/trunk/; revision=15861
2005-06-11 19:56:12 +00:00
Hervé Poussineau
03586e2534 Patch by Sylvain Petreolle <spetreolle@yahoo.fr>: Fix bug 646
- Remove duplicate dll entries in reactos.dff,
- Move some at their correct place.

svn path=/trunk/; revision=15860
2005-06-11 19:09:42 +00:00
Magnus Olsen
c1643db40b speed up 24bpp small fill and fill
svn path=/trunk/; revision=15859
2005-06-11 13:36:00 +00:00
Magnus Olsen
7c9de0d8d6 Speed up Fill and Small fill. for 16bpp
svn path=/trunk/; revision=15858
2005-06-11 12:13:28 +00:00
Magnus Olsen
c507c88f25 adding __volatile__ on all DIB32 inline asm to ensure it doesn't get modified when optimizations are enabled
Thx w3seek 

svn path=/trunk/; revision=15857
2005-06-11 10:19:33 +00:00
Magnus Olsen
1503cdc0b4 Fix align 4 problem with color fill and hline.
Now OARCH=pentium2 working with 32bpp


svn path=/trunk/; revision=15856
2005-06-11 09:53:14 +00:00
Hervé Poussineau
df3ceea77c Set svn:eol-style property to native
svn path=/trunk/; revision=15855
2005-06-10 22:54:11 +00:00
Alex Ionescu
2dc107e012 Support QEMU Hardware Acceleration
svn path=/trunk/; revision=15854
2005-06-10 21:46:16 +00:00
Hervé Poussineau
64bd0a6bd1 Add a pointer to the root hub PDO in the usb controller device extension
svn path=/trunk/; revision=15853
2005-06-10 21:25:55 +00:00
Aleksey Bragin
988bbc4f12 Add scrollbar to timezone selection comboboxes. Patch by unC0Rr.
svn path=/trunk/; revision=15852
2005-06-10 21:13:15 +00:00
Martin Fuchs
d92ffc0b93 Patch from WineHQ:
Mike McCormack <mike@codeweavers.com>
Fix more warnings.

svn path=/trunk/; revision=15851
2005-06-10 20:41:26 +00:00
Gé van Geldorp
15e83c5e04 Re-apply fix to dib16bpp and fix the root cause
svn path=/trunk/; revision=15850
2005-06-09 20:40:44 +00:00
Magnus Olsen
5ecd1f57d9 dib16_hline revert GvG change until some rewrite the asm code to handler the 4 align right. for now it does
the test 0x01,%%edi is wrong it must be test 0x03,%%edi
for not break cmd in 16bpp and other apps

svn path=/trunk/; revision=15849
2005-06-09 20:18:32 +00:00
Gé van Geldorp
bb18fc25e9 Speed up 24bpp fills
svn path=/trunk/; revision=15848
2005-06-09 19:04:32 +00:00
Magnus Olsen
ecb9480129 correct the spelling for some comment thx w3seek
svn path=/trunk/; revision=15847
2005-06-09 18:33:45 +00:00
Magnus Olsen
e4d12844dc fix a comment
svn path=/trunk/; revision=15846
2005-06-09 18:03:05 +00:00
Magnus Olsen
a89c7dcf3d fix a bug in hline for 16bpp it did not do Align to fullword boundary correct GvG did spot this lite bug. fix fill bug in 8bpp now it will boot agein thx waxdragon that did spot this problem.
svn path=/trunk/; revision=15845
2005-06-09 17:58:33 +00:00
James Tabor
ba8d788967 Added HcdInterfaceName from hpoussin new uhci devctrl.c.
svn path=/trunk/; revision=15844
2005-06-09 02:12:33 +00:00
James Tabor
26d0d00e72 Attached Linux device to Device Extension.
svn path=/trunk/; revision=15843
2005-06-09 02:01:06 +00:00
James Tabor
7240f0cf76 Fixing to start pnp of usb drivers.
svn path=/trunk/; revision=15842
2005-06-09 01:43:07 +00:00
Magnus Olsen
e87cc02785 add my self to CREDITS
svn path=/trunk/; revision=15841
2005-06-08 17:29:59 +00:00
Magnus Olsen
f0881728a7 Optimze DIB32_bitblt for both DGB=0 and DGB=1
Can not geting it faster with current c code


svn path=/trunk/; revision=15840
2005-06-08 16:28:41 +00:00
Gé van Geldorp
ec70aa71b0 Revert r15838 since it breaks the build
svn path=/trunk/; revision=15839
2005-06-07 23:11:35 +00:00
Gé van Geldorp
5fb6c9fc9c Add getnameinfoA/W
svn path=/trunk/; revision=15838
2005-06-07 22:04:54 +00:00
Filip Navara
e5541e23e6 Fix prototypes for non-GDI_DEBUG case.
svn path=/trunk/; revision=15837
2005-06-07 21:23:30 +00:00
Hartmut Birr
b494dd6e5e Changed back to the GPL.
svn path=/trunk/; revision=15836
2005-06-07 20:15:16 +00:00
Filip Navara
cb3ec720bd Fix a cut & paste mistake.
svn path=/trunk/; revision=15835
2005-06-07 20:10:16 +00:00
Filip Navara
7aea00d1d6 - Repair GDI handle debugging functionality.
- Fix locking in NtGdiGetTextFace.

svn path=/trunk/; revision=15834
2005-06-07 20:02:22 +00:00
Martin Fuchs
7a4b2f8d8f sync winefile resource wcripts with WINE and adjust INFO entries
svn path=/trunk/; revision=15833
2005-06-07 17:13:38 +00:00
Hartmut Birr
b4f774ec1e - Removed the process member from the memory area structure.
- Add the copyright notice and all programmers.

svn path=/trunk/; revision=15832
2005-06-07 17:07:34 +00:00
Filip Navara
cc0fc0d35c Implementation of DragDetect. Based on Wine code (C) 1993, 1994 Alexandre Julliard.
svn path=/trunk/; revision=15831
2005-06-07 16:54:15 +00:00
Filip Navara
4619446ed0 - Unlock GDI objects by pointer, not by handle.
- Fix a few invalid lock cases.
- Add support for shared GDI object locks and use it for locking surfaces.

svn path=/trunk/; revision=15830
2005-06-07 16:34:07 +00:00
Filip Navara
e7f345e0a2 Fix buffer size checks for IOCTL_VIDEO_SET_COLOR_REGISTERS.
svn path=/trunk/; revision=15829
2005-06-07 16:26:14 +00:00
Gregor Anich
d06d236296 Add 'l' suffix to shr in DIB_16BPP_VLine.
svn path=/trunk/; revision=15828
2005-06-07 15:13:14 +00:00
Gregor Anich
2b005b9bfa Remove a comment which i forgot to remove, oops.
svn path=/trunk/; revision=15827
2005-06-07 15:10:56 +00:00
Gregor Anich
85b03712d5 Assembly for DIB_16BPP_VLine, nearly no performance increase, but could be useful later anyway.
svn path=/trunk/; revision=15826
2005-06-07 15:09:02 +00:00
Thomas Bluemel
72448a5e50 use %lu instead of %d for unsigned formatting
svn path=/trunk/; revision=15825
2005-06-07 13:53:37 +00:00
Thomas Bluemel
1413f0bd4c delete obsolete folder
svn path=/trunk/; revision=15824
2005-06-07 13:51:58 +00:00
Eric Kohl
518bede98c Use #if 0 ... #endif to disable source code.
svn path=/trunk/; revision=15823
2005-06-06 20:39:25 +00:00
Eric Kohl
a344dd8f15 NtPlugPlayControl: Implement PLUGPLAY_GET_RELATED_DEVICE and PLUGPLAY_DEVICE_STATUS.
svn path=/trunk/; revision=15822
2005-06-06 20:31:56 +00:00
Hartmut Birr
700e2c8098 - Changed the calculation of the base address of an image section.
- Removed some unnecessary members from section object.  
- Changed the allocation of a section object back to paged pool.

svn path=/trunk/; revision=15821
2005-06-06 20:27:49 +00:00
Klemens Friedl
6193faf9cd cmd update:
* add 'help' command: list all available commands plus show a short description
* update english and german language resource files

svn path=/trunk/; revision=15820
2005-06-06 20:05:14 +00:00
Eric Kohl
794ac95666 Disable patch 15796 because it breaks the bootcd.
svn path=/trunk/; revision=15819
2005-06-06 19:34:36 +00:00
Hartmut Birr
5e938a6c68 Allocate the section object from non paged pool because the storage for a spin lock must be in non paged memory.
svn path=/trunk/; revision=15818
2005-06-05 23:07:51 +00:00
Hartmut Birr
9ea1665416 Fixed the clean rule.
svn path=/trunk/; revision=15817
2005-06-05 21:30:41 +00:00
Hartmut Birr
1272e9ca67 Revert my changes from rev 15805.
svn path=/trunk/; revision=15816
2005-06-05 21:24:36 +00:00
Hartmut Birr
f97e4e54cd Allocate the section segments from non paged pool because the storage for fast mutex must be in non paged memory.
svn path=/trunk/; revision=15815
2005-06-05 21:12:30 +00:00
Gé van Geldorp
be1ac79fa0 Implement /LOADSYMBOLS and /NOLOADSYMBOLS command line option
Note to self: send shipping address for coffee mug to Alex

svn path=/trunk/; revision=15814
2005-06-05 20:56:14 +00:00
Hervé Poussineau
170980ae6f Include French resources in explorer
svn path=/trunk/; revision=15813
2005-06-05 20:05:56 +00:00
Magnus Olsen
3ed044e92e more optimze of bitblt for dib32
svn path=/trunk/; revision=15812
2005-06-05 18:15:08 +00:00
Casper Hornstrup
012786bd8f Clean proxy makefiles on 'make clean'
svn path=/trunk/; revision=15810
2005-06-05 16:47:42 +00:00
Casper Hornstrup
5c0d2bc84c Remove old makefiles
svn path=/trunk/; revision=15809
2005-06-05 16:32:33 +00:00
Casper Hornstrup
2163a01133 Generate proxy makefiles in output tree.
svn path=/trunk/; revision=15808
2005-06-05 15:59:18 +00:00
James Tabor
4c7bbd9c39 Adding symbolic link to USBFDO.
svn path=/trunk/; revision=15807
2005-06-05 15:50:55 +00:00
Hartmut Birr
34fea9606b Forgot this file.
Make the bochs debug output in the very early boot phase available, if AUTO_ENABLE_BOCHS is defined.

svn path=/trunk/; revision=15806
2005-06-05 14:03:55 +00:00
Hartmut Birr
09b3ff1ebb Don't lock the kernel address space while solving faults from the paged pool.
It is possible, that someone try to access memory from paged pool 
while the kernel address space is already locked.

svn path=/trunk/; revision=15805
2005-06-05 14:01:58 +00:00
Casper Hornstrup
00457dbaa6 Document rbuild flags.
svn path=/trunk/; revision=15804
2005-06-05 12:53:22 +00:00
Martin Fuchs
ef499ee12a refresh window content after context menu popups only if any command has been executed
svn path=/trunk/; revision=15803
2005-06-05 12:20:07 +00:00
Casper Hornstrup
dba8d6b88a Correct dependencies for 'make <module>_install'
svn path=/trunk/; revision=15802
2005-06-05 12:08:39 +00:00
Casper Hornstrup
1aa91e26e5 * Support enabling/disabling modules depending on configuration.
* Enable halup for MP=0 configuration and halmp for MP=1 configuration.


svn path=/trunk/; revision=15801
2005-06-05 11:22:16 +00:00
Gé van Geldorp
34ef0d66de Use standard debug macros
svn path=/trunk/; revision=15800
2005-06-05 11:05:47 +00:00
Gé van Geldorp
0d7ebb711c Lucio Diaz-Flores Varela <reactos_translate@yahoo.es>
Add Spanish translation

svn path=/trunk/; revision=15799
2005-06-05 08:33:52 +00:00
James Tabor
a104816de4 Fixed Interface.
svn path=/trunk/; revision=15798
2005-06-05 00:40:40 +00:00
Eric Kohl
355593bafa - Create device instance key for root device node.
- Add DeviceReference value for each non-root device node.

svn path=/trunk/; revision=15796
2005-06-04 22:55:58 +00:00
Aleksey Bragin
607f793fc0 Fix a few critical typos/mistakes (like interruptvector/interruptlevel), stdcall for thread's func, etc. Also added some "hacks" into hub's thread, but at least it leads to first steps to device enumeration.
Driver (OHCI) bugchecks on my_pci_pool_allocation now (when trying to send URB).

svn path=/trunk/; revision=15795
2005-06-04 21:35:07 +00:00
Alex Ionescu
2fb48b3787 Fix filip's fixme and alex's fixme (ie: make IRP cancellation work properly). This should appease Hartmut even more =).
svn path=/trunk/; revision=15794
2005-06-04 21:07:00 +00:00
Martin Fuchs
14245cb4ed german resource for property dialog
svn path=/trunk/; revision=15793
2005-06-04 20:48:51 +00:00
Martin Fuchs
9dafeab3da sync winefile's header between WINE and ReactOS
svn path=/trunk/; revision=15792
2005-06-04 20:37:15 +00:00
Filip Navara
4b55dd45ab Correctly handle NOT operator in window style definitions.
svn path=/trunk/; revision=15788
2005-06-04 19:44:50 +00:00
Klemens Friedl
f40c4fef66 add property page winapi (not finished, I will implement it)
svn path=/trunk/; revision=15787
2005-06-04 19:21:15 +00:00
Magnus Olsen
633fbd38c8 fix head so it compile agein
svn path=/trunk/; revision=15786
2005-06-04 19:11:11 +00:00
Magnus Olsen
de07d08907 sorry revert to 15772
svn path=/trunk/; revision=15777
2005-06-04 18:43:39 +00:00
Magnus Olsen
33798a8e08 dib32 more speed optimze
svn path=/trunk/; revision=15774
2005-06-04 17:36:59 +00:00
Magnus Olsen
daaeafc22b small optimze and bug fix optimze color fill for DIB32_BltBit
svn path=/trunk/; revision=15772
2005-06-04 16:09:39 +00:00
Alex Ionescu
59b2cea3cd Sorry I was errm a bit...dizzy
svn path=/trunk/; revision=15771
2005-06-04 13:38:48 +00:00
Alex Ionescu
fd884b9ca2 Fix HEader
svn path=/trunk/; revision=15770
2005-06-04 13:24:50 +00:00
Alex Ionescu
e24313d28a Optimized DstInvert32
svn path=/trunk/; revision=15769
2005-06-04 13:20:34 +00:00
Hartmut Birr
e13bb66f6e Make the bochs debug output in the very early boot phase available, if AUTO_ENABLE_BOCHS is defined.
svn path=/trunk/; revision=15768
2005-06-04 10:05:20 +00:00
Alex Ionescu
651c6eedd3 Add inbv header, stub InvbDisplayString, fix BSOD to always show on screen like it should, make bugcheck macros show the bugcheck data in the debug output. I hope this appeases Hartmut a bit =)
svn path=/trunk/; revision=15763
2005-06-04 00:25:04 +00:00
Magnus Olsen
9f03cb709d more optimze of blt. icon draw lite faster
svn path=/trunk/; revision=15762
2005-06-03 23:21:21 +00:00
Hervé Poussineau
bf82efbfa5 Don't define asm macros that are not used
svn path=/trunk/; revision=15761
2005-06-03 22:44:38 +00:00
Gé van Geldorp
238b5dae79 Fix DBG := 0 build
svn path=/trunk/; revision=15760
2005-06-03 21:18:09 +00:00
Martin Fuchs
44917b7007 remove resrc1.h
svn path=/trunk/; revision=15759
2005-06-03 19:54:52 +00:00
Martin Fuchs
4a13ec527a split the big explorer resource file into smaller language specific rescource scripts
svn path=/trunk/; revision=15758
2005-06-03 19:36:03 +00:00
Magnus Olsen
1ec0b9da80 sorry foregt test one optimze
remove it until futer

svn path=/trunk/; revision=15757
2005-06-03 19:11:10 +00:00
Magnus Olsen
bf66d82efc optimze for bitblt dib32bpp.c
NOTSRCERASE, DSTINVERT
you can gain more speed from these

svn path=/trunk/; revision=15756
2005-06-03 18:57:53 +00:00
Klemens Friedl
3c262aeb05 update resource file (convert linux file to windows linebreak-compatible)
svn path=/trunk/; revision=15755
2005-06-03 18:33:15 +00:00
Klemens Friedl
c46d9a027b Add german language resource file
svn path=/trunk/; revision=15754
2005-06-03 18:23:18 +00:00
Klemens Friedl
a41298140f Add german language resource to the ReactOS Command Processor
(not completely finished, I will update it as soon as possible)

svn path=/trunk/; revision=15753
2005-06-03 18:21:50 +00:00
Maarten Bosma
5fd1b3d346 Some new features like Login, Config.h and Idle message
svn path=/trunk/; revision=15752
2005-06-03 17:28:53 +00:00
Hervé Poussineau
525d26d031 Wait the opening of mouclass device to connect the underlying mouse port driver
svn path=/trunk/; revision=15751
2005-06-03 17:09:47 +00:00
Magnus Olsen
5a2cbdf365 bitblt srcpy optimze it can be more optimze
svn path=/trunk/; revision=15750
2005-06-03 16:57:55 +00:00
Hervé Poussineau
47418050f9 Save DriverObject pointer to device extension
Use INTERFACE_TYPE type instead of ULONG
Use OBJ_KERNEL_HANDLE when opening \Device\PhysicalMemory

svn path=/trunk/; revision=15749
2005-06-03 16:56:27 +00:00
Hartmut Birr
2bb29cba04 Fixed the compiling with DBG set to 1.
svn path=/trunk/; revision=15748
2005-06-03 16:04:40 +00:00
Magnus Olsen
0bbffbfe78 activate 32 to 32 bitblt code
svn path=/trunk/; revision=15747
2005-06-03 12:30:09 +00:00
Hervé Poussineau
8c8bc52df8 Delete unneeded makefile
svn path=/trunk/; revision=15746
2005-06-03 12:03:44 +00:00
Gregor Anich
e631ea01ae DIB_32BPP_BitBlt: Fix ROP4_SRCCOPY case for 32bpp.
This file is ugly!

svn path=/trunk/; revision=15745
2005-06-03 01:45:26 +00:00
Magnus Olsen
f240bd9f61 blt fill did broke winquake fix it now.
svn path=/trunk/; revision=15744
2005-06-03 01:18:02 +00:00
Magnus Olsen
253b2e8c8a thx agein blight and alex.
we got alot faster blt for source copy for 
32bpp to 32bpp now.

svn path=/trunk/; revision=15743
2005-06-03 00:35:31 +00:00
Magnus Olsen
848d499f3d sorry wrong optimze for black and white fixing the start menu
svn path=/trunk/; revision=15742
2005-06-03 00:10:18 +00:00
Martin Fuchs
5416ad8915 Sync from Wine - Henning Gerhardt <henning.gerhardt@web.de>: Update German resource files
svn path=/trunk/; revision=15741
2005-06-02 22:14:53 +00:00
Martin Fuchs
d0551f0760 convert info strings to UTF-16
svn path=/trunk/; revision=15740
2005-06-02 22:09:06 +00:00
Martin Fuchs
9719715092 implemented file properties dialog (partly based on Rob D.'s winfile code)
svn path=/trunk/; revision=15739
2005-06-02 21:39:00 +00:00
Martin Fuchs
dcf3800a39 fix column headers
svn path=/trunk/; revision=15738
2005-06-02 21:32:21 +00:00
Aleksey Bragin
c7f2fa3f15 First version of Explorer's translation into Russian. Done by Dmitry Philippov, checked by me, DarkHobbit and others.
But still needs extensive checking.

svn path=/trunk/; revision=15737
2005-06-02 21:09:29 +00:00
Aleksey Bragin
ab4e0e3543 Changed dialog's size, and sizes of its elements, so russian translation looks nice in it.
By M. Zvyozdochkin.

svn path=/trunk/; revision=15736
2005-06-02 20:47:15 +00:00
Magnus Olsen
34b6e5c4e2 sorry did foregt ;
svn path=/trunk/; revision=15735
2005-06-02 20:47:11 +00:00
Aleksey Bragin
65c31ced72 Fix grammar typo (notinserted -> not inserted) in russian translation.
By M. Zvyozdochkin.

svn path=/trunk/; revision=15734
2005-06-02 20:38:18 +00:00
Steven Edwards
fbb262fc76 add cabinet.dll to the cd
svn path=/trunk/; revision=15733
2005-06-02 20:14:23 +00:00
Magnus Olsen
bd38382acb lite Optimze only for dib32bpp.c
thanks Blight for the inline asm for hline 
bitblt have got optimze for fill black and white color
only. more will come

svn path=/trunk/; revision=15732
2005-06-02 20:12:58 +00:00
Gregor Anich
83c66bb1c1 Make formatting of half-verbose output the same for linux as for windows (add quotes to the echos)
svn path=/trunk/; revision=15731
2005-06-02 19:56:12 +00:00
Emanuele Aliberti
4276c73ec9 svn propset
svn path=/trunk/; revision=15730
2005-06-02 13:20:04 +00:00
Emanuele Aliberti
da87b75712 SM/CSR: move win32k.sys loading from the SM to the Win32 user mode server.
svn path=/trunk/; revision=15729
2005-06-02 13:17:37 +00:00
Emanuele Aliberti
114fa63aa5 Correct midimap location.
svn path=/trunk/; revision=15728
2005-06-02 13:10:57 +00:00
Alex Ionescu
2565867874 Fix midimap/wavemap build
svn path=/trunk/; revision=15727
2005-06-02 03:21:17 +00:00
Steven Edwards
278d41accc this was moved
svn path=/trunk/; revision=15726
2005-06-02 02:12:48 +00:00
James Tabor
13d5ffb301 Removed makefiles.
svn path=/trunk/; revision=15725
2005-06-02 01:37:38 +00:00
James Tabor
bdcd967755 Fixed xml problem.
svn path=/trunk/; revision=15724
2005-06-02 01:36:20 +00:00
James Tabor
59a36a978f Fixed xml problem.
svn path=/trunk/; revision=15723
2005-06-02 01:36:07 +00:00
Hervé Poussineau
c5bcf76042 Don't close port if opening failed
svn path=/trunk/; revision=15722
2005-06-01 23:09:36 +00:00
Eric Kohl
793415253c - Start the logging thread from ServiceMain.
- Move UNICODE definition to the configuration file.
- Code cleanup.

svn path=/trunk/; revision=15721
2005-06-01 21:57:52 +00:00
James Tabor
372172fd93 Adding Cromwell to usb.
svn path=/trunk/; revision=15720
2005-06-01 21:55:36 +00:00
James Tabor
e8d9ee409c Adding Cromwell to usb.
svn path=/trunk/; revision=15719
2005-06-01 21:55:09 +00:00
Eric Kohl
8ebdfa0f0d Build the UNICODE version of the eventlog service.
svn path=/trunk/; revision=15718
2005-06-01 19:43:32 +00:00
Thomas Bluemel
592490d2ae fixed warnings
svn path=/trunk/; revision=15717
2005-06-01 19:01:12 +00:00
Magnus Olsen
1983bc6012 small optimze for StretchBlt
Thanks Alex for the idea with neg for statement
it is still a ref implemnet and have some limits


svn path=/trunk/; revision=15716
2005-06-01 18:11:26 +00:00
Casper Hornstrup
0e6919a8c0 Build with MP=1
svn path=/trunk/; revision=15715
2005-06-01 17:28:51 +00:00
Casper Hornstrup
2786a429ac Remove unneded file
svn path=/trunk/; revision=15714
2005-06-01 17:27:55 +00:00
8049 changed files with 5267 additions and 2754036 deletions

0
.gitignore vendored
View File

View File

@@ -2,19 +2,22 @@
#ifndef __WIN32K_BITMAPS_H
#define __WIN32K_BITMAPS_H
#include <win32k/dc.h>
#include <win32k/gdiobj.h>
/* GDI logical bitmap object */
typedef struct _BITMAPOBJ
{
SURFOBJ SurfObj;
FLONG flHooks;
FLONG flFlags;
SIZE dimension; /* For SetBitmapDimension(), do NOT use
to get width/height of bitmap, use
bitmap.bmWidth/bitmap.bmHeight for
that */
SIZE dimension; /* For SetBitmapDimension(), do NOT use
to get width/height of bitmap, use
bitmap.bmWidth/bitmap.bmHeight for
that */
#ifdef NTOS_MODE_USER
PVOID BitsLock;
#else
PFAST_MUTEX BitsLock; /* You need to hold this lock before you touch
the actual bits in the bitmap */
#endif
/* For device-independent bitmaps: */
DIBSECTION *dib;
@@ -29,10 +32,16 @@ typedef struct _BITMAPOBJ
((HBITMAP) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_BITMAP))
#define BITMAPOBJ_FreeBitmap(hBMObj) \
GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_BITMAP)
#define BITMAPOBJ_LockBitmap(hBMObj) GDIOBJ_LockObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_BITMAP)
#define BITMAPOBJ_UnlockBitmap(hBMObj) GDIOBJ_UnlockObj((HGDIOBJ) hBMObj)
/* NOTE: Use shared locks! */
#define BITMAPOBJ_LockBitmap(hBMObj) (PBITMAPOBJ)EngLockSurface((HSURF)hBMObj)
#define BITMAPOBJ_UnlockBitmap(pBMObj) EngUnlockSurface(&pBMObj->SurfObj)
BOOL INTERNAL_CALL BITMAP_Cleanup(PVOID ObjectBody);
BOOL INTERNAL_CALL BITMAPOBJ_InitBitsLock(BITMAPOBJ *pBMObj);
#define BITMAPOBJ_LockBitmapBits(pBMObj) ExAcquireFastMutex((pBMObj)->BitsLock)
#define BITMAPOBJ_UnlockBitmapBits(pBMObj) ExReleaseFastMutex((pBMObj)->BitsLock)
void INTERNAL_CALL BITMAPOBJ_CleanupBitsLock(BITMAPOBJ *pBMObj);
INT FASTCALL BITMAPOBJ_GetWidthBytes (INT bmWidth, INT bpp);
HBITMAP FASTCALL BITMAPOBJ_CopyBitmap (HBITMAP hBitmap);
INT FASTCALL DIB_GetDIBWidthBytes (INT width, INT depth);

View File

@@ -71,16 +71,9 @@ typedef struct
#define BRUSHOBJ_AllocBrush() ((HBRUSH) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_BRUSH))
#define BRUSHOBJ_FreeBrush(hBrush) GDIOBJ_FreeObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH)
#define BRUSHOBJ_LockBrush(hBrush) ((PGDIBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH))
#define BRUSHOBJ_UnlockBrush(hBrush) GDIOBJ_UnlockObj((HGDIOBJ)hBrush)
#define BRUSHOBJ_UnlockBrush(pBrush) GDIOBJ_UnlockObjByPtr(pBrush)
BOOL INTERNAL_CALL BRUSH_Cleanup(PVOID ObjectBody);
#ifdef __USE_W32API
typedef struct _PATRECT {
RECT r;
HBRUSH hBrush;
} PATRECT, * PPATRECT;
#endif
HBRUSH STDCALL
NtGdiCreateBrushIndirect(
CONST LOGBRUSH *LogBrush);
@@ -109,32 +102,6 @@ BOOL STDCALL
NtGdiFixBrushOrgEx(
VOID);
BOOL STDCALL
NtGdiPatBlt(
HDC hDC,
INT XLeft,
INT YLeft,
INT Width,
INT Height,
DWORD ROP);
BOOL STDCALL
NtGdiPolyPatBlt(
HDC hDC,
DWORD dwRop,
PPATRECT pRects,
INT cRects,
ULONG Reserved);
BOOL STDCALL
NtGdiPatBlt(
HDC hDC,
INT XLeft,
INT YLeft,
INT Width,
INT Height,
DWORD ROP);
BOOL STDCALL
NtGdiSetBrushOrgEx(
HDC hDC,

23
caret.h Normal file
View File

@@ -0,0 +1,23 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: include/win32k/caret.h
* PURPOSE: GDI32/Win32k Caret interface
* PROGRAMMER:
*
*/
#ifndef WIN32K_CARET_H_INCLUDED
#define WIN32K_CARET_H_INCLUDED
typedef struct _THRDCARETINFO
{
HWND hWnd;
HBITMAP Bitmap;
POINT Pos;
SIZE Size;
BYTE Visible;
BYTE Showing;
} THRDCARETINFO, *PTHRDCARETINFO;
#endif /* WIN32K_FONT_H_INCLUDED */

View File

@@ -1,8 +1,6 @@
#ifndef __WIN32K_COORD_H
#define __WIN32K_COORD_H
#include "dc.h"
BOOL
STDCALL
NtGdiCombineTransform (

View File

@@ -2,9 +2,6 @@
#ifndef __WIN32K_CURSORICON_H
#define __WIN32K_CURSORICON_H
#include <win32k/dc.h>
#include <win32k/gdiobj.h>
#include <pshpack1.h>
/* Structures for reading icon/cursor files and resources */

View File

@@ -2,11 +2,6 @@
#ifndef __WIN32K_DC_H
#define __WIN32K_DC_H
#include <windows.h>
#include <win32k/driver.h>
#include <win32k/gdiobj.h>
#include <win32k/path.h>
typedef struct _WIN_DC_INFO
{
int flags;
@@ -135,7 +130,11 @@ typedef struct
GDIINFO GDIInfo;
DEVINFO DevInfo;
DRIVER_FUNCTIONS DriverFunctions;
#ifdef NTOS_MODE_USER
PVOID VideoFileObject;
#else
PFILE_OBJECT VideoFileObject;
#endif
BOOLEAN PreparedDriver;
ULONG DisplayNumber;
@@ -149,10 +148,12 @@ typedef struct
/* Internal functions */
#ifndef NTOS_MODE_USER
#define DC_LockDc(hDC) \
((PDC) GDIOBJ_LockObj ((HGDIOBJ) hDC, GDI_OBJECT_TYPE_DC))
#define DC_UnlockDc(hDC) \
GDIOBJ_UnlockObj ((HGDIOBJ) hDC)
#define DC_UnlockDc(pDC) \
GDIOBJ_UnlockObjByPtr (pDC)
HDC FASTCALL RetrieveDisplayHDC(VOID);
HDC FASTCALL DC_AllocDC(PUNICODE_STRING Driver);
@@ -167,6 +168,8 @@ VOID FASTCALL DC_SetOwnership(HDC DC, PEPROCESS Owner);
VOID FASTCALL DC_UpdateXforms(PDC dc);
BOOL FASTCALL DC_InvertXform(const XFORM *xformSrc, XFORM *xformDest);
#endif
/* User entry points */
BOOL STDCALL NtGdiCancelDC(HDC hDC);
@@ -186,11 +189,6 @@ INT STDCALL NtGdiDrawEscape(HDC hDC,
INT cbInput,
LPCSTR lpszInData);
#ifndef __USE_W32API
/* FIXME: this typedef should go somewhere else... */
typedef VOID (*GOBJENUMPROC)(PVOID, LPARAM);
#endif
INT STDCALL NtGdiEnumObjects(HDC hDC,
INT ObjectType,
GOBJENUMPROC ObjectFunc,

View File

@@ -21,9 +21,12 @@ typedef VOID (STDCALL *PGD_DISABLEPDEV)(DHPDEV);
typedef HSURF (STDCALL *PGD_ENABLESURFACE)(DHPDEV);
typedef VOID (STDCALL *PGD_DISABLESURFACE)(DHPDEV);
typedef BOOL (STDCALL *PGD_ASSERTMODE)(DHPDEV, BOOL);
typedef BOOL (STDCALL *PGD_OFFSET)(SURFOBJ*, LONG, LONG, FLONG);
typedef BOOL (STDCALL *PGD_RESETPDEV)(DHPDEV, DHPDEV);
typedef VOID (STDCALL *PGD_DISABLEDRIVER)(VOID);
typedef HBITMAP (STDCALL *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
typedef VOID (STDCALL *PGD_DELETEDEVICEBITMAP)(DHSURF);
typedef BOOL (STDCALL *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*);
typedef BOOL (STDCALL *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*,
XLATEOBJ*, ULONG);
typedef ULONG (STDCALL *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
@@ -38,12 +41,17 @@ typedef BOOL (STDCALL *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
typedef BOOL (STDCALL *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*,
POINTL*, ROP4);
typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
RECTL*, RECTL*, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
RECTL*, POINTL*);
typedef BOOL (STDCALL *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, COLORADJUSTMENT*, POINTL*,
RECTL*, RECTL*, POINTL*, ULONG);
RECTL*, RECTL*, POINTL*, ULONG);
typedef BOOL (STDCALL *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, COLORADJUSTMENT*, POINTL*,
RECTL*, RECTL*, POINTL*, ULONG,
BRUSHOBJ*, DWORD);
typedef BOOL (STDCALL *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*,
RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX);
@@ -108,7 +116,9 @@ typedef struct _DRIVER_FUNCTIONS
PGD_ENABLESURFACE EnableSurface;
PGD_DISABLESURFACE DisableSurface;
PGD_ASSERTMODE AssertMode;
PGD_OFFSET Offset;
PGD_RESETPDEV ResetPDEV;
PGD_DISABLEDRIVER DisableDriver;
PGD_CREATEDEVICEBITMAP CreateDeviceBitmap;
PGD_DELETEDEVICEBITMAP DeleteDeviceBitmap;
PGD_REALIZEBRUSH RealizeBrush;
@@ -121,6 +131,7 @@ typedef struct _DRIVER_FUNCTIONS
PGD_TRANSPARENTBLT TransparentBlt;
PGD_COPYBITS CopyBits;
PGD_STRETCHBLT StretchBlt;
PGD_STRETCHBLTROP StretchBltROP;
PGD_SETPALETTE SetPalette;
PGD_TEXTOUT TextOut;
PGD_ESCAPE Escape;
@@ -161,8 +172,11 @@ typedef struct _DRIVER_FUNCTIONS
PGD_QUERYSPOOLTYPE QuerySpoolType;
PGD_GRADIENTFILL GradientFill;
PGD_SYNCHRONIZESURFACE SynchronizeSurface;
PGD_ALPHABLEND AlphaBlend;
} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
#ifndef NTOS_MODE_USER
BOOL DRIVER_RegisterDriver(LPCWSTR Name, PGD_ENABLEDRIVER EnableDriver);
PGD_ENABLEDRIVER DRIVER_FindDDIDriver(LPCWSTR Name);
PFILE_OBJECT DRIVER_FindMPDriver(ULONG DisplayNumber);
@@ -174,3 +188,5 @@ INT DRIVER_UnreferenceDriver (LPCWSTR Name);
#endif
#endif

View File

@@ -11,8 +11,6 @@
#ifndef WIN32K_FONT_H_INCLUDED
#define WIN32K_FONT_H_INCLUDED
#include <windows.h>
typedef struct tagFONTFAMILYINFO
{
ENUMLOGFONTEXW EnumLogFontEx;

View File

@@ -6,8 +6,6 @@
#ifndef __WIN32K_GDIOBJ_H
#define __WIN32K_GDIOBJ_H
#include <ddk/ntddk.h>
/* base address where the handle table is mapped to */
#define GDI_HANDLE_TABLE_BASE_ADDRESS (0x400000)
@@ -60,14 +58,20 @@
typedef PVOID PGDIOBJ;
#ifndef NTOS_MODE_USER
typedef BOOL (INTERNAL_CALL *GDICLEANUPPROC)(PVOID ObjectBody);
#endif
/*!
* GDI object header. This is a part of any GDI object
*/
typedef struct _GDIOBJHDR
{
#ifdef NTOS_MODE_USER
PVOID LockingThread;
#else
PETHREAD LockingThread; /* only assigned if a thread is holding the lock! */
#endif
ULONG Locks;
#ifdef GDI_DEBUG
const char* createdfile;
@@ -77,10 +81,13 @@ typedef struct _GDIOBJHDR
#endif
} GDIOBJHDR, *PGDIOBJHDR;
#ifndef NTOS_MODE_USER
BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(HGDIOBJ ObjectHandle);
void INTERNAL_CALL GDIOBJ_SetOwnership(HGDIOBJ ObjectHandle, PEPROCESS Owner);
void INTERNAL_CALL GDIOBJ_CopyOwnership(HGDIOBJ CopyFrom, HGDIOBJ CopyTo);
BOOL INTERNAL_CALL GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj);
VOID INTERNAL_CALL GDIOBJ_UnlockObjByPtr(PGDIOBJ Object);
#define GDIOBJ_GetObjectType(Handle) \
GDI_HANDLE_GET_TYPE(Handle)
@@ -91,26 +98,28 @@ BOOL INTERNAL_CALL GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj);
#define GDIOBJ_AllocObj(ty) GDIOBJ_AllocObjDbg(__FILE__,__LINE__,ty)
#define GDIOBJ_FreeObj(obj,ty) GDIOBJ_FreeObjDbg(__FILE__,__LINE__,obj,ty)
#define GDIOBJ_LockObj(obj,ty) GDIOBJ_LockObjDbg(__FILE__,__LINE__,obj,ty)
#define GDIOBJ_UnlockObj(obj) GDIOBJ_UnlockObjDbg(__FILE__,__LINE__,obj)
#define GDIOBJ_ShareLockObj(obj,ty) GDIOBJ_ShareLockObjDbg(__FILE__,__LINE__,obj,ty)
HGDIOBJ INTERNAL_CALL GDIOBJ_AllocObjDbg(const char* file, int line, ULONG ObjectType);
BOOL INTERNAL_CALL GDIOBJ_FreeObjDbg (const char* file, int line, HGDIOBJ hObj, DWORD ObjectType);
PGDIOBJ INTERNAL_CALL GDIOBJ_LockObjDbg (const char* file, int line, HGDIOBJ hObj, DWORD ObjectType);
BOOL INTERNAL_CALL GDIOBJ_UnlockObjDbg (const char* file, int line, HGDIOBJ hObj);
PGDIOBJ INTERNAL_CALL GDIOBJ_ShareLockObjDbg (const char* file, int line, HGDIOBJ hObj, DWORD ObjectType);
#else /* !GDI_DEBUG */
HGDIOBJ INTERNAL_CALL GDIOBJ_AllocObj(ULONG ObjectType);
BOOL INTERNAL_CALL GDIOBJ_FreeObj (HGDIOBJ hObj, DWORD ObjectType);
PGDIOBJ INTERNAL_CALL GDIOBJ_LockObj (HGDIOBJ hObj, DWORD ObjectType);
BOOL INTERNAL_CALL GDIOBJ_UnlockObj (HGDIOBJ hObj);
PGDIOBJ INTERNAL_CALL GDIOBJ_ShareLockObj (HGDIOBJ hObj, DWORD ObjectType);
#endif /* GDI_DEBUG */
PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process);
#endif
#define GDIOBJFLAG_DEFAULT (0x0)
#define GDIOBJFLAG_IGNOREPID (0x1)
#define GDIOBJFLAG_IGNORELOCK (0x2)
PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process);
#endif

329
inc_w32k/bitmaps.h Normal file
View File

@@ -0,0 +1,329 @@
#ifndef __WIN32K_BITMAPS_H
#define __WIN32K_BITMAPS_H
/* GDI logical bitmap object */
typedef struct _BITMAPOBJ
{
SURFOBJ SurfObj;
FLONG flHooks;
FLONG flFlags;
SIZE dimension; /* For SetBitmapDimension(), do NOT use
to get width/height of bitmap, use
bitmap.bmWidth/bitmap.bmHeight for
that */
#ifdef NTOS_MODE_USER
PVOID BitsLock;
#else
PFAST_MUTEX BitsLock; /* You need to hold this lock before you touch
the actual bits in the bitmap */
#endif
/* For device-independent bitmaps: */
DIBSECTION *dib;
HPALETTE hDIBPalette;
} BITMAPOBJ, *PBITMAPOBJ;
#define BITMAPOBJ_IS_APIBITMAP 0x1
/* Internal interface */
#define BITMAPOBJ_AllocBitmap() \
((HBITMAP) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_BITMAP))
#define BITMAPOBJ_FreeBitmap(hBMObj) \
GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_BITMAP)
/* NOTE: Use shared locks! */
#define BITMAPOBJ_LockBitmap(hBMObj) (PBITMAPOBJ)EngLockSurface((HSURF)hBMObj)
#define BITMAPOBJ_UnlockBitmap(pBMObj) EngUnlockSurface(&pBMObj->SurfObj)
BOOL INTERNAL_CALL BITMAP_Cleanup(PVOID ObjectBody);
BOOL INTERNAL_CALL BITMAPOBJ_InitBitsLock(BITMAPOBJ *pBMObj);
#define BITMAPOBJ_LockBitmapBits(pBMObj) ExAcquireFastMutex((pBMObj)->BitsLock)
#define BITMAPOBJ_UnlockBitmapBits(pBMObj) ExReleaseFastMutex((pBMObj)->BitsLock)
void INTERNAL_CALL BITMAPOBJ_CleanupBitsLock(BITMAPOBJ *pBMObj);
INT FASTCALL BITMAPOBJ_GetWidthBytes (INT bmWidth, INT bpp);
HBITMAP FASTCALL BITMAPOBJ_CopyBitmap (HBITMAP hBitmap);
INT FASTCALL DIB_GetDIBWidthBytes (INT width, INT depth);
int STDCALL DIB_GetDIBImageBytes (INT width, INT height, INT depth);
INT FASTCALL DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse);
INT STDCALL BITMAP_GetObject(BITMAPOBJ * bmp, INT count, LPVOID buffer);
HBITMAP FASTCALL BitmapToSurf(PBITMAPOBJ BitmapObj, HDEV GDIDevice);
HBITMAP FASTCALL IntCreateCompatibleBitmap(PDC Dc, INT Width, INT Height);
/* User Entry Points */
BOOL
STDCALL
NtGdiBitBlt (
HDC hDCDest,
INT XDest,
INT YDest,
INT Width,
INT Height,
HDC hDCSrc,
INT XSrc,
INT YSrc,
DWORD ROP
);
HBITMAP
STDCALL
NtGdiCreateBitmap (
INT Width,
INT Height,
UINT Planes,
UINT BitsPerPel,
CONST VOID * Bits
);
HBITMAP
STDCALL
NtGdiCreateCompatibleBitmap (
HDC hDC,
INT Width,
INT Height
);
HBITMAP
STDCALL
NtGdiCreateBitmapIndirect (
CONST BITMAP * BM
);
HBITMAP
STDCALL
NtGdiCreateDIBitmap (
HDC hDC,
CONST BITMAPINFOHEADER * bmih,
DWORD Init,
CONST VOID * bInit,
CONST BITMAPINFO * bmi,
UINT Usage
);
HBITMAP
STDCALL
NtGdiCreateDIBSection (
HDC hDC,
CONST BITMAPINFO * bmi,
UINT Usage,
VOID * Bits,
HANDLE hSection,
DWORD dwOffset
);
HBITMAP
STDCALL
NtGdiCreateDiscardableBitmap (
HDC hDC,
INT Width,
INT Height
);
BOOL
STDCALL
NtGdiExtFloodFill (
HDC hDC,
INT XStart,
INT YStart,
COLORREF Color,
UINT FillType
);
BOOL
STDCALL
NtGdiFloodFill (
HDC hDC,
INT XStart,
INT YStart,
COLORREF Fill
);
LONG
STDCALL
NtGdiGetBitmapBits (
HBITMAP hBitmap,
LONG Buffer,
LPVOID Bits
);
BOOL
STDCALL
NtGdiGetBitmapDimensionEx (
HBITMAP hBitmap,
LPSIZE Dimension
);
UINT
STDCALL
NtGdiGetDIBColorTable (
HDC hDC,
UINT StartIndex,
UINT Entries,
RGBQUAD * Colors
);
INT
STDCALL
NtGdiGetDIBits (
HDC hDC,
HBITMAP hBitmap,
UINT StartScan,
UINT ScanLines,
LPVOID Bits,
LPBITMAPINFO bi,
UINT Usage
);
COLORREF
STDCALL
NtGdiGetPixel (
HDC hDC,
INT XPos,
INT YPos
);
BOOL
STDCALL
NtGdiGradientFill (
HDC hdc,
PTRIVERTEX pVertex,
ULONG uVertex,
PVOID pMesh,
ULONG uMesh,
ULONG ulMode
);
BOOL
STDCALL
NtGdiMaskBlt (
HDC hDCDest,
INT XDest,
INT YDest,
INT Width,
INT Height,
HDC hDCSrc,
INT XSrc,
INT YSrc,
HBITMAP hMaskBitmap,
INT xMask,
INT yMask,
DWORD ROP
);
BOOL
STDCALL
NtGdiPlgBlt (
HDC hDCDest,
CONST POINT * Point,
HDC hDCSrc,
INT XSrc,
INT YSrc,
INT Width,
INT Height,
HBITMAP hMaskBitmap,
INT xMask,
INT yMask
);
LONG
STDCALL
NtGdiSetBitmapBits (
HBITMAP hBitmap,
DWORD Bytes,
CONST VOID * Bits
);
BOOL
STDCALL
NtGdiSetBitmapDimensionEx (
HBITMAP hBitmap,
INT Width,
INT Height,
LPSIZE Size
);
UINT
STDCALL
NtGdiSetDIBColorTable (
HDC hDC,
UINT StartIndex,
UINT Entries,
CONST RGBQUAD * Colors
);
INT
STDCALL
NtGdiSetDIBits (
HDC hDC,
HBITMAP hBitmap,
UINT StartScan,
UINT ScanLines,
CONST VOID * Bits,
CONST BITMAPINFO * bmi,
UINT ColorUse
);
INT
STDCALL
NtGdiSetDIBitsToDevice (
HDC hDC,
INT XDest,
INT YDest,
DWORD Width,
DWORD Height,
INT XSrc,
INT YSrc,
UINT StartScan,
UINT ScanLines,
CONST VOID * Bits,
CONST BITMAPINFO * bmi,
UINT ColorUse
);
COLORREF
STDCALL
NtGdiSetPixel (
HDC hDC,
INT X,
INT Y,
COLORREF Color
);
BOOL
STDCALL
NtGdiSetPixelV (
HDC hDC,
INT X,
INT Y,
COLORREF Color
);
BOOL
STDCALL
NtGdiStretchBlt (
HDC hDCDest,
INT XOriginDest,
INT YOriginDest,
INT WidthDest,
INT HeightDest,
HDC hDCSrc,
INT XOriginSrc,
INT YOriginSrc,
INT WidthSrc,
INT HeightSrc,
DWORD ROP
);
INT
STDCALL
NtGdiStretchDIBits (
HDC hDC,
INT XDest,
INT YDest,
INT DestWidth,
INT DestHeight,
INT XSrc,
INT YSrc,
INT SrcWidth,
INT SrcHeight,
CONST VOID * Bits,
CONST BITMAPINFO * BitsInfo,
UINT Usage,
DWORD ROP
);
BOOL
STDCALL
NtGdiTransparentBlt(
HDC hdcDst,
INT xDst,
INT yDst,
INT cxDst,
INT cyDst,
HDC hdcSrc,
INT xSrc,
INT ySrc,
INT cxSrc,
INT cySrc,
COLORREF TransColor
);
#endif

112
inc_w32k/brush.h Normal file
View File

@@ -0,0 +1,112 @@
#ifndef __WIN32K_BRUSH_H
#define __WIN32K_BRUSH_H
#include <win32k/gdiobj.h>
/* Internal interface */
#define NB_HATCH_STYLES 6
/*
* The layout of this structure is taken from "Windows Graphics Programming"
* book written by Feng Yuan.
*
* DON'T MODIFY THIS STRUCTURE UNLESS REALLY NEEDED AND EVEN THEN ASK ON
* A MAILING LIST FIRST.
*/
typedef struct
{
ULONG AttrFlags;
COLORREF lbColor;
} BRUSHATTR, *PBRUSHATTR;
typedef struct
{
ULONG ulStyle;
HBITMAP hbmPattern;
HANDLE hbmClient;
ULONG flAttrs;
ULONG ulBrushUnique;
BRUSHATTR *pBrushAttr;
BRUSHATTR BrushAttr;
POINT ptOrigin;
ULONG bCacheGrabbed;
COLORREF crBack;
COLORREF crFore;
ULONG ulPalTime;
ULONG ulSurfTime;
PVOID ulRealization;
ULONG Unknown4C[3];
POINT ptPenWidth;
ULONG ulPenStyle;
DWORD *pStyle;
ULONG dwStyleCount;
ULONG Unknown6C;
} GDIBRUSHOBJ, *PGDIBRUSHOBJ;
typedef struct
{
BRUSHOBJ BrushObject;
PGDIBRUSHOBJ GdiBrushObject;
XLATEOBJ *XlateObject;
} GDIBRUSHINST, *PGDIBRUSHINST;
/* GDI Brush Attributes */
#define GDIBRUSH_NEED_BK_CLR 0x0002 /* Background color is needed */
#define GDIBRUSH_DITHER_OK 0x0004 /* Allow color dithering */
#define GDIBRUSH_IS_SOLID 0x0010 /* Solid brush */
#define GDIBRUSH_IS_HATCH 0x0020 /* Hatch brush */
#define GDIBRUSH_IS_BITMAP 0x0040 /* DDB pattern brush */
#define GDIBRUSH_IS_DIB 0x0080 /* DIB pattern brush */
#define GDIBRUSH_IS_NULL 0x0100 /* Null/hollow brush */
#define GDIBRUSH_IS_GLOBAL 0x0200 /* Stock objects */
#define GDIBRUSH_IS_PEN 0x0400 /* Pen */
#define GDIBRUSH_IS_OLDSTYLEPEN 0x0800 /* Geometric pen */
#define GDIBRUSH_IS_MASKING 0x8000 /* Pattern bitmap is used as transparent mask (?) */
#define GDIBRUSH_CACHED_IS_SOLID 0x80000000
#define BRUSHOBJ_AllocBrush() ((HBRUSH) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_BRUSH))
#define BRUSHOBJ_FreeBrush(hBrush) GDIOBJ_FreeObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH)
#define BRUSHOBJ_LockBrush(hBrush) ((PGDIBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ)hBrush, GDI_OBJECT_TYPE_BRUSH))
#define BRUSHOBJ_UnlockBrush(pBrush) GDIOBJ_UnlockObjByPtr(pBrush)
BOOL INTERNAL_CALL BRUSH_Cleanup(PVOID ObjectBody);
HBRUSH STDCALL
NtGdiCreateBrushIndirect(
CONST LOGBRUSH *LogBrush);
HBRUSH STDCALL
NtGdiCreateDIBBrush(
CONST BITMAPINFO *BitmapInfoAndData,
UINT ColorSpec,
UINT BitmapInfoSize,
CONST VOID *PackedDIB);
HBRUSH STDCALL
NtGdiCreateHatchBrush(
INT Style,
COLORREF Color);
HBRUSH STDCALL
NtGdiCreatePatternBrush(
HBITMAP hBitmap);
HBRUSH STDCALL
NtGdiCreateSolidBrush(
COLORREF Color);
BOOL STDCALL
NtGdiFixBrushOrgEx(
VOID);
BOOL STDCALL
NtGdiSetBrushOrgEx(
HDC hDC,
INT XOrg,
INT YOrg,
LPPOINT Point);
#endif

64
inc_w32k/callback.h Normal file
View File

@@ -0,0 +1,64 @@
#ifndef __INCLUDE_USER32_CALLBACK_H
#define __INCLUDE_USER32_CALLBACK_H
#define USER32_CALLBACK_WINDOWPROC (0)
#define USER32_CALLBACK_SENDASYNCPROC (1)
#define USER32_CALLBACK_LOADSYSMENUTEMPLATE (2)
#define USER32_CALLBACK_LOADDEFAULTCURSORS (3)
#define USER32_CALLBACK_HOOKPROC (4)
#define USER32_CALLBACK_MAXIMUM (4)
typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
{
WNDPROC Proc;
BOOL IsAnsiProc;
HWND Wnd;
UINT Msg;
WPARAM wParam;
LPARAM lParam;
INT lParamBufferSize;
LRESULT Result;
/* char Buffer[]; */
} WINDOWPROC_CALLBACK_ARGUMENTS, *PWINDOWPROC_CALLBACK_ARGUMENTS;
typedef struct _SENDASYNCPROC_CALLBACK_ARGUMENTS
{
SENDASYNCPROC Callback;
HWND Wnd;
UINT Msg;
ULONG_PTR Context;
LRESULT Result;
} SENDASYNCPROC_CALLBACK_ARGUMENTS, *PSENDASYNCPROC_CALLBACK_ARGUMENTS;
typedef struct _HOOKPROC_CALLBACK_ARGUMENTS
{
INT HookId;
INT Code;
WPARAM wParam;
LPARAM lParam;
HOOKPROC Proc;
BOOLEAN Ansi;
UINT ModuleNameLength;
WCHAR ModuleName[1];
} HOOKPROC_CALLBACK_ARGUMENTS, *PHOOKPROC_CALLBACK_ARGUMENTS;
typedef struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
{
CREATESTRUCTW Cs; /* lpszName and lpszClass replaced by offsets */
HWND WndInsertAfter;
/* WCHAR szName[] */
/* WCHAR szClass[] */
} HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS, *PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS;
NTSTATUS STDCALL
User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS STDCALL
User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS STDCALL
User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS STDCALL
User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS STDCALL
User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
#endif /* __INCLUDE_USER32_CALLBACK_H */

23
inc_w32k/caret.h Normal file
View File

@@ -0,0 +1,23 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: include/win32k/caret.h
* PURPOSE: GDI32/Win32k Caret interface
* PROGRAMMER:
*
*/
#ifndef WIN32K_CARET_H_INCLUDED
#define WIN32K_CARET_H_INCLUDED
typedef struct _THRDCARETINFO
{
HWND hWnd;
HBITMAP Bitmap;
POINT Pos;
SIZE Size;
BYTE Visible;
BYTE Showing;
} THRDCARETINFO, *PTHRDCARETINFO;
#endif /* WIN32K_FONT_H_INCLUDED */

81
inc_w32k/cliprgn.h Normal file
View File

@@ -0,0 +1,81 @@
#ifndef _WIN32K_CLIPRGN_H
#define _WIN32K_CLIPRGN_H
HRGN WINAPI SaveVisRgn(HDC hdc);
INT WINAPI SelectVisRgn(HDC hdc, HRGN hrgn);
int
STDCALL
NtGdiExcludeClipRect (
HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect
);
int
STDCALL
NtGdiExtSelectClipRgn (
HDC hDC,
HRGN hrgn,
int fnMode
);
int
STDCALL
NtGdiGetClipBox (
HDC hDC,
LPRECT rc
);
int
STDCALL
NtGdiGetMetaRgn (
HDC hDC,
HRGN hrgn
);
int
STDCALL
NtGdiIntersectClipRect (
HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect
);
int
STDCALL
NtGdiOffsetClipRgn (
HDC hDC,
int XOffset,
int YOffset
);
BOOL
STDCALL
NtGdiPtVisible (
HDC hDC,
int X,
int Y
);
BOOL
STDCALL
NtGdiRectVisible (
HDC hDC,
CONST PRECT rc
);
BOOL
STDCALL
NtGdiSelectClipPath (
HDC hDC,
int Mode
);
int
STDCALL
NtGdiSelectClipRgn (
HDC hDC,
HRGN hrgn
);
int
STDCALL
NtGdiSetMetaRgn (
HDC hDC
);
#endif

116
inc_w32k/color.h Normal file
View File

@@ -0,0 +1,116 @@
#ifndef __WIN32K_COLOR_H
#define __WIN32K_COLOR_H
#ifndef CLR_INVALID
#define CLR_INVALID 0xffffffff
#endif
#define PC_SYS_USED 0x80 /* palentry is used (both system and logical) */
#define PC_SYS_RESERVED 0x40 /* system palentry is not to be mapped to */
#define PC_SYS_MAPPED 0x10 /* logical palentry is a direct alias for system palentry */
BOOL
STDCALL
NtGdiAnimatePalette (
HPALETTE hpal,
UINT StartIndex,
UINT Entries,
CONST PPALETTEENTRY ppe
);
HPALETTE
STDCALL
NtGdiCreateHalftonePalette (
HDC hDC
);
HPALETTE
STDCALL
NtGdiCreatePalette (
CONST PLOGPALETTE lgpl
);
BOOL
STDCALL
NtGdiGetColorAdjustment (
HDC hDC,
LPCOLORADJUSTMENT ca
);
COLORREF
STDCALL
NtGdiGetNearestColor (
HDC hDC,
COLORREF Color
);
UINT
STDCALL
NtGdiGetNearestPaletteIndex (
HPALETTE hpal,
COLORREF Color
);
UINT
STDCALL
NtGdiGetPaletteEntries (
HPALETTE hpal,
UINT StartIndex,
UINT Entries,
LPPALETTEENTRY pe
);
UINT
STDCALL
NtGdiGetSystemPaletteEntries (
HDC hDC,
UINT StartIndex,
UINT Entries,
LPPALETTEENTRY pe
);
UINT
STDCALL
NtGdiGetSystemPaletteUse (
HDC hDC
);
UINT
STDCALL
NtGdiRealizePalette (
HDC hDC
);
BOOL
STDCALL
NtGdiResizePalette (
HPALETTE hpal,
UINT Entries
);
HPALETTE
STDCALL
NtGdiSelectPalette (
HDC hDC,
HPALETTE hpal,
BOOL ForceBackground
);
BOOL
STDCALL
NtGdiSetColorAdjustment (
HDC hDC,
CONST LPCOLORADJUSTMENT ca
);
UINT
STDCALL
NtGdiSetPaletteEntries (
HPALETTE hpal,
UINT Start,
UINT Entries,
CONST LPPALETTEENTRY pe
);
UINT
STDCALL
NtGdiSetSystemPaletteUse (
HDC hDC,
UINT Usage
);
BOOL
STDCALL
NtGdiUnrealizeObject (
HGDIOBJ hgdiobj
);
BOOL
STDCALL
NtGdiUpdateColors (
HDC hDC
);
#endif

151
inc_w32k/coord.h Normal file
View File

@@ -0,0 +1,151 @@
#ifndef __WIN32K_COORD_H
#define __WIN32K_COORD_H
BOOL
STDCALL
NtGdiCombineTransform (
LPXFORM XformResult,
CONST LPXFORM xform1,
CONST LPXFORM xform2
);
VOID
FASTCALL
IntDPtoLP ( PDC dc, LPPOINT Points, INT Count );
VOID
FASTCALL
CoordDPtoLP ( PDC Dc, LPPOINT Point );
BOOL
STDCALL
NtGdiDPtoLP (
HDC hDC,
LPPOINT Points,
int Count
);
int
FASTCALL
IntGetGraphicsMode ( PDC dc );
int
STDCALL
NtGdiGetGraphicsMode ( HDC hDC );
BOOL
STDCALL
NtGdiGetWorldTransform (
HDC hDC,
LPXFORM Xform
);
VOID
FASTCALL
CoordLPtoDP ( PDC Dc, LPPOINT Point );
VOID
FASTCALL
IntLPtoDP ( PDC dc, LPPOINT Points, INT Count );
BOOL
STDCALL
NtGdiLPtoDP (
HDC hDC,
LPPOINT Points,
int Count
);
BOOL
STDCALL
NtGdiModifyWorldTransform (
HDC hDC,
CONST LPXFORM Xform,
DWORD Mode
);
BOOL
STDCALL
NtGdiOffsetViewportOrgEx (
HDC hDC,
int XOffset,
int YOffset,
LPPOINT Point
);
BOOL
STDCALL
NtGdiOffsetWindowOrgEx (
HDC hDC,
int XOffset,
int YOffset,
LPPOINT Point
);
BOOL
STDCALL
NtGdiScaleViewportExtEx (
HDC hDC,
int Xnum,
int Xdenom,
int Ynum,
int Ydenom,
LPSIZE Size
);
BOOL
STDCALL
NtGdiScaleWindowExtEx (
HDC hDC,
int Xnum,
int Xdenom,
int Ynum,
int Ydenom,
LPSIZE Size
);
int
STDCALL
NtGdiSetGraphicsMode (
HDC hDC,
int Mode
);
int
STDCALL
NtGdiSetMapMode (
HDC hDC,
int MapMode
);
BOOL
STDCALL
NtGdiSetViewportExtEx (
HDC hDC,
int XExtent,
int YExtent,
LPSIZE Size
);
BOOL
STDCALL
NtGdiSetViewportOrgEx (
HDC hDC,
int X,
int Y,
LPPOINT Point
);
BOOL
STDCALL
NtGdiSetWindowExtEx (
HDC hDC,
int XExtent,
int YExtent,
LPSIZE Size
);
BOOL
STDCALL
NtGdiSetWindowOrgEx (
HDC hDC,
int X,
int Y,
LPPOINT Point
);
BOOL
STDCALL
NtGdiSetWorldTransform (
HDC hDC,
CONST LPXFORM Xform
);
#endif

95
inc_w32k/cursoricon.h Normal file
View File

@@ -0,0 +1,95 @@
#ifndef __WIN32K_CURSORICON_H
#define __WIN32K_CURSORICON_H
#include <pshpack1.h>
/* Structures for reading icon/cursor files and resources */
// Structures for reading icon files and resources
typedef struct _ICONIMAGE
{
BITMAPINFOHEADER icHeader; // DIB header
RGBQUAD icColors[1]; // Color table
BYTE icXOR[1]; // DIB bits for XOR mask
BYTE icAND[1]; // DIB bits for AND mask
} ICONIMAGE, *LPICONIMAGE;
typedef struct _CURSORIMAGE
{
BITMAPINFOHEADER icHeader; // DIB header
RGBQUAD icColors[1]; // Color table
BYTE icXOR[1]; // DIB bits for XOR mask
BYTE icAND[1]; // DIB bits for AND mask
} CURSORIMAGE, *LPCURSORIMAGE;
typedef struct
{
BYTE bWidth;
BYTE bHeight;
BYTE bColorCount;
BYTE bReserved;
} ICONRESDIR;
typedef struct
{
WORD wWidth;
WORD wHeight;
} CURSORRESDIR;
typedef struct
{
WORD wPlanes; // Number of Color Planes in the XOR image
WORD wBitCount; // Bits per pixel in the XOR image
} ICONDIR;
typedef struct
{
WORD wXHotspot; // Number of Color Planes in the XOR image
WORD wYHotspot; // Bits per pixel in the XOR image
} CURSORDIR;
typedef struct
{
BYTE bWidth; // Width, in pixels, of the icon image
BYTE bHeight; // Height, in pixels, of the icon image
BYTE bColorCount; // Number of colors in image (0 if >=8bpp)
BYTE bReserved; // Reserved ( must be 0)
union
{ ICONDIR icon;
CURSORDIR cursor;
} Info;
DWORD dwBytesInRes; // How many bytes in this resource?
DWORD dwImageOffset; // Where in the file is this image?
} CURSORICONDIRENTRY;
typedef struct
{
WORD idReserved; // Reserved (must be 0)
WORD idType; // Resource Type (1 for icons, 0 for cursors)
WORD idCount; // How many images?
CURSORICONDIRENTRY idEntries[1]; // An entry for idCount number of images
} CURSORICONDIR;
typedef struct
{
union
{ ICONRESDIR icon;
CURSORRESDIR cursor;
} ResInfo;
WORD wPlanes; // Color Planes
WORD wBitCount; // Bits per pixel
DWORD dwBytesInRes; // how many bytes in this resource?
WORD nID; // the ID
} GRPCURSORICONDIRENTRY;
typedef struct
{
WORD idReserved; // Reserved (must be 0)
WORD idType; // Resource type (1 for icons)
WORD idCount; // How many images?
GRPCURSORICONDIRENTRY idEntries[1]; // The entries for each image
} GRPCURSORICONDIR;
#include <poppack.h>
#endif

236
inc_w32k/dc.h Normal file
View File

@@ -0,0 +1,236 @@
#ifndef __WIN32K_DC_H
#define __WIN32K_DC_H
typedef struct _WIN_DC_INFO
{
int flags;
HRGN hClipRgn; /* Clip region (may be 0) */
HRGN hVisRgn; /* Visible region (must never be 0) */
HRGN hGCClipRgn; /* GC clip region (ClipRgn AND VisRgn) */
HPEN hPen;
HBRUSH hBrush;
HFONT hFont;
HBITMAP hBitmap;
HBITMAP hFirstBitmap; /* Bitmap selected at creation of the DC */
/* #if 0 */
HANDLE hDevice;
HPALETTE hPalette;
GdiPath path;
/* #endif */
WORD ROPmode;
WORD polyFillMode;
WORD stretchBltMode;
WORD relAbsMode;
WORD backgroundMode;
COLORREF backgroundColor;
COLORREF textColor;
short brushOrgX;
short brushOrgY;
WORD textAlign; /* Text alignment from SetTextAlign() */
short charExtra; /* Spacing from SetTextCharacterExtra() */
short breakTotalExtra; /* Total extra space for justification */
short breakCount; /* Break char. count */
short breakExtra; /* breakTotalExtra / breakCount */
short breakRem; /* breakTotalExtra % breakCount */
RECT totalExtent;
BYTE bitsPerPixel;
INT MapMode;
INT GraphicsMode; /* Graphics mode */
INT DCOrgX; /* DC origin */
INT DCOrgY;
#if 0
FARPROC lpfnPrint; /* AbortProc for Printing */
#endif
INT CursPosX; /* Current position */
INT CursPosY;
INT ArcDirection;
XFORM xformWorld2Wnd; /* World-to-window transformation */
XFORM xformWorld2Vport; /* World-to-viewport transformation */
XFORM xformVport2World; /* Inverse of the above transformation */
BOOL vport2WorldValid; /* Is xformVport2World valid? */
} WIN_DC_INFO;
/* DC flags */
#define DC_MEMORY 0x0001 /* It is a memory DC */
#define DC_SAVED 0x0002 /* It is a saved DC */
#define DC_DIRTY 0x0004 /* hVisRgn has to be updated */
#define DC_THUNKHOOK 0x0008 /* DC hook is in the 16-bit code */
#define GDI_DC_TYPE (1)
typedef struct _DC
{
HDC hSelf;
HDC hNext;
DHPDEV PDev;
HSURF FillPatternSurfaces[HS_DDI_MAX];
PGDIINFO GDIInfo;
PDEVINFO DevInfo;
HDEV GDIDevice;
DRIVER_FUNCTIONS DriverFunctions;
UNICODE_STRING DriverName;
HANDLE DeviceDriver;
INT wndOrgX; /* Window origin */
INT wndOrgY;
INT wndExtX; /* Window extent */
INT wndExtY;
INT vportOrgX; /* Viewport origin */
INT vportOrgY;
INT vportExtX; /* Viewport extent */
INT vportExtY;
CLIPOBJ *CombinedClip;
XLATEOBJ *XlateBrush;
XLATEOBJ *XlatePen;
INT saveLevel;
BOOL IsIC;
WIN_DC_INFO w;
} DC, *PDC;
typedef struct _GDIPOINTER /* should stay private to ENG */
{
/* private GDI pointer handling information, required for software emulation */
BOOL Enabled;
POINTL Pos;
SIZEL Size;
POINTL HotSpot;
XLATEOBJ *XlateObject;
HSURF ColorSurface;
HSURF MaskSurface;
HSURF SaveSurface;
/* public pointer information */
RECTL Exclude; /* required publicly for SPS_ACCEPT_EXCLUDE */
PGD_MOVEPOINTER MovePointer;
ULONG Status;
} GDIPOINTER, *PGDIPOINTER;
typedef struct
{
HANDLE Handle;
DHPDEV PDev;
DEVMODEW DMW;
HSURF FillPatterns[HS_DDI_MAX];
GDIINFO GDIInfo;
DEVINFO DevInfo;
DRIVER_FUNCTIONS DriverFunctions;
#ifdef NTOS_MODE_USER
PVOID VideoFileObject;
#else
PFILE_OBJECT VideoFileObject;
#endif
BOOLEAN PreparedDriver;
ULONG DisplayNumber;
GDIPOINTER Pointer;
/* Stuff to keep track of software cursors; win32k gdi part */
UINT SafetyRemoveLevel; /* at what level was the cursor removed?
0 for not removed */
UINT SafetyRemoveCount;
} GDIDEVICE;
/* Internal functions */
#ifndef NTOS_MODE_USER
#define DC_LockDc(hDC) \
((PDC) GDIOBJ_LockObj ((HGDIOBJ) hDC, GDI_OBJECT_TYPE_DC))
#define DC_UnlockDc(pDC) \
GDIOBJ_UnlockObjByPtr (pDC)
HDC FASTCALL RetrieveDisplayHDC(VOID);
HDC FASTCALL DC_AllocDC(PUNICODE_STRING Driver);
VOID FASTCALL DC_InitDC(HDC DCToInit);
HDC FASTCALL DC_FindOpenDC(PUNICODE_STRING Driver);
VOID FASTCALL DC_FreeDC(HDC DCToFree);
BOOL INTERNAL_CALL DC_Cleanup(PVOID ObjectBody);
HDC FASTCALL DC_GetNextDC (PDC pDC);
VOID FASTCALL DC_SetNextDC (PDC pDC, HDC hNextDC);
VOID FASTCALL DC_SetOwnership(HDC DC, PEPROCESS Owner);
VOID FASTCALL DC_UpdateXforms(PDC dc);
BOOL FASTCALL DC_InvertXform(const XFORM *xformSrc, XFORM *xformDest);
#endif
/* User entry points */
BOOL STDCALL NtGdiCancelDC(HDC hDC);
HDC STDCALL NtGdiCreateCompatableDC(HDC hDC);
HDC STDCALL NtGdiCreateDC(PUNICODE_STRING Driver,
PUNICODE_STRING Device,
PUNICODE_STRING Output,
CONST PDEVMODEW InitData);
HDC STDCALL NtGdiCreateIC(PUNICODE_STRING Driver,
PUNICODE_STRING Device,
PUNICODE_STRING Output,
CONST PDEVMODEW DevMode);
BOOL STDCALL NtGdiDeleteDC(HDC hDC);
BOOL STDCALL NtGdiDeleteObject(HGDIOBJ hObject);
INT STDCALL NtGdiDrawEscape(HDC hDC,
INT nEscape,
INT cbInput,
LPCSTR lpszInData);
INT STDCALL NtGdiEnumObjects(HDC hDC,
INT ObjectType,
GOBJENUMPROC ObjectFunc,
LPARAM lParam);
COLORREF STDCALL NtGdiGetBkColor(HDC hDC);
INT STDCALL NtGdiGetBkMode(HDC hDC);
BOOL STDCALL NtGdiGetBrushOrgEx(HDC hDC, LPPOINT brushOrg);
HRGN STDCALL NtGdiGetClipRgn(HDC hDC);
HGDIOBJ STDCALL NtGdiGetCurrentObject(HDC hDC, UINT ObjectType);
VOID FASTCALL IntGetCurrentPositionEx (PDC dc, LPPOINT currentPosition);
BOOL STDCALL NtGdiGetCurrentPositionEx(HDC hDC, LPPOINT currentPosition);
BOOL STDCALL NtGdiGetDCOrgEx(HDC hDC, LPPOINT Point);
HDC STDCALL NtGdiGetDCState(HDC hDC);
INT STDCALL NtGdiGetDeviceCaps(HDC hDC, INT Index);
INT STDCALL NtGdiGetMapMode(HDC hDC);
INT STDCALL NtGdiGetObject(HGDIOBJ hGDIObj,
INT BufSize,
LPVOID Object);
DWORD STDCALL NtGdiGetObjectType(HGDIOBJ hGDIObj);
INT STDCALL NtGdiGetPolyFillMode(HDC hDC);
INT STDCALL NtGdiGetRelAbs(HDC hDC);
INT STDCALL NtGdiGetROP2(HDC hDC);
HGDIOBJ STDCALL NtGdiGetStockObject(INT Object);
INT STDCALL NtGdiGetStretchBltMode(HDC hDC);
COLORREF STDCALL NtGdiGetTextColor(HDC hDC);
UINT STDCALL NtGdiGetTextAlign(HDC hDC);
BOOL STDCALL NtGdiGetViewportExtEx(HDC hDC, LPSIZE viewportExt);
BOOL STDCALL NtGdiGetViewportOrgEx(HDC hDC, LPPOINT viewportOrg);
BOOL STDCALL NtGdiGetWindowExtEx(HDC hDC, LPSIZE windowExt);
BOOL STDCALL NtGdiGetWindowOrgEx(HDC hDC, LPPOINT windowOrg);
HDC STDCALL NtGdiResetDC(HDC hDC, CONST DEVMODEW *InitData);
BOOL STDCALL NtGdiRestoreDC(HDC hDC, INT SavedDC);
INT STDCALL NtGdiSaveDC(HDC hDC);
HGDIOBJ STDCALL NtGdiSelectObject(HDC hDC, HGDIOBJ hGDIObj);
INT STDCALL NtGdiSetBkMode(HDC hDC, INT backgroundMode);
VOID STDCALL NtGdiSetDCState ( HDC hDC, HDC hDCSave );
WORD STDCALL NtGdiSetHookFlags(HDC hDC, WORD Flags);
INT STDCALL NtGdiSetPolyFillMode(HDC hDC, INT polyFillMode);
INT STDCALL NtGdiSetRelAbs(HDC hDC, INT relAbsMode);
INT STDCALL NtGdiSetROP2(HDC hDC, INT ROPmode);
INT STDCALL NtGdiSetStretchBltMode(HDC hDC, INT stretchBltMode);
COLORREF STDCALL NtGdiSetTextColor(HDC hDC, COLORREF color);
#endif

192
inc_w32k/driver.h Normal file
View File

@@ -0,0 +1,192 @@
#ifndef __WIN32K_DRIVER_H
#define __WIN32K_DRIVER_H
#include <ddk/winddi.h>
typedef BOOL (STDCALL *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
typedef DHPDEV (STDCALL *PGD_ENABLEPDEV)(DEVMODEW *,
LPWSTR,
ULONG,
HSURF *,
ULONG,
ULONG *,
ULONG,
DEVINFO *,
LPWSTR,
LPWSTR,
HANDLE);
typedef VOID (STDCALL *PGD_COMPLETEPDEV)(DHPDEV, HDEV);
typedef VOID (STDCALL *PGD_DISABLEPDEV)(DHPDEV);
typedef HSURF (STDCALL *PGD_ENABLESURFACE)(DHPDEV);
typedef VOID (STDCALL *PGD_DISABLESURFACE)(DHPDEV);
typedef BOOL (STDCALL *PGD_ASSERTMODE)(DHPDEV, BOOL);
typedef BOOL (STDCALL *PGD_OFFSET)(SURFOBJ*, LONG, LONG, FLONG);
typedef BOOL (STDCALL *PGD_RESETPDEV)(DHPDEV, DHPDEV);
typedef VOID (STDCALL *PGD_DISABLEDRIVER)(VOID);
typedef HBITMAP (STDCALL *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
typedef VOID (STDCALL *PGD_DELETEDEVICEBITMAP)(DHSURF);
typedef BOOL (STDCALL *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*);
typedef BOOL (STDCALL *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*,
XLATEOBJ*, ULONG);
typedef ULONG (STDCALL *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
typedef BOOL (STDCALL *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*,
BRUSHOBJ*, POINTL*, PLINEATTRS, MIX);
typedef BOOL (STDCALL *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*,
POINTL*, MIX, ULONG);
typedef BOOL (STDCALL *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*,
XFORMOBJ*, BRUSHOBJ*, PLINEATTRS,
BRUSHOBJ*, POINTL*, MIX, ULONG);
typedef BOOL (STDCALL *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
typedef BOOL (STDCALL *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*,
POINTL*, ROP4);
typedef BOOL (STDCALL *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
RECTL*, RECTL*, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*,
RECTL*, POINTL*);
typedef BOOL (STDCALL *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, COLORADJUSTMENT*, POINTL*,
RECTL*, RECTL*, POINTL*, ULONG);
typedef BOOL (STDCALL *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*,
XLATEOBJ*, COLORADJUSTMENT*, POINTL*,
RECTL*, RECTL*, POINTL*, ULONG,
BRUSHOBJ*, DWORD);
typedef BOOL (STDCALL *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*,
RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX);
typedef ULONG (STDCALL *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
typedef ULONG (STDCALL *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG,
PVOID *);
typedef PIFIMETRICS (STDCALL *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
typedef PVOID (STDCALL *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
typedef LONG (STDCALL *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*,
PVOID, ULONG);
typedef ULONG (STDCALL *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*,
LONG, LONG, LONG, LONG, RECTL*, ULONG);
typedef VOID (STDCALL *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
typedef BOOL (STDCALL *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG,
LONG, RECTL*, MIX);
typedef BOOL (STDCALL *PGD_SENDPAGE)(SURFOBJ*);
typedef BOOL (STDCALL *PGD_STARTPAGE)(SURFOBJ*);
typedef BOOL (STDCALL *PGD_ENDDOC)(SURFOBJ*, ULONG);
typedef BOOL (STDCALL *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
typedef ULONG (STDCALL *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
typedef VOID (STDCALL *PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
typedef ULONG (STDCALL *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
typedef ULONG (STDCALL *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
typedef VOID (STDCALL *PGD_FREE)(PVOID, ULONG);
typedef VOID (STDCALL *PGD_DESTROYFONT)(FONTOBJ*);
typedef LONG (STDCALL *PGD_QUERYFONTCAPS)(ULONG, PULONG);
typedef ULONG (STDCALL *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
typedef BOOL (STDCALL *PGD_UNLOADFONTFILE)(ULONG);
typedef ULONG (STDCALL *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID,
ULONG, PVOID);
typedef LONG (STDCALL *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG,
PBYTE);
typedef LONG (STDCALL *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL,
GLYPHDATA*, ULONG, TTPOLYGONHEADER*);
typedef PVOID (STDCALL *PGD_GETTRUETYPEFILE)(ULONG, PULONG);
typedef LONG (STDCALL *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
typedef BOOL (STDCALL *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *,
PVOID *, ULONG);
typedef BOOL (STDCALL *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
typedef LONG (STDCALL *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG,
PPIXELFORMATDESCRIPTOR);
typedef BOOL (STDCALL *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
typedef BOOL (STDCALL *PGD_STARTBANDING)(SURFOBJ*, POINTL*);
typedef BOOL (STDCALL *PGD_NEXTBAND)(SURFOBJ*, POINTL*);
typedef BOOL (STDCALL *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
typedef BOOL (STDCALL *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
typedef VOID (STDCALL *PGD_DISABLEDIRECTDRAW)(DHPDEV);
typedef LONG (STDCALL *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
typedef BOOL (STDCALL *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
typedef VOID (STDCALL *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG);
typedef struct _DRIVER_FUNCTIONS
{
PGD_ENABLEDRIVER EnableDriver;
PGD_ENABLEPDEV EnablePDEV;
PGD_COMPLETEPDEV CompletePDEV;
PGD_DISABLEPDEV DisablePDEV;
PGD_ENABLESURFACE EnableSurface;
PGD_DISABLESURFACE DisableSurface;
PGD_ASSERTMODE AssertMode;
PGD_OFFSET Offset;
PGD_RESETPDEV ResetPDEV;
PGD_DISABLEDRIVER DisableDriver;
PGD_CREATEDEVICEBITMAP CreateDeviceBitmap;
PGD_DELETEDEVICEBITMAP DeleteDeviceBitmap;
PGD_REALIZEBRUSH RealizeBrush;
PGD_DITHERCOLOR DitherColor;
PGD_STROKEPATH StrokePath;
PGD_FILLPATH FillPath;
PGD_STROKEANDFILLPATH StrokeAndFillPath;
PGD_PAINT Paint;
PGD_BITBLT BitBlt;
PGD_TRANSPARENTBLT TransparentBlt;
PGD_COPYBITS CopyBits;
PGD_STRETCHBLT StretchBlt;
PGD_STRETCHBLTROP StretchBltROP;
PGD_SETPALETTE SetPalette;
PGD_TEXTOUT TextOut;
PGD_ESCAPE Escape;
PGD_DRAWESCAPE DrawEscape;
PGD_QUERYFONT QueryFont;
PGD_QUERYFONTTREE QueryFontTree;
PGD_QUERYFONTDATA QueryFontData;
PGD_SETPOINTERSHAPE SetPointerShape;
PGD_MOVEPOINTER MovePointer;
PGD_LINETO LineTo;
PGD_SENDPAGE SendPage;
PGD_STARTPAGE StartPage;
PGD_ENDDOC EndDoc;
PGD_STARTDOC StartDoc;
PGD_GETGLYPHMODE GetGlyphMode;
PGD_SYNCHRONIZE Synchronize;
PGD_SAVESCREENBITS SaveScreenBits;
PGD_GETMODES GetModes;
PGD_FREE Free;
PGD_DESTROYFONT DestroyFont;
PGD_QUERYFONTCAPS QueryFontCaps;
PGD_LOADFONTFILE LoadFontFile;
PGD_UNLOADFONTFILE UnloadFontFile;
PGD_FONTMANAGEMENT FontManagement;
PGD_QUERYTRUETYPETABLE QueryTrueTypeTable;
PGD_QUERYTRUETYPEOUTLINE QueryTrueTypeOutline;
PGD_GETTRUETYPEFILE GetTrueTypeFile;
PGD_QUERYFONTFILE QueryFontFile;
PGD_QUERYADVANCEWIDTHS QueryAdvanceWidths;
PGD_SETPIXELFORMAT SetPixelFormat;
PGD_DESCRIBEPIXELFORMAT DescribePixelFormat;
PGD_SWAPBUFFERS SwapBuffers;
PGD_STARTBANDING StartBanding;
PGD_NEXTBAND NextBand;
PGD_GETDIRECTDRAWINFO GetDirectDrawInfo;
PGD_ENABLEDIRECTDRAW EnableDirectDraw;
PGD_DISABLEDIRECTDRAW DisableDirectDraw;
PGD_QUERYSPOOLTYPE QuerySpoolType;
PGD_GRADIENTFILL GradientFill;
PGD_SYNCHRONIZESURFACE SynchronizeSurface;
PGD_ALPHABLEND AlphaBlend;
} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
#ifndef NTOS_MODE_USER
BOOL DRIVER_RegisterDriver(LPCWSTR Name, PGD_ENABLEDRIVER EnableDriver);
PGD_ENABLEDRIVER DRIVER_FindDDIDriver(LPCWSTR Name);
PFILE_OBJECT DRIVER_FindMPDriver(ULONG DisplayNumber);
BOOL DRIVER_BuildDDIFunctions(PDRVENABLEDATA DED,
PDRIVER_FUNCTIONS DF);
BOOL DRIVER_UnregisterDriver(LPCWSTR Name);
INT DRIVER_ReferenceDriver (LPCWSTR Name);
INT DRIVER_UnreferenceDriver (LPCWSTR Name);
#endif
#endif

68
inc_w32k/fillshap.h Normal file
View File

@@ -0,0 +1,68 @@
#ifndef __WIN32K_FILLSHAP_H
#define __WIN32K_FILLSHAP_H
BOOL
STDCALL
NtGdiChord(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect,
int XRadial1,
int YRadial1,
int XRadial2,
int YRadial2);
BOOL
STDCALL
NtGdiEllipse(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect);
BOOL
STDCALL
NtGdiPie(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect,
int XRadial1,
int YRadial1,
int XRadial2,
int YRadial2);
BOOL
STDCALL
NtGdiPolygon(HDC hDC,
CONST PPOINT Points,
int Count);
BOOL
STDCALL
NtGdiPolyPolygon(HDC hDC,
CONST LPPOINT Points,
CONST LPINT PolyCounts,
int Count);
BOOL
STDCALL
NtGdiRectangle(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect);
BOOL
STDCALL
NtGdiRoundRect(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect,
int Width,
int Height);
#endif

103
inc_w32k/float.h Normal file
View File

@@ -0,0 +1,103 @@
#ifndef __WIN32K_FLOAT_H
#define __WIN32K_FLOAT_H
#include <win32k/math.h>
#include <win32k/dc.h>
#include <ft2build.h>
#include FT_FREETYPE_H
typedef struct tagFLOAT_POINT
{
FLOAT x, y;
} FLOAT_POINT;
/* Rounds a floating point number to integer. The world-to-viewport
* transformation process is done in floating point internally. This function
* is then used to round these coordinates to integer values.
*/
static inline INT GDI_ROUND(FLOAT val)
{
return (int)floor(val + 0.5);
}
/* Performs a world-to-viewport transformation on the specified point (which
* is in floating point format).
*/
static inline void INTERNAL_LPTODP_FLOAT(DC *dc, FLOAT_POINT *point)
{
FLOAT x, y;
/* Perform the transformation */
x = point->x;
y = point->y;
point->x = x * dc->w.xformWorld2Vport.eM11 +
y * dc->w.xformWorld2Vport.eM21 +
dc->w.xformWorld2Vport.eDx;
point->y = x * dc->w.xformWorld2Vport.eM12 +
y * dc->w.xformWorld2Vport.eM22 +
dc->w.xformWorld2Vport.eDy;
}
/* Performs a viewport-to-world transformation on the specified point (which
* is in integer format). Returns TRUE if successful, else FALSE.
*/
#if 0
static inline BOOL INTERNAL_DPTOLP(DC *dc, LPPOINT point)
{
FLOAT_POINT floatPoint;
/* Perform operation with floating point */
floatPoint.x=(FLOAT)point->x;
floatPoint.y=(FLOAT)point->y;
if (!INTERNAL_DPTOLP_FLOAT(dc, &floatPoint))
return FALSE;
/* Round to integers */
point->x = GDI_ROUND(floatPoint.x);
point->y = GDI_ROUND(floatPoint.y);
return TRUE;
}
/* Performs a world-to-viewport transformation on the specified point (which
* is in integer format).
*/
static inline void INTERNAL_LPTODP(DC *dc, LPPOINT point)
{
FLOAT_POINT floatPoint;
/* Perform operation with floating point */
floatPoint.x=(FLOAT)point->x;
floatPoint.y=(FLOAT)point->y;
INTERNAL_LPTODP_FLOAT(dc, &floatPoint);
/* Round to integers */
point->x = GDI_ROUND(floatPoint.x);
point->y = GDI_ROUND(floatPoint.y);
}
#endif
#define MulDiv( x, y, z ) EngMulDiv( x, y, z )
#define XDPTOLP(dc,x) \
(MulDiv(((x)-(dc)->vportOrgX), (dc)->wndExtX, (dc)->vportExtX) + (dc)->wndOrgX)
#define YDPTOLP(dc,y) \
(MulDiv(((y)-(dc)->vportOrgY), (dc)->wndExtY, (dc)->vportExtY) + (dc)->wndOrgY)
#define XLPTODP(dc,x) \
(MulDiv(((x)-(dc)->wndOrgX), (dc)->vportExtX, (dc)->wndExtX) + (dc)->vportOrgX)
#define YLPTODP(dc,y) \
(MulDiv(((y)-(dc)->wndOrgY), (dc)->vportExtY, (dc)->wndExtY) + (dc)->vportOrgY)
/* Device <-> logical size conversion */
#define XDSTOLS(dc,x) \
MulDiv((x), (dc)->wndExtX, (dc)->vportExtX)
#define YDSTOLS(dc,y) \
MulDiv((y), (dc)->wndExtY, (dc)->vportExtY)
#define XLSTODS(dc,x) \
MulDiv((x), (dc)->vportExtX, (dc)->wndExtX)
#define YLSTODS(dc,y) \
MulDiv((y), (dc)->vportExtY, (dc)->wndExtY)
#endif

25
inc_w32k/font.h Normal file
View File

@@ -0,0 +1,25 @@
/* $Id$
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: include/win32k/font.h
* PURPOSE: GDI32/Win32k font interface
* PROGRAMMER:
*
*/
#ifndef WIN32K_FONT_H_INCLUDED
#define WIN32K_FONT_H_INCLUDED
typedef struct tagFONTFAMILYINFO
{
ENUMLOGFONTEXW EnumLogFontEx;
NEWTEXTMETRICEXW NewTextMetricEx;
DWORD FontType;
} FONTFAMILYINFO, *PFONTFAMILYINFO;
int STDCALL NtGdiGetFontFamilyInfo(HDC Dc, LPLOGFONTW LogFont, PFONTFAMILYINFO Info, DWORD Size);
BOOL STDCALL NtGdiTranslateCharsetInfo(PDWORD Src, LPCHARSETINFO CSI, DWORD Flags);
DWORD STDCALL NtGdiGetFontData(HDC,DWORD,DWORD,LPVOID,DWORD);
#endif /* WIN32K_FONT_H_INCLUDED */

125
inc_w32k/gdiobj.h Normal file
View File

@@ -0,0 +1,125 @@
/*
* GDI object common header definition
*
*/
#ifndef __WIN32K_GDIOBJ_H
#define __WIN32K_GDIOBJ_H
/* base address where the handle table is mapped to */
#define GDI_HANDLE_TABLE_BASE_ADDRESS (0x400000)
/* gdi handle table can hold 0x4000 handles */
#define GDI_HANDLE_COUNT 0x4000
#define GDI_GLOBAL_PROCESS (0x0)
#define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1)
#define GDI_HANDLE_TYPE_MASK 0x007f0000
#define GDI_HANDLE_STOCK_MASK 0x00800000
#define GDI_HANDLE_REUSE_MASK 0xff000000
#define GDI_HANDLE_REUSECNT_SHIFT 24
#define GDI_HANDLE_CREATE(i, t) ((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) & GDI_HANDLE_TYPE_MASK)))
#define GDI_HANDLE_GET_INDEX(h) (((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)
#define GDI_HANDLE_GET_TYPE(h) (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
#define GDI_HANDLE_IS_TYPE(h, t) ((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK))
#define GDI_HANDLE_IS_STOCKOBJ(h) (0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK))
#define GDI_HANDLE_SET_STOCKOBJ(h) ((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK))
/*! \defgroup GDI object types
*
* GDI object types
*
*/
/*@{*/
#define GDI_OBJECT_TYPE_DC 0x00010000
#define GDI_OBJECT_TYPE_REGION 0x00040000
#define GDI_OBJECT_TYPE_BITMAP 0x00050000
#define GDI_OBJECT_TYPE_PALETTE 0x00080000
#define GDI_OBJECT_TYPE_FONT 0x000a0000
#define GDI_OBJECT_TYPE_BRUSH 0x00100000
#define GDI_OBJECT_TYPE_EMF 0x00210000
#define GDI_OBJECT_TYPE_PEN 0x00300000
#define GDI_OBJECT_TYPE_EXTPEN 0x00500000
/* Following object types made up for ROS */
#define GDI_OBJECT_TYPE_METADC 0x00710000
#define GDI_OBJECT_TYPE_METAFILE 0x00720000
#define GDI_OBJECT_TYPE_ENHMETAFILE 0x00730000
#define GDI_OBJECT_TYPE_ENHMETADC 0x00740000
#define GDI_OBJECT_TYPE_MEMDC 0x00750000
#define GDI_OBJECT_TYPE_DCE 0x00770000
#define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
/** Not really an object type. Forces GDI_FreeObj to be silent. */
#define GDI_OBJECT_TYPE_SILENT 0x80000000
/*@}*/
typedef PVOID PGDIOBJ;
#ifndef NTOS_MODE_USER
typedef BOOL (INTERNAL_CALL *GDICLEANUPPROC)(PVOID ObjectBody);
#endif
/*!
* GDI object header. This is a part of any GDI object
*/
typedef struct _GDIOBJHDR
{
#ifdef NTOS_MODE_USER
PVOID LockingThread;
#else
PETHREAD LockingThread; /* only assigned if a thread is holding the lock! */
#endif
ULONG Locks;
#ifdef GDI_DEBUG
const char* createdfile;
int createdline;
const char* lockfile;
int lockline;
#endif
} GDIOBJHDR, *PGDIOBJHDR;
#ifndef NTOS_MODE_USER
BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(HGDIOBJ ObjectHandle);
void INTERNAL_CALL GDIOBJ_SetOwnership(HGDIOBJ ObjectHandle, PEPROCESS Owner);
void INTERNAL_CALL GDIOBJ_CopyOwnership(HGDIOBJ CopyFrom, HGDIOBJ CopyTo);
BOOL INTERNAL_CALL GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj);
VOID INTERNAL_CALL GDIOBJ_UnlockObjByPtr(PGDIOBJ Object);
#define GDIOBJ_GetObjectType(Handle) \
GDI_HANDLE_GET_TYPE(Handle)
#ifdef GDI_DEBUG
/* a couple macros for debugging GDIOBJ locking */
#define GDIOBJ_AllocObj(ty) GDIOBJ_AllocObjDbg(__FILE__,__LINE__,ty)
#define GDIOBJ_FreeObj(obj,ty) GDIOBJ_FreeObjDbg(__FILE__,__LINE__,obj,ty)
#define GDIOBJ_LockObj(obj,ty) GDIOBJ_LockObjDbg(__FILE__,__LINE__,obj,ty)
#define GDIOBJ_ShareLockObj(obj,ty) GDIOBJ_ShareLockObjDbg(__FILE__,__LINE__,obj,ty)
HGDIOBJ INTERNAL_CALL GDIOBJ_AllocObjDbg(const char* file, int line, ULONG ObjectType);
BOOL INTERNAL_CALL GDIOBJ_FreeObjDbg (const char* file, int line, HGDIOBJ hObj, DWORD ObjectType);
PGDIOBJ INTERNAL_CALL GDIOBJ_LockObjDbg (const char* file, int line, HGDIOBJ hObj, DWORD ObjectType);
PGDIOBJ INTERNAL_CALL GDIOBJ_ShareLockObjDbg (const char* file, int line, HGDIOBJ hObj, DWORD ObjectType);
#else /* !GDI_DEBUG */
HGDIOBJ INTERNAL_CALL GDIOBJ_AllocObj(ULONG ObjectType);
BOOL INTERNAL_CALL GDIOBJ_FreeObj (HGDIOBJ hObj, DWORD ObjectType);
PGDIOBJ INTERNAL_CALL GDIOBJ_LockObj (HGDIOBJ hObj, DWORD ObjectType);
PGDIOBJ INTERNAL_CALL GDIOBJ_ShareLockObj (HGDIOBJ hObj, DWORD ObjectType);
#endif /* GDI_DEBUG */
PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process);
#endif
#define GDIOBJFLAG_DEFAULT (0x0)
#define GDIOBJFLAG_IGNOREPID (0x1)
#define GDIOBJFLAG_IGNORELOCK (0x2)
#endif

81
inc_w32k/icm.h Normal file
View File

@@ -0,0 +1,81 @@
#ifndef __WIN32K_ICM_H
#define __WIN32K_ICM_H
BOOL
STDCALL
NtGdiCheckColorsInGamut(HDC hDC,
LPVOID RGBTriples,
LPVOID Buffer,
UINT Count);
BOOL
STDCALL
NtGdiColorMatchToTarget(HDC hDC,
HDC hDCTarget,
DWORD Action);
HCOLORSPACE
STDCALL
NtGdiCreateColorSpace(LPLOGCOLORSPACEW LogColorSpace);
BOOL
STDCALL
NtGdiDeleteColorSpace(HCOLORSPACE hColorSpace);
INT
STDCALL
NtGdiEnumICMProfiles(HDC hDC,
LPWSTR lpstrBuffer,
UINT cch );
HCOLORSPACE
STDCALL
NtGdiGetColorSpace(HDC hDC);
BOOL
STDCALL
NtGdiGetDeviceGammaRamp(HDC hDC,
LPVOID Ramp);
BOOL
STDCALL
NtGdiGetICMProfile(HDC hDC,
LPDWORD NameSize,
LPWSTR Filename);
BOOL
STDCALL
NtGdiGetLogColorSpace(HCOLORSPACE hColorSpace,
LPLOGCOLORSPACEW Buffer,
DWORD Size);
HCOLORSPACE
STDCALL
NtGdiSetColorSpace(HDC hDC,
HCOLORSPACE hColorSpace);
BOOL
STDCALL
NtGdiSetDeviceGammaRamp(HDC hDC,
LPVOID Ramp);
INT
STDCALL
NtGdiSetICMMode(HDC hDC,
INT EnableICM);
BOOL
STDCALL
NtGdiSetICMProfile(HDC hDC,
LPWSTR Filename);
BOOL
STDCALL
NtGdiUpdateICMRegKey(DWORD Reserved,
LPWSTR CMID,
LPWSTR Filename,
UINT Command);
#endif

View File

@@ -5,14 +5,18 @@
#define INTERNAL_CALL STDCALL
#endif
#include <win32k/bitmaps.h>
#include <win32k/brush.h>
#include <win32k/callback.h>
#include <win32k/caret.h>
#include <win32k/cliprgn.h>
#include <win32k/color.h>
#include <win32k/coord.h>
#include <win32k/cursoricon.h>
#include <win32k/path.h>
#include <win32k/driver.h>
#include <win32k/dc.h>
#include <win32k/debug.h>
#include <win32k/coord.h>
#include <win32k/bitmaps.h>
//#include <win32k/debug.h>
#include <win32k/fillshap.h>
#include <win32k/font.h>
#include <win32k/icm.h>
@@ -22,7 +26,6 @@
#include <win32k/misc.h>
#include <win32k/ntuser.h>
#include <win32k/paint.h>
#include <win32k/path.h>
#include <win32k/pen.h>
#include <win32k/print.h>
#include <win32k/region.h>

View File

@@ -22,6 +22,7 @@ typedef struct tagROSMENUINFO {
WORD Height; /* Height of the whole menu */
HWND WndOwner; /* window receiving the messages for ownerdraw */
BOOL TimeToHide; /* Request hiding when receiving a second click in the top-level menu item */
SIZE maxBmpSize; /* Maximum size of the bitmap items in MIIM_BITMAP state */
} ROSMENUINFO, *PROSMENUINFO;
/* (other FocusedItem values give the position of the focused item) */

View File

@@ -2,10 +2,6 @@
#ifndef __WIN32K_NTDDRAW_H
#define __WIN32K_NTDDRAW_H
#include <windows.h>
#include <ddk/ddrawint.h>
#include <ddk/d3dnthal.h>
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -1,9 +1,7 @@
#ifndef __WIN32K_NTUSER_H
#define __WIN32K_NTUSER_H
#include <ddk/ntapi.h>
#define WM_SYSTIMER 280
//#define WM_SYSTIMER 280
ULONG STDCALL
NtUserGetSystemMetrics(ULONG Index);
@@ -147,12 +145,12 @@ NtUserCallHwndParamLock(
DWORD Unknown1,
DWORD Unknown2);
DWORD
BOOL
STDCALL
NtUserCallMsgFilter(
DWORD Unknown0,
DWORD Unknown1);
LPMSG msg,
INT code);
LRESULT
STDCALL
NtUserCallNextHookEx(
@@ -189,6 +187,8 @@ NtUserCallNoParam(
#define ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING 0x0d
#define ONEPARAM_ROUTINE_GETWINDOWINSTANCE 0x10
#define ONEPARAM_ROUTINE_MSQSETWAKEMASK 0x27
#define ONEPARAM_ROUTINE_GETKEYBOARDTYPE 0x28
#define ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT 0x29
DWORD
STDCALL
NtUserCallOneParam(
@@ -222,6 +222,7 @@ NtUserCallOneParam(
#define TWOPARAM_ROUTINE_GETSYSCOLORPENS 0x64
#define TWOPARAM_ROUTINE_GETSYSCOLORS 0x65
#define TWOPARAM_ROUTINE_SETSYSCOLORS 0x66
#define TWOPARAM_ROUTINE_ROS_SHOWWINDOW 0x1000
DWORD
STDCALL
NtUserCallTwoParam(
@@ -300,7 +301,7 @@ NtUserCreateCaret(
int nWidth,
int nHeight);
HANDLE
HCURSOR
STDCALL
NtUserCreateCursorIconHandle(
PICONINFO IconInfo,
@@ -394,7 +395,7 @@ NtUserDestroyAcceleratorTable(
BOOL
STDCALL
NtUserDestroyCursorIcon(
HANDLE Handle,
HCURSOR Handle,
DWORD Unknown);
BOOLEAN STDCALL
@@ -717,13 +718,13 @@ NtUserGetGUIThreadInfo(
BOOL
STDCALL
NtUserGetCursorIconInfo(
HANDLE Handle,
HCURSOR Handle,
PICONINFO IconInfo);
BOOL
STDCALL
NtUserGetCursorIconSize(
HANDLE Handle,
HCURSOR Handle,
BOOL *fIcon,
SIZE *Size);
@@ -742,6 +743,11 @@ NtUserGetInternalWindowPos(
DWORD Unknown1,
DWORD Unknown2);
HKL
STDCALL
NtUserGetKeyboardLayout(
DWORD dwThreadid);
DWORD
STDCALL
NtUserGetKeyboardLayoutList(
@@ -760,8 +766,13 @@ NtUserGetKeyboardState(
DWORD
STDCALL
NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
NtUserGetKeyboardType(
DWORD TypeFlag);
DWORD
STDCALL
NtUserGetKeyNameText( LONG lParam, LPWSTR lpString, int nSize );
DWORD
STDCALL
NtUserGetKeyState(
@@ -1328,7 +1339,7 @@ NtUserSetCursor(
BOOL
STDCALL
NtUserSetCursorIconContents(
HANDLE Handle,
HCURSOR Handle,
PICONINFO IconInfo);
BOOL

43
inc_w32k/paint.h Normal file
View File

@@ -0,0 +1,43 @@
#ifndef __WIN32K_PAINT_H
#define __WIN32K_PAINT_H
typedef struct _PATRECT {
RECT r;
HBRUSH hBrush;
} PATRECT, * PPATRECT;
BOOL STDCALL
NtGdiPatBlt(
HDC hDC,
INT XLeft,
INT YLeft,
INT Width,
INT Height,
DWORD ROP);
BOOL STDCALL
NtGdiPolyPatBlt(
HDC hDC,
DWORD dwRop,
PPATRECT pRects,
INT cRects,
ULONG Reserved);
BOOL STDCALL
NtGdiPatBlt(
HDC hDC,
INT XLeft,
INT YLeft,
INT Width,
INT Height,
DWORD ROP);
BOOL STDCALL NtGdiGdiFlush (VOID);
DWORD STDCALL NtGdiGdiGetBatchLimit (VOID);
DWORD STDCALL NtGdiGdiSetBatchLimit (DWORD Limit);
UINT STDCALL NtGdiGetBoundsRect (HDC hDC, LPRECT Bounds, UINT Flags);
COLORREF STDCALL NtGdiSetBkColor (HDC hDC, COLORREF Color);
UINT STDCALL NtGdiSetBoundsRect (HDC hDC, CONST PRECT Bounds, UINT Flags);
#endif

View File

@@ -9,7 +9,7 @@
#define PENOBJ_AllocPen() ((HPEN)GDIOBJ_AllocObj(GDI_OBJECT_TYPE_PEN))
#define PENOBJ_FreePen(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_PEN)
#define PENOBJ_LockPen(hBMObj) ((PGDIBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_PEN))
#define PENOBJ_UnlockPen(hBMObj) GDIOBJ_UnlockObj((HGDIOBJ) hBMObj)
#define PENOBJ_UnlockPen(pPenObj) GDIOBJ_UnlockObjByPtr(pPenObj)
HPEN STDCALL
NtGdiCreatePen(

View File

@@ -13,7 +13,7 @@ typedef struct _ROSRGNDATA {
#define RGNDATA_FreeRgn(hRgn) GDIOBJ_FreeObj((HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION)
#define RGNDATA_LockRgn(hRgn) ((PROSRGNDATA)GDIOBJ_LockObj((HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION))
#define RGNDATA_UnlockRgn(hRgn) GDIOBJ_UnlockObj((HGDIOBJ)hRgn)
#define RGNDATA_UnlockRgn(pRgn) GDIOBJ_UnlockObjByPtr(pRgn)
HRGN FASTCALL RGNDATA_AllocRgn(INT n);
BOOL INTERNAL_CALL RGNDATA_Cleanup(PVOID ObjectBody);

View File

@@ -16,7 +16,7 @@ typedef struct
((HFONT) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_FONT))
#define TEXTOBJ_FreeText(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT)
#define TEXTOBJ_LockText(hBMObj) ((PTEXTOBJ) GDIOBJ_LockObj ((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT))
#define TEXTOBJ_UnlockText(hBMObj) GDIOBJ_UnlockObj ((HGDIOBJ) hBMObj)
#define TEXTOBJ_UnlockText(pBMObj) GDIOBJ_UnlockObjByPtr (pBMObj)
NTSTATUS FASTCALL TextIntRealizeFont(HFONT FontHandle);
NTSTATUS FASTCALL TextIntCreateFontIndirect(CONST LPLOGFONTW lf, HFONT *NewFont);

34
kapi.h Normal file
View File

@@ -0,0 +1,34 @@
#ifndef _WIN32K_KAPI_H
#define _WIN32K_KAPI_H
#ifndef INTERNAL_CALL
#define INTERNAL_CALL STDCALL
#endif
#include <win32k/brush.h>
#include <win32k/callback.h>
#include <win32k/caret.h>
#include <win32k/cliprgn.h>
#include <win32k/color.h>
#include <win32k/cursoricon.h>
#include <win32k/path.h>
#include <win32k/driver.h>
#include <win32k/dc.h>
#include <win32k/coord.h>
#include <win32k/bitmaps.h>
//#include <win32k/debug.h>
#include <win32k/fillshap.h>
#include <win32k/font.h>
#include <win32k/icm.h>
#include <win32k/line.h>
#include <win32k/metafile.h>
#include <win32k/menu.h>
#include <win32k/misc.h>
#include <win32k/ntuser.h>
#include <win32k/paint.h>
#include <win32k/pen.h>
#include <win32k/print.h>
#include <win32k/region.h>
#include <win32k/text.h>
#include <win32k/wingl.h>
#endif /* ndef _WIN32K_KAPI_H */

101
line.h Normal file
View File

@@ -0,0 +1,101 @@
#ifndef __WIN32K_LINE_H
#define __WIN32K_LINE_H
BOOL
STDCALL
NtGdiAngleArc(HDC hDC,
int X,
int Y,
DWORD Radius,
FLOAT StartAngle,
FLOAT SweepAngle);
BOOL
STDCALL
NtGdiArc(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect,
int XStartArc,
int YStartArc,
int XEndArc,
int YEndArc);
BOOL
STDCALL
NtGdiArcTo(HDC hDC,
int LeftRect,
int TopRect,
int RightRect,
int BottomRect,
int XRadial1,
int YRadial1,
int XRadial2,
int YRadial2);
INT
FASTCALL
IntGetArcDirection ( PDC dc );
INT
STDCALL
NtGdiGetArcDirection ( HDC hDC );
BOOL
STDCALL
NtGdiLineTo(HDC hDC,
int XEnd,
int YEnd );
BOOL
STDCALL
NtGdiMoveToEx(HDC hDC,
int X,
int Y,
LPPOINT Point);
BOOL
STDCALL
NtGdiPolyBezier(HDC hDC,
CONST LPPOINT pt,
DWORD Count);
BOOL
STDCALL
NtGdiPolyBezierTo(HDC hDC,
CONST LPPOINT pt,
DWORD Count);
BOOL
STDCALL
NtGdiPolyDraw(HDC hDC,
CONST LPPOINT pt,
CONST LPBYTE Types,
int Count);
BOOL
STDCALL
NtGdiPolyline(HDC hDC,
CONST LPPOINT pt,
int Count);
BOOL
STDCALL
NtGdiPolylineTo(HDC hDC,
CONST LPPOINT pt,
DWORD Count);
BOOL
STDCALL
NtGdiPolyPolyline(HDC hDC,
CONST LPPOINT pt,
CONST LPDWORD PolyPoints,
DWORD Count);
int
STDCALL
NtGdiSetArcDirection(HDC hDC,
int ArcDirection);
#endif

168
math.h Normal file
View File

@@ -0,0 +1,168 @@
/*
* math.h
*
* Mathematical functions.
*
* This file is part of the Mingw32 package.
*
* Contributors:
* Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* $Revision: 1.4 $
* $Author$
* $Date$
*
*/
/* added modfl */
#ifndef _MATH_H_
#define _MATH_H_
#include_next <math.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* HUGE_VAL is returned by strtod when the value would overflow the
* representation of 'double'. There are other uses as well.
*
* __imp__HUGE is a pointer to the actual variable _HUGE in
* MSVCRT.DLL. If we used _HUGE directly we would get a pointer
* to a thunk function.
*
* NOTE: The CRTDLL version uses _HUGE_dll instead.
*/
#ifdef __MSVCRT__
extern double* __imp__HUGE;
#define HUGE_VAL (*__imp__HUGE)
#else
/* CRTDLL */
extern double* _HUGE_dll;
#define HUGE_VAL (*_HUGE_dll)
#endif
#define M_PI 22 / 7
#define M_PI_2 M_PI * 2
struct _exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
};
/*
* Types for the above _exception structure.
*/
#define _DOMAIN 1 /* domain error in argument */
#define _SING 2 /* singularity */
#define _OVERFLOW 3 /* range overflow */
#define _UNDERFLOW 4 /* range underflow */
#define _TLOSS 5 /* total loss of precision */
#define _PLOSS 6 /* partial loss of precision */
/*
* Exception types with non-ANSI names for compatibility.
*/
#ifndef __STRICT_ANSI__
#ifndef _NO_OLDNAMES
#define DOMAIN _DOMAIN
#define SING _SING
#define OVERFLOW _OVERFLOW
#define UNDERFLOW _UNDERFLOW
#define TLOSS _TLOSS
#define PLOSS _PLOSS
#endif /* Not _NO_OLDNAMES */
#endif /* Not __STRICT_ANSI__ */
double sin (double x);
double cos (double x);
double tan (double x);
double sinh (double x);
double cosh (double x);
double tanh (double x);
double asin (double x);
double acos (double x);
double atan (double x);
double atan2 (double y, double x);
double exp (double x);
double log (double x);
double log10 (double x);
double pow (double x, double y);
long double powl (long double x,long double y);
double sqrt (double x);
double ceil (double x);
double floor (double x);
double fabs (double x);
double ldexp (double x, int n);
double frexp (double x, int* exp);
double modf (double x, double* ip);
long double modfl (long double x,long double* ip);
double fmod (double x, double y);
#ifndef __STRICT_ANSI__
/* Complex number (for cabs) */
struct _complex
{
double x; /* Real part */
double y; /* Imaginary part */
};
double _cabs (struct _complex x);
double _hypot (double x, double y);
double _j0 (double x);
double _j1 (double x);
double _jn (int n, double x);
double _y0 (double x);
double _y1 (double x);
double _yn (int n, double x);
#ifndef _NO_OLDNAMES
/*
* Non-underscored versions of non-ANSI functions. These reside in
* liboldnames.a. Provided for extra portability.
*/
#if 0
/* GCC 3.4 warns that this is not equal to it's internal definition for cabs */
double cabs (struct _complex x);
#endif
double hypot (double x, double y);
double j0 (double x);
double j1 (double x);
double jn (int n, double x);
double y0 (double x);
double y1 (double x);
double yn (int n, double x);
#endif /* Not _NO_OLDNAMES */
#endif /* Not __STRICT_ANSI__ */
#ifdef __cplusplus
}
#endif
#endif /* Not _MATH_H_ */

250
menu.h Normal file
View File

@@ -0,0 +1,250 @@
/* $Id$ */
#ifndef WIN32K_MENU_H_INCLUDED
#define WIN32K_MENU_H_INCLUDED
typedef struct tagROSMENUINFO {
/* ----------- MENUINFO ----------- */
DWORD cbSize;
DWORD fMask;
DWORD dwStyle;
UINT cyMax;
HBRUSH hbrBack;
DWORD dwContextHelpID;
ULONG_PTR dwMenuData;
/* ----------- Extra ----------- */
HMENU Self; /* Handle of this menu */
WORD Flags; /* Menu flags (MF_POPUP, MF_SYSMENU) */
UINT FocusedItem; /* Currently focused item */
UINT MenuItemCount; /* Number of items in the menu */
HWND Wnd; /* Window containing the menu */
WORD Width; /* Width of the whole menu */
WORD Height; /* Height of the whole menu */
HWND WndOwner; /* window receiving the messages for ownerdraw */
BOOL TimeToHide; /* Request hiding when receiving a second click in the top-level menu item */
SIZE maxBmpSize; /* Maximum size of the bitmap items in MIIM_BITMAP state */
} ROSMENUINFO, *PROSMENUINFO;
/* (other FocusedItem values give the position of the focused item) */
#define NO_SELECTED_ITEM 0xffff
typedef struct tagROSMENUITEMINFO
{
/* ----------- MENUITEMINFOW ----------- */
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
/* ----------- Extra ----------- */
RECT Rect; /* Item area (relative to menu window) */
UINT XTab; /* X position of text after Tab */
} ROSMENUITEMINFO, *PROSMENUITEMINFO;
typedef struct _SETMENUITEMRECT
{
UINT uItem;
BOOL fByPosition;
RECT rcRect;
} SETMENUITEMRECT, *PSETMENUITEMRECT;
DWORD
STDCALL
NtUserBuildMenuItemList(
HMENU hMenu,
PVOID Buffer,
ULONG nBufSize,
DWORD Reserved);
DWORD
STDCALL
NtUserCheckMenuItem(
HMENU hmenu,
UINT uIDCheckItem,
UINT uCheck);
HMENU
STDCALL
NtUserCreateMenu(BOOL PopupMenu);
BOOL
STDCALL
NtUserDeleteMenu(
HMENU hMenu,
UINT uPosition,
UINT uFlags);
BOOL
STDCALL
NtUserDestroyMenu(
HMENU hMenu);
DWORD
STDCALL
NtUserDrawMenuBarTemp(
HWND hWnd,
HDC hDC,
PRECT hRect,
HMENU hMenu,
HFONT hFont);
UINT
STDCALL
NtUserEnableMenuItem(
HMENU hMenu,
UINT uIDEnableItem,
UINT uEnable);
DWORD
STDCALL
NtUserInsertMenuItem(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
LPCMENUITEMINFOW lpmii);
BOOL
STDCALL
NtUserEndMenu(VOID);
UINT STDCALL
NtUserGetMenuDefaultItem(
HMENU hMenu,
UINT fByPos,
UINT gmdiFlags);
BOOL
STDCALL
NtUserGetMenuBarInfo(
HWND hwnd,
LONG idObject,
LONG idItem,
PMENUBARINFO pmbi);
UINT
STDCALL
NtUserGetMenuIndex(
HMENU hMenu,
UINT wID);
BOOL
STDCALL
NtUserGetMenuItemRect(
HWND hWnd,
HMENU hMenu,
UINT uItem,
LPRECT lprcItem);
HMENU
STDCALL
NtUserGetSystemMenu(
HWND hWnd,
BOOL bRevert);
BOOL
STDCALL
NtUserHiliteMenuItem(
HWND hwnd,
HMENU hmenu,
UINT uItemHilite,
UINT uHilite);
BOOL
STDCALL
NtUserMenuInfo(
HMENU hmenu,
PROSMENUINFO lpmi,
BOOL fsog
);
int
STDCALL
NtUserMenuItemFromPoint(
HWND hWnd,
HMENU hMenu,
DWORD X,
DWORD Y);
BOOL
STDCALL
NtUserMenuItemInfo(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
PROSMENUITEMINFO lpmii,
BOOL fsog
);
BOOL
STDCALL
NtUserRemoveMenu(
HMENU hMenu,
UINT uPosition,
UINT uFlags);
BOOL
STDCALL
NtUserSetMenu(
HWND hWnd,
HMENU hMenu,
BOOL bRepaint);
BOOL
STDCALL
NtUserSetMenuContextHelpId(
HMENU hmenu,
DWORD dwContextHelpId);
BOOL
STDCALL
NtUserSetMenuDefaultItem(
HMENU hMenu,
UINT uItem,
UINT fByPos);
BOOL
STDCALL
NtUserSetMenuFlagRtoL(
HMENU hMenu);
BOOL
STDCALL
NtUserSetSystemMenu(
HWND hWnd,
HMENU hMenu);
DWORD
STDCALL
NtUserThunkedMenuInfo(
HMENU hMenu,
LPCMENUINFO lpcmi);
DWORD
STDCALL
NtUserThunkedMenuItemInfo(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
BOOL bInsert,
LPMENUITEMINFOW lpmii,
PUNICODE_STRING lpszCaption);
BOOL
STDCALL
NtUserTrackPopupMenuEx(
HMENU hmenu,
UINT fuFlags,
int x,
int y,
HWND hwnd,
LPTPMPARAMS lptpm);
#endif /* WIN32K_MENU_H_INCLUDED */

180
metafile.h Normal file
View File

@@ -0,0 +1,180 @@
#ifndef __WIN32K_METAFILE_H
#define __WIN32K_METAFILE_H
HENHMETAFILE
STDCALL
NtGdiCloseEnhMetaFile (
HDC hDC
);
HMETAFILE
STDCALL
NtGdiCloseMetaFile (
HDC hDC
);
HENHMETAFILE
STDCALL
NtGdiCopyEnhMetaFile (
HENHMETAFILE Src,
LPCWSTR File
);
HMETAFILE
STDCALL
NtGdiCopyMetaFile (
HMETAFILE Src,
LPCWSTR File
);
HDC
STDCALL
NtGdiCreateEnhMetaFile (
HDC hDCRef,
LPCWSTR File,
CONST LPRECT Rect,
LPCWSTR Description
);
HDC
STDCALL
NtGdiCreateMetaFile (
LPCWSTR File
);
BOOL
STDCALL
NtGdiDeleteEnhMetaFile (
HENHMETAFILE emf
);
BOOL
STDCALL
NtGdiDeleteMetaFile (
HMETAFILE mf
);
BOOL
STDCALL
NtGdiEnumEnhMetaFile (
HDC hDC,
HENHMETAFILE emf,
ENHMFENUMPROC EnhMetaFunc,
LPVOID Data,
CONST LPRECT Rect
);
BOOL
STDCALL
NtGdiEnumMetaFile (
HDC hDC,
HMETAFILE mf,
MFENUMPROC MetaFunc,
LPARAM lParam
);
BOOL
STDCALL
NtGdiGdiComment (
HDC hDC,
UINT Size,
CONST LPBYTE Data
);
HENHMETAFILE
STDCALL
NtGdiGetEnhMetaFile (
LPCWSTR MetaFile
);
UINT
STDCALL
NtGdiGetEnhMetaFileBits (
HENHMETAFILE hemf,
UINT BufSize,
LPBYTE Buffer
);
UINT
STDCALL
NtGdiGetEnhMetaFileDescription (
HENHMETAFILE hemf,
UINT BufSize,
LPWSTR Description
);
UINT
STDCALL
NtGdiGetEnhMetaFileHeader (
HENHMETAFILE hemf,
UINT BufSize,
LPENHMETAHEADER emh
);
UINT
STDCALL
NtGdiGetEnhMetaFilePaletteEntries (
HENHMETAFILE hemf,
UINT Entries,
LPPALETTEENTRY pe
);
HMETAFILE
STDCALL
NtGdiGetMetaFile (
LPCWSTR MetaFile
);
UINT
STDCALL
NtGdiGetMetaFileBitsEx (
HMETAFILE hmf,
UINT Size,
LPVOID Data
);
UINT
STDCALL
NtGdiGetWinMetaFileBits (
HENHMETAFILE hemf,
UINT BufSize,
LPBYTE Buffer,
INT MapMode,
HDC Ref
);
BOOL
STDCALL
NtGdiPlayEnhMetaFile (
HDC hDC,
HENHMETAFILE hemf,
CONST PRECT Rect
);
BOOL
STDCALL
NtGdiPlayEnhMetaFileRecord (
HDC hDC,
LPHANDLETABLE Handletable,
CONST ENHMETARECORD * EnhMetaRecord,
UINT Handles
);
BOOL
STDCALL
NtGdiPlayMetaFile (
HDC hDC,
HMETAFILE hmf
);
BOOL
STDCALL
NtGdiPlayMetaFileRecord (
HDC hDC,
LPHANDLETABLE Handletable,
LPMETARECORD MetaRecord,
UINT Handles
);
HENHMETAFILE
STDCALL
NtGdiSetEnhMetaFileBits (
UINT BufSize,
CONST PBYTE Data
);
HMETAFILE
STDCALL
NtGdiSetMetaFileBitsEx (
UINT Size,
CONST PBYTE Data
);
#if 0
HENHMETAFILE
STDCALL
NtGdiSetWinMetaFileBits (
UINT BufSize,
CONST PBYTE Buffer,
HDC Ref,
CONST METAFILEPICT * mfp
);
#endif
#endif

13
misc.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef __WIN32K_MISC_H
#define __WIN32K_MISC_H
/* W32PROCESS flags */
#define W32PF_NOWINDOWGHOSTING (0x0001)
#define W32PF_MANUALGUICHECK (0x0002)
#define W32PF_CREATEDWINORDC (0x0004)
VOID
FASTCALL
DestroyThreadWindows(struct _ETHREAD *Thread);
#endif /* __WIN32K_MISC_H */

View File

@@ -1,60 +1,23 @@
/*
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PURPOSE: Native DirectDraw stubs
* FILE: subsys/win32k/ntddraw/stubs.c
* PROGRAMER: Peter Bajusz (hyp-x@stormregion.com)
* REVISION HISTORY:
* 25-10-2003 PB Created
*/
#include <ddk/ntddk.h>
#include <win32k/ntddraw.h>
#include <win32k/win32k.h>
#define NDEBUG
#include <debug.h>
#ifndef __WIN32K_NTDDRAW_H
#define __WIN32K_NTDDRAW_H
DWORD STDCALL NtGdiDdGetAvailDriverMemory(
HANDLE hDirectDrawLocal,
PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
)
{
UNIMPLEMENTED
return 0;
}
#ifdef __cplusplus
extern "C" {
#endif
BOOL STDCALL NtGdiD3dContextCreate(
HANDLE hDirectDrawLocal,
HANDLE hSurfColor,
HANDLE hSurfZ,
PD3DNTHAL_CONTEXTCREATEDATA pdcci
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiD3dContextDestroy(
PD3DNTHAL_CONTEXTDESTROYDATA pContextDestroyData
)
{
UNIMPLEMENTED
);
return 0;
}
DWORD STDCALL NtGdiD3dContextDestroyAll(VOID)
{
/* This entry point is not supported on NT5 and ROS */
UNIMPLEMENTED
return 0;
}
DWORD STDCALL NtGdiD3dContextDestroyAll(VOID);
DWORD STDCALL NtGdiD3dDrawPrimitives2(
HANDLE hCmdBuf,
@@ -64,100 +27,50 @@ DWORD STDCALL NtGdiD3dDrawPrimitives2(
DWORD *pdwSizeCmd,
FLATPTR *pfpVidMemVtx,
DWORD *pdwSizeVtx
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiD3dValidateTextureStageState(
PD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdAddAttachedSurface(
HANDLE hSurface,
HANDLE hSurfaceAttached,
PDD_ADDATTACHEDSURFACEDATA puAddAttachedSurfaceData
)
{
UNIMPLEMENTED
);
return 0;
}
DWORD STDCALL NtGdiDdAlphaBlt(VOID)
{
UNIMPLEMENTED
return 0;
}
DWORD STDCALL NtGdiDdAlphaBlt(VOID);
BOOL STDCALL NtGdiDdAttachSurface(
HANDLE hSurfaceFrom,
HANDLE hSurfaceTo
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdBeginMoCompFrame(
HANDLE hMoComp,
PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdBlt(
HANDLE hSurfaceDest,
HANDLE hSurfaceSrc,
PDD_BLTDATA puBltData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdCanCreateD3DBuffer(
HANDLE hDirectDraw,
PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdCanCreateSurface(
HANDLE hDirectDraw,
PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdColorControl(
HANDLE hSurface,
PDD_COLORCONTROLDATA puColorControlData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdCreateD3DBuffer(
HANDLE hDirectDraw,
@@ -168,33 +81,16 @@ DWORD STDCALL NtGdiDdCreateD3DBuffer(
DD_SURFACE_MORE *puSurfaceMoreData,
PDD_CREATESURFACEDATA puCreateSurfaceData,
HANDLE *puhSurface
)
{
UNIMPLEMENTED
);
return 0;
}
/*
HANDLE STDCALL NtGdiDdCreateDirectDrawObject(
HDC hdc
)
{
UNIMPLEMENTED
return 0;
}
*/
);
HANDLE STDCALL NtGdiDdCreateMoComp(
HANDLE hDirectDraw,
PDD_CREATEMOCOMPDATA puCreateMoCompData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdCreateSurface(
HANDLE hDirectDraw,
@@ -205,25 +101,14 @@ DWORD STDCALL NtGdiDdCreateSurface(
DD_SURFACE_MORE *puSurfaceMoreData,
PDD_CREATESURFACEDATA puCreateSurfaceData,
HANDLE *puhSurface
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdCreateSurfaceEx(
HANDLE hDirectDraw,
HANDLE hSurface,
DWORD dwSurfaceHandle
)
{
UNIMPLEMENTED
);
return 0;
}
/*
HANDLE STDCALL NtGdiDdCreateSurfaceObject(
HANDLE hDirectDrawLocal,
HANDLE hSurface,
@@ -231,70 +116,34 @@ HANDLE STDCALL NtGdiDdCreateSurfaceObject(
PDD_SURFACE_MORE puSurfaceMore,
PDD_SURFACE_GLOBAL puSurfaceGlobal,
BOOL bComplete
)
{
UNIMPLEMENTED
return 0;
}
);
BOOL STDCALL NtGdiDdDeleteDirectDrawObject(
HANDLE hDirectDrawLocal
)
{
UNIMPLEMENTED
return 0;
}
);
BOOL STDCALL NtGdiDdDeleteSurfaceObject(
HANDLE hSurface
)
{
UNIMPLEMENTED
return 0;
}
*/
);
DWORD STDCALL NtGdiDdDestroyD3DBuffer(
HANDLE hSurface
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdDestroyMoComp(
HANDLE hMoComp,
PDD_DESTROYMOCOMPDATA puBeginFrameData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdDestroySurface(
HANDLE hSurface,
BOOL bRealDestroy
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdEndMoCompFrame(
HANDLE hMoComp,
PDD_ENDMOCOMPFRAMEDATA puEndFrameData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdFlip(
HANDLE hSurfaceCurrent,
@@ -302,148 +151,84 @@ DWORD STDCALL NtGdiDdFlip(
HANDLE hSurfaceCurrentLeft,
HANDLE hSurfaceTargetLeft,
PDD_FLIPDATA puFlipData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdFlipToGDISurface(
HANDLE hDirectDraw,
PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetAvailDriverMemory(
HANDLE hDirectDraw,
PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
);
DWORD STDCALL NtGdiDdGetBltStatus(
HANDLE hSurface,
PDD_GETBLTSTATUSDATA puGetBltStatusData
)
{
UNIMPLEMENTED
return 0;
}
);
HDC STDCALL NtGdiDdGetDC(
HANDLE hSurface,
PALETTEENTRY *puColorTable
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetDriverInfo(
HANDLE hDirectDraw,
PDD_GETDRIVERINFODATA puGetDriverInfoData
);
DWORD STDCALL NtGdiDdGetDriverState(
PDD_GETDRIVERSTATEDATA pdata
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetDxHandle(
HANDLE hDirectDraw,
HANDLE hSurface,
BOOL bRelease
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetFlipStatus(
HANDLE hSurface,
PDD_GETFLIPSTATUSDATA puGetFlipStatusData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetInternalMoCompInfo(
HANDLE hDirectDraw,
PDD_GETINTERNALMOCOMPDATA puGetInternalData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetMoCompBuffInfo(
HANDLE hDirectDraw,
PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetMoCompFormats(
HANDLE hDirectDraw,
PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetMoCompGuids(
HANDLE hDirectDraw,
PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdGetScanLine(
HANDLE hDirectDraw,
PDD_GETSCANLINEDATA puGetScanLineData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdLock(
HANDLE hSurface,
PDD_LOCKDATA puLockData,
HDC hdcClip
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdLockD3D(
HANDLE hSurface,
PDD_LOCKDATA puLockData
)
{
UNIMPLEMENTED
);
return 0;
}
/*
BOOL STDCALL NtGdiDdQueryDirectDrawObject(
HANDLE hDirectDrawLocal,
DD_HALINFO *pHalInfo,
@@ -456,143 +241,82 @@ BOOL STDCALL NtGdiDdQueryDirectDrawObject(
VIDEOMEMORY *puvmList,
DWORD *puNumFourCC,
DWORD *puFourCC
)
{
UNIMPLEMENTED
return 0;
}
*/
);
DWORD STDCALL NtGdiDdQueryMoCompStatus(
HANDLE hMoComp,
PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData
)
{
UNIMPLEMENTED
return 0;
}
);
BOOL STDCALL NtGdiDdReenableDirectDrawObject(
HANDLE hDirectDrawLocal,
BOOL *pubNewMode
)
{
UNIMPLEMENTED
return 0;
}
);
BOOL STDCALL NtGdiDdReleaseDC(
HANDLE hSurface
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdRenderMoComp(
HANDLE hMoComp,
PDD_RENDERMOCOMPDATA puRenderMoCompData
)
{
UNIMPLEMENTED
return 0;
}
);
BOOL STDCALL NtGdiDdResetVisrgn(
HANDLE hSurface,
HWND hwnd
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdSetColorKey(
HANDLE hSurface,
PDD_SETCOLORKEYDATA puSetColorKeyData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdSetExclusiveMode(
HANDLE hDirectDraw,
PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
)
{
UNIMPLEMENTED
return 0;
}
);
BOOL STDCALL NtGdiDdSetGammaRamp(
HANDLE hDirectDraw,
HDC hdc,
LPVOID lpGammaRamp
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdSetOverlayPosition(
HANDLE hSurfaceSource,
HANDLE hSurfaceDestination,
PDD_SETOVERLAYPOSITIONDATA puSetOverlayPositionData
)
{
UNIMPLEMENTED
return 0;
}
);
VOID STDCALL NtGdiDdUnattachSurface(
HANDLE hSurface,
HANDLE hSurfaceAttached
)
{
UNIMPLEMENTED
}
);
DWORD STDCALL NtGdiDdUnlock(
HANDLE hSurface,
PDD_UNLOCKDATA puUnlockData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdUnlockD3D(
HANDLE hSurface,
PDD_UNLOCKDATA puUnlockData
)
{
UNIMPLEMENTED
return 0;
}
);
DWORD STDCALL NtGdiDdUpdateOverlay(
HANDLE hSurfaceDestination,
HANDLE hSurfaceSource,
PDD_UPDATEOVERLAYDATA puUpdateOverlayData
)
{
UNIMPLEMENTED
);
return 0;
}
DWORD STDCALL NtGdiDdWaitForVerticalBlank(
HANDLE hDirectDraw,
PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
);
#ifdef __cplusplus
} /* extern "C" */
#endif
/* EOF */
#endif

1839
ntuser.h Normal file

File diff suppressed because it is too large Load Diff

43
paint.h Normal file
View File

@@ -0,0 +1,43 @@
#ifndef __WIN32K_PAINT_H
#define __WIN32K_PAINT_H
typedef struct _PATRECT {
RECT r;
HBRUSH hBrush;
} PATRECT, * PPATRECT;
BOOL STDCALL
NtGdiPatBlt(
HDC hDC,
INT XLeft,
INT YLeft,
INT Width,
INT Height,
DWORD ROP);
BOOL STDCALL
NtGdiPolyPatBlt(
HDC hDC,
DWORD dwRop,
PPATRECT pRects,
INT cRects,
ULONG Reserved);
BOOL STDCALL
NtGdiPatBlt(
HDC hDC,
INT XLeft,
INT YLeft,
INT Width,
INT Height,
DWORD ROP);
BOOL STDCALL NtGdiGdiFlush (VOID);
DWORD STDCALL NtGdiGdiGetBatchLimit (VOID);
DWORD STDCALL NtGdiGdiSetBatchLimit (DWORD Limit);
UINT STDCALL NtGdiGetBoundsRect (HDC hDC, LPRECT Bounds, UINT Flags);
COLORREF STDCALL NtGdiSetBkColor (HDC hDC, COLORREF Color);
UINT STDCALL NtGdiSetBoundsRect (HDC hDC, CONST PRECT Bounds, UINT Flags);
#endif

54
path.h Normal file
View File

@@ -0,0 +1,54 @@
#ifndef __WIN32K_PATH_H
#define __WIN32K_PATH_H
typedef enum tagGdiPathState
{
PATH_Null,
PATH_Open,
PATH_Closed
} GdiPathState;
typedef struct tagGdiPath
{
GdiPathState state;
POINT *pPoints;
BYTE *pFlags;
int numEntriesUsed, numEntriesAllocated;
BOOL newStroke;
} GdiPath;
#define PATH_IsPathOpen(path) ((path).state==PATH_Open)
BOOL STDCALL NtGdiAbortPath(HDC hDC);
BOOL STDCALL NtGdiBeginPath(HDC hDC);
BOOL STDCALL NtGdiCloseFigure(HDC hDC);
BOOL STDCALL NtGdiEndPath(HDC hDC);
BOOL STDCALL NtGdiFillPath(HDC hDC);
BOOL STDCALL NtGdiFlattenPath(HDC hDC);
BOOL STDCALL NtGdiGetMiterLimit(HDC hDC,
PFLOAT Limit);
INT STDCALL NtGdiGetPath(HDC hDC,
LPPOINT Points,
LPBYTE Types,
INT nSize);
HRGN STDCALL NtGdiPathToRegion(HDC hDC);
BOOL STDCALL NtGdiSetMiterLimit(HDC hDC,
FLOAT NewLimit,
PFLOAT OldLimit);
BOOL STDCALL NtGdiStrokeAndFillPath(HDC hDC);
BOOL STDCALL NtGdiStrokePath(HDC hDC);
BOOL STDCALL NtGdiWidenPath(HDC hDC);
#endif

32
pen.h Normal file
View File

@@ -0,0 +1,32 @@
#ifndef __WIN32K_PEN_H
#define __WIN32K_PEN_H
#include <win32k/gdiobj.h>
#include <win32k/brush.h>
/* Internal interface */
#define PENOBJ_AllocPen() ((HPEN)GDIOBJ_AllocObj(GDI_OBJECT_TYPE_PEN))
#define PENOBJ_FreePen(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_PEN)
#define PENOBJ_LockPen(hBMObj) ((PGDIBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_PEN))
#define PENOBJ_UnlockPen(pPenObj) GDIOBJ_UnlockObjByPtr(pPenObj)
HPEN STDCALL
NtGdiCreatePen(
INT PenStyle,
INT Width,
COLORREF Color);
HPEN STDCALL
NtGdiCreatePenIndirect(
CONST PLOGPEN LogBrush);
HPEN STDCALL
NtGdiExtCreatePen(
DWORD PenStyle,
DWORD Width,
CONST LOGBRUSH *LogBrush,
DWORD StyleCount,
CONST DWORD *Style);
#endif

48
print.h Normal file
View File

@@ -0,0 +1,48 @@
#ifndef __WIN32K_PRINT_H
#define __WIN32K_PRINT_H
INT
STDCALL
NtGdiAbortDoc(HDC hDC);
INT
STDCALL
NtGdiEndDoc(HDC hDC);
INT
STDCALL
NtGdiEndPage(HDC hDC);
INT
STDCALL
NtGdiEscape(HDC hDC,
INT Escape,
INT InSize,
LPCSTR InData,
LPVOID OutData);
INT
STDCALL
NtGdiExtEscape(HDC hDC,
INT Escape,
INT InSize,
LPCSTR InData,
INT OutSize,
LPSTR OutData);
INT
STDCALL
NtGdiSetAbortProc(HDC hDC,
ABORTPROC AbortProc);
INT
STDCALL
NtGdiStartDoc(HDC hDC,
CONST LPDOCINFOW di);
INT
STDCALL
NtGdiStartPage(HDC hDC);
#endif

View File

@@ -1,340 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,78 +0,0 @@
ReactOS is available thanks to the work of
Emanuele Aliberti <ea@iol.it>
Robert Bergkvist <fragdance@hotmail.com>
Hartmut Birr <hartmut.birr@gmx.de>
Aleksey Bragin <aleksey@studiocerebral.com>
Richard Campbell <eek2121@comcast.net>
Gunnar Andre' Dalsnes <hardon@online.no>
Arindam Das
Boudewijn Dekker <ariadne@xs4all.nl>
Robert Dickenson <robd@reactos.org>
Marty Dill <mdill@uvic.ca>
Jason Eager
Steven Edwards <steven_ed4153@yahoo.com>
Iwan Fatahi <i_fatahi@hotmail.com>
Jason Filby <jasonfilby@yahoo.com>
Martin Fuchs <martin-fuchs@gmx.net>
Jurgen van Gael <jurgen.vangael@student.kuleuven.ac.be>
Ge van Geldorp <ge@gse.nl>
Andrew Greenwood <lists@silverblade.co.uk>
Casper S. Hornstrup <chorns@users.sourceforge.net>
KJK::Hyperion <noog@libero.it>
Eugene Ingerman <geneing@myrealbox.com>
Rex Jolliff <rex@lvcablemodem.com>
Guido de Jong
Victor Kirhenshtein <sauros@iname.com>
Eric Kohl <ekohl@rz-online.de>
Hans Kremer
Frederik Leemans
Jean Michault
Royce Mitchell III <royce3@ev1.net>
Filip Navara <xnavara@volny.cz>
Jim Noeth
Mike Nordell ("tamlin")
Hernan Ochoa
Brian Palmer <brianp@sginet.com>
Paolo Pantaleo <paolopan@freemail.it>
Matt Pyne
Phillip Susi <phreak@iag.net>
James B. Tabor <jimtabor@adsl-64-217-116-74.dsl.hstntx.swbell.net>
Mark Tempel <mtempel@visi.com>
Vizzini <vizzini@plasmic.com>
Mark Weaver <mark@npsl.co.uk>
Thomas Weidenmueller <w3seek@users.sourceforge.net>
Jason Weiler
David Welch <welch@cwcom.net>
Jonathan Wilson <jonwil@tpgi.com.au>
Art Yerkes <ayerkes@speakeasy.net>
Graphic Design from
Everaldo (http://everaldo.com) for Explorer icons
Source and inspiration from
WINE (http://www.winehq.com)
WinFree (http://www.stack.nl/~onno/win32/)
Linux (http://www.kernel.org)
XFree86 (http://www.xfree86.org/)
References (Rex's at least)
Baker, Art. The Windows NT Device Driver Book. Prentice Hall, 1997.
Borate, Dabak & Phadke. Undocumented Windows NT. M&T Books, 1999.
Brain, Marshall. Win32 System Services. Prentice Hall, 1996.
Cant, Chris. Writing Windows WDM Device Drivers. R&D Books, 1999.
Canton & Sanchez. IBM Microcomputers: A Programmer's Handbook. McGraw Hill, 1990.
Davis & Wallace. Windows Undocumented File Formats. R&D Books, 1997.
Mason & Viscarola. Windows NT Device Driver Development. Macmillan, 1999.
Mitchell, Stan. Inside the Windows 95 File System. O'Reilly, 1997.
Murray, James D. Windows NT Event Logging. O'Reilly, 1998.
Nagar, Rajeev. Windows NT File System Internals. O'Reilly, 1997.
Osbourne, Sandra. Windows NT Registry: A Settings Reference. New Riders, 1998.
Pietrek, Matt. Windows 95 System Programming Secrets. IDG, 1995.
Richter, Jeffery. Advanced Windows, 3rd ed. Microsoft, 1997.
Simon, Richard J. Windows NT Win32 API Superbible. Waite Group, 1996.
Solomon, David A. Inside Windows NT, 2nd Ed. Microsoft, 1998.
"The NT Insider." Open Systems Resources, 1999-2000.

View File

@@ -1,211 +0,0 @@
# Doxyfile 1.3.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = ReactOS
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doxy-doc
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = .
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = YES
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = hal \
subsys \
services \
regtests \
iface
FILE_PATTERNS = *.c \
*.h
RECURSIVE = YES
EXCLUDE = subsys/win32k \
subsys/system/explorer
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = YES
RTF_HYPERLINKS = YES
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = NO
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = include
INCLUDE_FILE_PATTERNS = *.h
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES

View File

@@ -1,73 +0,0 @@
1. Build environment
To build the system you need either mingw32 installed on Windows or a mingw32
cross compiler running on unix. You may obtain MinGW binaries that build
ReactOS from http://www.reactos.com.
2. Building ReactOS
To build from Windows run 'make' (wihout the quotes) from the top directory.
To build from unix, edit rules.mak and change the PREFIX variable to the
correct value for your cross-compiler. Run 'export HOST=mingw32-linux' to
tell the ReactOS build system that it is building ReactOS on a linux machine.
Now run 'make'.
3. Installation
The system can only be installed on the first partition on the first harddisk.
The partition must be formatted as FAT16 or FAT32. The system can only be
started from DOS and not from a Windows DOS-prompt.
ReactOS can be installed from the source distribution or from the binary
distribution. The two ways to install ReactOS are explained below.
3.1 Installation from sources
To install ReactOS after building it, type 'make install'. This will create
the directory 'reactos' in the top directory. Copy this directory to the root
of your first partition on your first harddisk. This is usually c:\ on a
Windows machine.
If you don't want to copy the files manually every time you run a 'make install',
you can specify the directory where the files are to be copied to during
installation.
In rules.mak find the variable INSTALL_DIR and change the assigned value to the
name of the directory where the files are to be copied to. If you are using
Windows this could be:
INSTALL_DIR = c:\reactos
If you are on linux this could be:
INSTALL_DIR = /mnt/windows/reactos
Save the changes to rules.mak and run 'make install' to install the files to
the new location. If you don't want to change rules.mak, you can specify the
installtion directory when invoking make. Run
'make INSTALL_DIR=c:\reactos install' to install to c:\reactos.
3.2 Installation from binany distribution
To install ReactOS from the binary distribution, extract the archive contents
to c:\reactos. Remember to extract the files with full paths.
4. Booting ReactOS
Startup in DOS mode. 'cd' to c:\reactos and type 'boot' and press <enter>.
A simple shell is started where you can use simple commands like 'cd' and 'dir'.
5. Help
If you run into problems or have suggestions for making ReactOS better, please
surf to the address below and subscribe to one or more of the mailing lists.
http://www.reactos.com/index.php?tab=discussion&section=lists
ReactOS Development Team

View File

@@ -1,5 +0,0 @@
# Main jamfile for ReactOS
SubDir ROS_TOP ;
SubInclude ROS_TOP Lib ;

View File

@@ -1,54 +0,0 @@
# customization for ReactOS goes here
# The SharedLibrary and SharedLibraryFromObjects rules were
# borrowed from here:
# http://www.differentpla.net/~roger/devel/jam/tutorial/shared_lib/index.html
SUFSHR = .dll ;
RM = rm ; # rm comes with MinGW, and the default del doesn't work in some cases
rule SharedLibrary
{
SharedLibraryFromObjects $(<) : $(>:S=$(SUFOBJ)) ;
Objects $(>) ;
}
rule SharedLibraryFromObjects
{
local _s _t ;
# Add grist to file names
# Add suffix to dll
_s = [ FGristFiles $(>) ] ;
_t = [ FAppendSuffix $(<) : $(SUFSHR) ] ;
if $(_t) != $(<)
{
DEPENDS $(<) : $(_t) ;
NOTFILE $(<) ;
}
# make compiled sources a dependency of target
DEPENDS exe : $(_t) ;
DEPENDS $(_t) : $(_s) ;
MakeLocate $(_t) : $(LOCATE_TARGET) ;
Clean clean : $(_t) ;
Link $(_t) : $(_s) ;
}
# nasm needs to know the output file first, or it doesn't
# recognize -I :(
actions As
{
$(AS) -o $(<) $(ASFLAGS) -I$(HDRS) $(>)
}
AS = nasm ;
# why isn't DEFINES working? :(
#DEFINES += _M_IX86 ;
CCFLAGS += -D_M_IX86 ;

View File

@@ -1,504 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +0,0 @@
========================
ReactOS Version 0.2.x
Updated June 23rd, 2004
========================
1. What is ReactOS?
ReactOS is an Open Source effort to develop a quality operating system
that is compatible with Windows NT applications and drivers.
The ReactOS project, although currently focused on Windows NT 4.0
compatibility, is always keeping an eye towards compatibility with
future Windows NT releases, that is, Windows 2000 (NT 5.0) and
Windows XP (NT 5.1).
More information is available at http://www.reactos.com.
2. Building ReactOS
See the INSTALL file for more details.
3. More information
See the doc subdirectory for some sparse notes
4. Who is responsible
See the CREDITS file

View File

@@ -1,33 +0,0 @@
; Format:
; COMPONENT_NAME PATH_TO_COMPONENT_SOURCES
; COMPONENT_NAME - Name of the component. Eg. kernel32.dll.
; PATH_TO_COMPONENT_SOURCES - Relative path to sources (relative to
; where rgenstat is run from).
advapi32.dll reactos/lib/advapi32
crtdll.dll reactos/lib/crtdll
gdi32.dll reactos/lib/gdi32
gdiplus.dll reactos/lib/gdiplus
iphlpapi.dll reactos/lib/iphlpapi
kernel32.dll reactos/lib/kernel32
lz32.dll reactos/lib/lzexpand
msvcrt.dll reactos/lib/msvcrt
ole32.dll reactos/lib/ole32
oleaut32.dll reactos/lib/oleaut32
rpcrt4.dll reactos/lib/rpcrt4
secur32.dll reactos/lib/secur32
shell32.dll reactos/lib/shell32
snmpapi.dll reactos/lib/snmpapi
user32.dll reactos/lib/user32
version.dll reactos/lib/version
winmm.dll reactos/lib/winmm
winspool.dll reactos/lib/winspool
ws2_32.dll reactos/lib/ws2_32
wsock32.dll reactos/lib/wsock32
videoprt.dll reactos/drivers/video/videoprt
ndis.sys reactos/drivers/net/ndis
tdi.sys reactos/drivers/net/tdi
class2.sys reactos/drivers/storage/class2
scsiport.sys reactos/drivers/storage/scsiport
ntoskrnl.exe reactos/ntoskrnl
ntoskrnl.exe reactos/lib/rtl
win32k.sys reactos/subsys/win32k

View File

@@ -1,207 +0,0 @@
# Doxyfile 1.3.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "ReactOS Apps & Tools"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doxy-doc
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ..
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = YES
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = NO
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = . \
../tools
FILE_PATTERNS = *.c \
*.h
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 200
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = YES
RTF_HYPERLINKS = YES
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = NO
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = ../include
INCLUDE_FILE_PATTERNS = *.h
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES

View File

@@ -1,13 +0,0 @@
# $Id$
#
# ReactOS apps and tools makefile to generate Doxygen documentation
#
docu:
doxygen Doxyfile
.PHONY: docu
# EOF

View File

@@ -1,162 +0,0 @@
#
# ReactOS system testsets makefile
#
PATH_TO_TOP = ../..
include $(PATH_TO_TOP)/rules.mak
# Testset applications
TEST_SETS = loadlib
TEST_KERNEL32 =
TEST_MSVCRT =
TEST_COM =
TEST_SEH =
TEST_REGRESSIONS =
all: $(TEST_SETS) $(TEST_KERNEL32) $(TEST_MSVCRT) $(TEST_COM) $(TEST_SEH) $(TEST_REGRESSIONS)
depends:
implib: $(TEST_SETS:%=%_implib) \
$(TEST_KERNEL32:%=%_implib) \
$(TEST_MSVCRT:%=%_implib) \
$(TEST_COM:%=%_implib) \
$(TEST_SEH:%=%_implib) \
$(TEST_REGRESSIONS:%=%_implib)
clean: $(TEST_SETS:%=%_clean) \
$(TEST_KERNEL32:%=%_clean) \
$(TEST_MSVCRT:%=%_clean) \
$(TEST_COM:%=%_clean) \
$(TEST_SEH:%=%_clean) \
$(TEST_REGRESSIONS:%=%_clean)
install: $(TEST_SETS:%=%_install) \
$(TEST_KERNEL32:%=%_install) \
$(TEST_MSVCRT:%=%_install) \
$(TEST_COM:%=%_install) \
$(TEST_SEH:%=%_install) \
$(TEST_REGRESSIONS:%=%_install)
.PHONY: all depends implib clean install
#
# Testset Applications
#
$(TEST_SETS): %:
$(MAKE) -C $*
$(TEST_SETS:%=%_implib): %_implib:
$(MAKE) -C $* implib
$(TEST_SETS:%=%_clean): %_clean:
$(MAKE) -C $* clean
$(TEST_SETS:%=%_install): %_install:
$(MAKE) -C $* install
.PHONY: $(TEST_SETS) $(TEST_SETS:%=%_implib) $(TEST_SETS:%=%_clean) $(TEST_SETS:%=%_install)
#
# Kernel32 Test Applications
#
$(TEST_KERNEL32): %:
$(MAKE) -C kernel32/$*
$(TEST_KERNEL32:%=%_implib): %_implib:
$(MAKE) -C kernel32/$* implib
$(TEST_KERNEL32:%=%_clean): %_clean:
$(MAKE) -C kernel32/$* clean
$(TEST_KERNEL32:%=%_install): %_install:
$(MAKE) -C kernel32/$* install
.PHONY: $(TEST_KERNEL32) $(TEST_KERNEL32:%=%_implib) $(TEST_KERNEL32:%=%_clean) $(TEST_KERNEL32:%=%_install)
#
# msvcrt Test Applications
#
$(TEST_MSVCRT): %:
$(MAKE) -C msvcrt/$*
$(TEST_MSVCRT:%=%_implib): %_implib:
$(MAKE) -C msvcrt/$* implib
$(TEST_MSVCRT:%=%_clean): %_clean:
$(MAKE) -C msvcrt/$* clean
$(TEST_MSVCRT:%=%_install): %_install:
$(MAKE) -C msvcrt/$* install
.PHONY: $(TEST_MSVCRT) $(TEST_MSVCRT:%=%_implib) $(TEST_MSVCRT:%=%_clean) $(TEST_MSVCRT:%=%_install)
#
# COM Test Applications
#
$(TEST_COM): %:
$(MAKE) -C com/$*
$(TEST_COM:%=%_implib): %_implib:
$(MAKE) -C com/$* implib
$(TEST_COM:%=%_clean): %_clean:
$(MAKE) -C com/$* clean
$(TEST_COM:%=%_install): %_install:
$(MAKE) -C com/$* install
.PHONY: $(TEST_COM) $(TEST_COM:%=%_implib) $(TEST_COM:%=%_clean) $(TEST_COM:%=%_install)
#
# SEH Test Applications
#
$(TEST_SEH): %:
$(MAKE) -C seh/$*
$(TEST_SEH:%=%_implib): %_implib:
$(MAKE) -C seh/$* implib
$(TEST_SEH:%=%_clean): %_clean:
$(MAKE) -C seh/$* clean
$(TEST_SEH:%=%_install): %_install:
$(MAKE) -C seh/$* install
.PHONY: $(TEST_SEH) $(TEST_SEH:%=%_implib) $(TEST_SEH:%=%_clean) $(TEST_SEH:%=%_install)
#
# Regression Test Applications
#
$(TEST_REGRESSIONS): %:
$(MAKE) -C regres/$*
$(TEST_REGRESSIONS:%=%_implib): %_implib:
$(MAKE) -C regres/$* implib
$(TEST_REGRESSIONS:%=%_clean): %_clean:
$(MAKE) -C regres/$* clean
$(TEST_REGRESSIONS:%=%_install): %_install:
$(MAKE) -C regres/$* install
.PHONY: $(TEST_REGRESSIONS) $(TEST_REGRESSIONS:%=%_implib) $(TEST_REGRESSIONS:%=%_clean) $(TEST_REGRESSIONS:%=%_install)
etags:
find . -name "*.[ch]" -print | etags --language=c -
# EOF

View File

@@ -1,223 +0,0 @@
/*
* ReactOS test program -
*
* loadlib.c
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <windows.h>
#include "loadlib.h"
#include <string.h>
#include <stdlib.h>
#include <wchar.h>
#define APP_VERSION 1
#define MAX_LIBS 25
#ifdef UNICODE
#define TARGET "UNICODE"
BOOL bUseAnsi = FALSE;
#else
#define TARGET "MBCS"
BOOL bUseAnsi = TRUE;
#endif
BOOL verbose_flagged = FALSE;
BOOL debug_flagged = FALSE;
BOOL loop_flagged = FALSE;
BOOL recursive_flagged = FALSE;
HANDLE OutputHandle;
HANDLE InputHandle;
void dprintf(char* fmt, ...)
{
va_list args;
char buffer[255];
va_start(args, fmt);
wvsprintfA(buffer, fmt, args);
WriteConsoleA(OutputHandle, buffer, lstrlenA(buffer), NULL, NULL);
va_end(args);
}
long getinput(char* buf, int buflen)
{
DWORD result;
ReadConsoleA(InputHandle, buf, buflen, &result, NULL);
return (long)result;
}
DWORD ReportLastError(void)
{
DWORD dwError = GetLastError();
if (dwError != ERROR_SUCCESS) {
PSTR msg = NULL;
if (FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
0, dwError, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (PSTR)&msg, 0, NULL)) {
if (msg != NULL) {
dprintf("ReportLastError() %d - %s\n", dwError, msg);
} else {
dprintf("ERROR: ReportLastError() %d - returned TRUE but with no msg string!\n", dwError);
}
} else {
dprintf("ReportLastError() %d - unknown error\n", dwError);
}
if (msg != NULL) {
LocalFree(msg);
}
}
return dwError;
}
const char* appName(const char* argv0)
{
const char* name;
name = (const char*)strrchr(argv0, '\\');
if (name != NULL)
return name + 1;
return argv0;
}
int usage(const char* appName)
{
dprintf("USAGE: %s libname [libname ...] [unicode]|[ansi] [loop][recurse]\n", appName);
dprintf("\tWhere libname(s) is one or more libraries to load.\n");
dprintf("\t[unicode] - perform tests using UNICODE api calls\n");
dprintf("\t[ansi] - perform tests using ANSI api calls\n");
dprintf("\t default is %s\n", TARGET);
dprintf("\t[loop] - run test process in continuous loop\n");
dprintf("\t[recurse] - load libraries recursively rather than sequentually\n");
dprintf("\t[debug] - enable debug mode (unused)\n");
dprintf("\t[verbose] - enable verbose output (unused)\n");
return 0;
}
DWORD LoadLibraryList(char** libnames, int counter, BOOL bUseAnsi)
{
HMODULE hModule;
dprintf("Attempting to LoadLibrary");
if (bUseAnsi) {
dprintf("A(%s) - ", *libnames);
hModule = LoadLibraryA(*libnames);
} else {
int len;
wchar_t libnameW[500];
len = mbstowcs(libnameW, *libnames, strlen(*libnames));
if (len) {
libnameW[len] = L'\0';
dprintf("W(%S) - ", libnameW);
hModule = LoadLibraryW(libnameW);
} else {
return ERROR_INVALID_PARAMETER;
}
}
if (hModule == NULL) {
dprintf("\nERROR: failed to obtain handle to module %s - %x\n", *libnames, hModule);
return ReportLastError();
}
dprintf("%x\n", hModule);
if (counter--) {
LoadLibraryList(++libnames, counter, bUseAnsi);
}
if (!FreeLibrary(hModule)) {
dprintf("ERROR: failed to free module %s - %x\n", *libnames, hModule);
return ReportLastError();
} else {
dprintf("FreeLibrary(%x) - successfull.\n", hModule);
}
return 0L;
}
int __cdecl main(int argc, char* argv[])
{
char* libs[MAX_LIBS];
int lib_count = 0;
int result = 0;
int i = 0;
AllocConsole();
InputHandle = GetStdHandle(STD_INPUT_HANDLE);
OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE);
dprintf("%s application - build %03d (default: %s)\n", appName(argv[0]), APP_VERSION, TARGET);
if (argc < 2) {
/*return */usage(appName(argv[0]));
}
memset(libs, 0, sizeof(libs));
for (i = 1; i < argc; i++) {
if (lstrcmpiA(argv[i], "ansi") == 0) {
bUseAnsi = TRUE;
} else if (lstrcmpiA(argv[i], "unicode") == 0) {
bUseAnsi = FALSE;
} else if (lstrcmpiA(argv[i], "loop") == 0) {
loop_flagged = 1;
} else if (lstrcmpiA(argv[i], "recurse") == 0) {
recursive_flagged = 1;
} else if (lstrcmpiA(argv[i], "verbose") == 0) {
verbose_flagged = 1;
} else if (lstrcmpiA(argv[i], "debug") == 0) {
debug_flagged = 1;
} else {
if (lib_count < MAX_LIBS) {
libs[lib_count] = argv[i];
++lib_count;
}
}
}
if (lib_count) {
do {
if (recursive_flagged) {
result = LoadLibraryList(libs, lib_count - 1, bUseAnsi);
} else {
for (i = 0; i < lib_count; i++) {
result = LoadLibraryList(&libs[i], 0, bUseAnsi);
//if (result != 0) break;
}
}
} while (loop_flagged);
} else {
int len;
char buffer[500];
do {
dprintf("\nEnter library name to attempt loading: ");
len = getinput(buffer, sizeof(buffer) - 1);
if (len > 2) {
char* buf = buffer;
buffer[len-2] = '\0';
result = LoadLibraryList(&buf, 0, bUseAnsi);
} else break;
} while (!result && len);
}
dprintf("finished\n");
return result;
}
#ifdef _NOCRT
char* args[] = { "loadlib.exe", "advapi32.dll", "user32.dll", "recurse"};
int __cdecl mainCRTStartup(void)
{
return main(3, args);
}
#endif /*__GNUC__*/

View File

@@ -1,45 +0,0 @@
/*
* ReactOS test program -
*
* loadlib.h
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __LOADLIB_H__
#define __LOADLIB_H__
#ifdef __cplusplus
extern "C" {
#endif
extern BOOL verbose_flagged;
extern BOOL debug_flagged;
extern BOOL loop_flagged;
extern BOOL recursive_flagged;
DWORD ReportLastError(void);
long getinput(char* Buffer, int buflen);
void dprintf(char* fmt, ...);
#ifdef __cplusplus
};
#endif
#endif // __LOADLIB_H__

View File

@@ -1,24 +0,0 @@
#
# $Id: makefile,v 1.0
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = loadlib
TARGET_CFLAGS = -Wall -Werror -D_USE_W32API -DUNICODE -D_UNICODE
TARGET_SDKLIBS = kernel32.a ntdll.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,421 +0,0 @@
/*
* ReactOS test program -
*
* _tfileio.c
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include <wchar.h>
#include <stdio.h>
#ifdef UNICODE
#define _tfopen _wfopen
#define _tunlink _wunlink
#define _TEOF WEOF
#define _gettchar getwchar
#define _puttchar putwchar
#define _THEX_FORMAT _T("0x%04x ")
#else /*UNICODE*/
#define _tfopen fopen
#define _tunlink _unlink
#define _TEOF EOF
#define _gettchar getchar
#define _puttchar putchar
#define _THEX_FORMAT "0x%02x "
#endif /*UNICODE*/
#define TEST_BUFFER_SIZE 200
#define TEST_FILE_LINES 4
extern BOOL verbose_flagged;
extern BOOL status_flagged;
static TCHAR test_buffer[TEST_BUFFER_SIZE];
static TCHAR dos_data[] = _T("line1: this is a bunch of readable text.\r\n")\
_T("line2: some more printable text and punctuation !@#$%^&*()\r\n")\
_T("line3: followed up with some numerals 1234567890\r\n")\
_T("line4: done.\r\n");
static TCHAR nix_data[] = _T("line1: this is a bunch of readable text.\n")\
_T("line2: some more printable text and punctuation !@#$%^&*()\n")\
_T("line3: followed up with some numerals 1234567890\n")\
_T("line4: done.\n");
#ifdef UNICODE
#define TEST_B1_FILE_SIZE ((((sizeof(dos_data)/2)-1)+TEST_FILE_LINES)/2) // (166+4)/2=85
#define TEST_B2_FILE_SIZE (((sizeof(dos_data)/2)-1)*2) // (166*2) =332
#define TEST_B3_FILE_SIZE ((((sizeof(nix_data)/2)-1)+TEST_FILE_LINES)/2) // (162+4)/2=83
#define TEST_B4_FILE_SIZE (((sizeof(nix_data)/2)-1)*2) // (162*2) =324
#else /*UNICODE*/
#define TEST_B1_FILE_SIZE (sizeof(dos_data)-1+TEST_FILE_LINES) // (166+4)=170
#define TEST_B2_FILE_SIZE (sizeof(dos_data)-1-TEST_FILE_LINES) // (166-4)=162
#define TEST_B3_FILE_SIZE (sizeof(nix_data)-1+TEST_FILE_LINES) // (162+4)=166
#define TEST_B4_FILE_SIZE (sizeof(nix_data)-1) // (162) =162
#endif /*UNICODE*/
// result = create_test_file(file_name, _T("wb"), _T("rb"), file_data);
static BOOL test_file_truncate(TCHAR* file_name)
{
BOOL result = FALSE;
int count = -1;
int error_code;
TCHAR ch;
TCHAR* file_data = _T("this file should have been truncated to zero bytes...");
FILE *file = _tfopen(file_name, _T("wb"));
if (verbose_flagged) {
_tprintf(_T("test_file_truncate(\"%s\")\n"), file_name);
}
if (file != NULL) {
if (_fputts(file_data, file) != _TEOF) {
} else {
_tprintf(_T("ERROR: failed to write data to file \"%s\"\n"), file_name);
_tprintf(_T("ERROR: ferror returned %d\n"), ferror(file));
}
fclose(file);
} else {
_tprintf(_T("ERROR: failed to open/create file \"%s\" for output\n"), file_name);
_tprintf(_T("ERROR: ferror returned %d\n"), ferror(file));
}
file = _tfopen(file_name, _T("wb"));
if (file != NULL) {
error_code = ferror(file);
if (error_code) {
_tprintf(_T("ERROR: (%s) ferror returned %d\n"), file_name, error_code);
}
fclose(file);
} else {
_tprintf(_T("ERROR: (%s) failed to open file for truncating\n"), file_name);
}
file = _tfopen(file_name, _T("rb"));
if (file != NULL) {
count = 0;
while ((ch = _fgettc(file)) != _TEOF) {
if (verbose_flagged) {
_tprintf(_THEX_FORMAT, ch);
}
++count;
}
error_code = ferror(file);
if (error_code) {
_tprintf(_T("ERROR: (%s) ferror returned %d after reading\n"), file_name, error_code);
perror("Read error");
}
fclose(file);
} else {
_tprintf(_T("ERROR: (%s) failed to open file for reading\n"), file_name);
}
if (count) {
result = TRUE;
}
return result;
}
static BOOL create_output_file(TCHAR* file_name, TCHAR* file_mode, TCHAR* file_data)
{
BOOL result = FALSE;
FILE *file = _tfopen(file_name, file_mode);
if (file != NULL) {
if (_fputts(file_data, file) != _TEOF) {
result = TRUE;
} else {
_tprintf(_T("ERROR: failed to write data to file \"%s\"\n"), file_name);
_tprintf(_T("ERROR: ferror returned %d\n"), ferror(file));
}
fclose(file);
} else {
_tprintf(_T("ERROR: failed to open/create file \"%s\" for output\n"), file_name);
_tprintf(_T("ERROR: ferror returned %d\n"), ferror(file));
}
return result;
}
static BOOL verify_output_file(TCHAR* file_name, TCHAR* file_mode, TCHAR* file_data)
{
int error_code;
int offset = 0;
int line_num = 0;
BOOL result = FALSE;
BOOL error_flagged = FALSE;
FILE* file = _tfopen(file_name, file_mode);
if (file == NULL) {
_tprintf(_T("ERROR: (%s) Can't open file for reading\n"), file_name);
_tprintf(_T("ERROR: ferror returned %d\n"), ferror(file));
return FALSE;
} else if (status_flagged) {
_tprintf(_T("STATUS: (%s) opened file for reading\n"), file_name);
}
while (_fgetts(test_buffer, TEST_BUFFER_SIZE, file)) {
int length = _tcslen(test_buffer);
int req_len = _tcschr(file_data+offset, _T('\n')) - (file_data+offset) + 1;
++line_num;
if (length > req_len) {
_tprintf(_T("ERROR: read excess bytes from line %d, length %d, but expected %d\n"), line_num, length, req_len);
error_flagged = TRUE;
break;
}
if (length < req_len) {
_tprintf(_T("ERROR: read to few bytes from line %d, length %d, but expected %d\n"), line_num, length, req_len);
error_flagged = TRUE;
break;
}
if (status_flagged) {
_tprintf(_T("STATUS: Verifying %d bytes read from line %d\n"), length, line_num);
}
if (_tcsncmp(test_buffer, file_data+offset, length - 1) == 0) {
result = TRUE;
} else {
if (status_flagged) {
int i;
_tprintf(_T("WARNING: (%s) failed to verify file\n"), file_name);
for (i = 0; i < length; i++) {
if (file_data[offset+i] != test_buffer[i]) {
_tprintf(_T("line %d, offset %d expected: 0x%04x found: 0x%04x\n"), line_num, i, (int)file_data[offset+i], (int)test_buffer[i]);
}
}
_tprintf(_T("\n"));
} else {
error_flagged = TRUE;
}
}
offset += length;
}
error_code = ferror(file);
if (error_code) {
_tprintf(_T("ERROR: (%s) ferror returned %d after reading\n"), file_name, error_code);
perror("Read error");
}
if (!line_num) {
_tprintf(_T("ERROR: (%s) failed to read from file\n"), file_name);
}
if (error_flagged == TRUE) {
_tprintf(_T("ERROR: (%s) failed to verify file\n"), file_name);
result = FALSE;
}
fclose(file);
return result;
}
static int create_test_file(TCHAR* file_name, TCHAR* write_mode, TCHAR* read_mode, TCHAR* file_data)
{
if (status_flagged) {
_tprintf(_T("STATUS: Attempting to create output file %s\n"), file_name);
}
if (create_output_file(file_name, write_mode, file_data)) {
if (status_flagged) {
_tprintf(_T("STATUS: Attempting to verify output file %s\n"), file_name);
}
if (verify_output_file(file_name, read_mode, file_data)) {
if (status_flagged) {
_tprintf(_T("SUCCESS: %s verified ok\n"), file_name);
}
} else {
//_tprintf(_T("ERROR: failed to verify file %s\n"), file_name);
return 2;
}
} else {
_tprintf(_T("ERROR: failed to create file %s\n"), file_name);
return 1;
}
return 0;
}
static int check_file_size(TCHAR* file_name, TCHAR* file_mode, int expected)
{
int count = 0;
FILE* file;
TCHAR ch;
int error_code;
if (status_flagged) {
//_tprintf(_T("STATUS: (%s) checking for %d bytes in %s mode\n"), file_name, expected, _tcschr(file_mode, _T('b')) ? _T("binary") : _T("text"));
_tprintf(_T("STATUS: (%s) checking for %d bytes with mode %s\n"), file_name, expected, file_mode);
}
file = _tfopen(file_name, file_mode);
if (file == NULL) {
_tprintf(_T("ERROR: (%s) failed to open file for reading\n"), file_name);
return 1;
}
while ((ch = _fgettc(file)) != _TEOF) {
if (verbose_flagged) {
_tprintf(_THEX_FORMAT, ch);
}
++count;
}
error_code = ferror(file);
if (error_code) {
_tprintf(_T("ERROR: (%s) ferror returned %d after reading\n"), file_name, error_code);
perror("Read error");
}
if (verbose_flagged) {
// _puttc(_T('\n'), stdout);
}
fclose(file);
if (count == expected) {
if (status_flagged) {
_tprintf(_T("PASSED: (%s) read %d bytes\n"), file_name, count);
}
} else {
_tprintf(_T("FAILED: (%s) read %d bytes but expected %d using mode \"%s\"\n"), file_name, count, expected, file_mode);
}
return (count == expected) ? 0 : -1;
}
static int test_console_io(void)
{
TCHAR buffer[81];
TCHAR ch;
int i, j;
_tprintf(_T("Enter a line for echoing:\n"));
//for (i = 0; (i < 80) && ((ch = _gettchar()) != _TEOF) && (ch != _T('\n')); i++) {
for (i = 0; (i < 80) && ((ch = _gettc(stdin)) != _TEOF) && (ch != _T('\n')); i++) {
buffer[i] = (TCHAR)ch;
}
buffer[i] = _T('\0');
for (j = 0; j < i; j++) {
_puttc(buffer[j], stdout);
}
_puttc(_T('\n'), stdout);
_tprintf(_T("%s\n"), buffer);
return 0;
}
static int test_console_getchar(void)
{
int result = 0;
TCHAR ch;
_tprintf(_T("Enter lines for dumping or <ctrl-z><nl> to finish:\n"));
//while ((ch = _gettchar()) != _TEOF) {
while ((ch = _gettc(stdin)) != _TEOF) {
_tprintf(_THEX_FORMAT, ch);
//printf("0x%04x ", ch);
}
return result;
}
static int test_console_putch(void)
{
int result = 0;
_putch('1');
_putch('@');
_putch('3');
_putch(':');
_putch('\n');
_putch('a');
_putch('B');
_putch('c');
_putch(':');
_putch('\n');
return result;
}
static int test_unlink_files(void)
{
int result = 0;
//printf("sizeof dos_data: %d\n", sizeof(dos_data));
//printf("sizeof nix_data: %d\n", sizeof(nix_data));
result |= _tunlink(_T("binary.dos"));
result |= _tunlink(_T("binary.nix"));
result |= _tunlink(_T("text.dos"));
result |= _tunlink(_T("text.nix"));
return result;
}
static int test_text_fileio(TCHAR* file_name, TCHAR* file_data, int tsize, int bsize)
{
int result = 0;
result = create_test_file(file_name, _T("w"), _T("r"), file_data);
result = check_file_size(file_name, _T("r"), tsize);
result = check_file_size(file_name, _T("rb"), bsize);
return result;
}
static int test_binary_fileio(TCHAR* file_name, TCHAR* file_data, int tsize, int bsize)
{
int result = 0;
result = create_test_file(file_name, _T("wb"), _T("rb"), file_data);
result = check_file_size(file_name, _T("r"), tsize);
result = check_file_size(file_name, _T("rb"), bsize);
return result;
}
static int test_files(int test_num, char* type)
{
int result = 0;
printf("performing test: %d (%s)\n", test_num, type);
if (test_file_truncate(_T("zerosize.foo"))) {
printf("System unable to truncate files yet, unlinking:\n");
test_unlink_files();
}
switch (test_num) {
case 1:
result = test_text_fileio(_T("text.dos"), dos_data, 166, TEST_B1_FILE_SIZE);
break;
case 2:
result = test_binary_fileio(_T("binary.dos"), dos_data, TEST_B2_FILE_SIZE, 166);
break;
case 3:
result = test_text_fileio(_T("text.nix"), nix_data, 162, TEST_B3_FILE_SIZE);
break;
case 4:
result = test_binary_fileio(_T("binary.nix"), nix_data, TEST_B4_FILE_SIZE, 162);
break;
case 5:
result = test_console_io();
break;
case 6:
result = test_console_getchar();
break;
case 7:
result = test_console_putch();
break;
case -1:
result = test_unlink_files();
break;
default:
_tprintf(_T("no test number selected\n"));
break;
}
return result;
}

View File

@@ -1,31 +0,0 @@
/*
* ReactOS test program -
*
* _fileio.c
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#undef UNICODE
#undef _UNICODE
#include "_tfileio.c"
int run_ansi_tests(int test_num)
{
return test_files(test_num, "ANSI");
}

View File

@@ -1,124 +0,0 @@
/*
* ReactOS test program -
*
* main.c
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include <wchar.h>
#include <stdio.h>
#include <stdlib.h>
#include "main.h"
#define VERSION 1
#ifdef UNICODE
#define TARGET "UNICODE"
#else
#define TARGET "MBCS"
#endif
BOOL verbose_flagged = 0;
BOOL status_flagged = 0;
int usage(char* argv0)
{
printf("USAGE: %s test_id [unicode]|[ansi] [clean]|[status][verbose]\n", argv0);
printf("\tWhere test_id is one of:\n");
printf("\t0 - (default) regression mode, run tests 1-4 displaying failures only\n");
printf("\t1 - Write DOS style eol data to file in text mode (text.dos)\n");
printf("\t2 - Write NIX style eol data to file in binary mode (binary.dos)\n");
printf("\t3 - Write DOS style eol data to file in text mode (text.nix)\n");
printf("\t4 - Write NIX style eol data to file in binary mode (binary.nix)\n");
printf("\t5 - Echo console line input\n");
printf("\t6 - Dump console line input in hex format\n");
printf("\t7 - The source code is your friend\n");
printf("\t[unicode] - perform tests using UNICODE versions of library functions\n");
printf("\t[ansi] - perform tests using ANSI versions of library functions\n");
printf("\t If neither unicode or ansi is specified build default is used\n");
printf("\t[clean] - delete all temporary test output files\n");
printf("\t[status] - enable extra status display while running\n");
printf("\t[verbose] - enable verbose output when running\n");
return 0;
}
int __cdecl main(int argc, char* argv[])
{
int test_num = 0;
int version = 0;
int result = 0;
int i = 0;
printf("%s test application - build %03d (default: %s)\n", argv[0], VERSION, TARGET);
if (argc < 2) {
return usage(argv[0]);
}
for (i = 1; i < argc; i++) {
if (strstr(argv[i], "ansi") || strstr(argv[i], "ANSI")) {
version = 1;
} else if (strstr(argv[i], "unicode") || strstr(argv[i], "UNICODE")) {
version = 2;
} else if (strstr(argv[i], "clean") || strstr(argv[i], "CLEAN")) {
test_num = -1;
} else if (strstr(argv[i], "verbose") || strstr(argv[i], "VERBOSE")) {
verbose_flagged = 1;
} else if (strstr(argv[i], "status") || strstr(argv[i], "STATUS")) {
status_flagged = 1;
} else {
test_num = atoi(argv[1]);
//if (test_num < 0
}
}
for (i = test_num; i <= test_num; i++) {
if (!test_num) {
test_num = 4;
i = 1;
}
switch (version) {
case 1:
result = run_ansi_tests(i);
break;
case 2:
result = run_unicode_tests(i);
break;
default:
result = run_ansi_tests(i);
result = run_unicode_tests(i);
break;
}
}
printf("finished\n");
return result;
}
#ifndef __GNUC__
char* args[] = { "fileio.exe", "0", "unicode", "verbose"};
int __cdecl mainCRTStartup(void)
{
main(2, args);
return 0;
}
#endif /*__GNUC__*/

View File

@@ -1,42 +0,0 @@
/*
* ReactOS test program -
*
* main.h
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __MAIN_H__
#define __MAIN_H__
#ifdef __cplusplus
extern "C" {
#endif
int app_main(int argc, char* argv[]);
DWORD GetInput(char* Buffer, int buflen);
int test_ansi_files(int test_num);
int test_unicode_files(int test_num);
#ifdef __cplusplus
};
#endif
#endif // __MAIN_H__

View File

@@ -1,27 +0,0 @@
#
# $Id: makefile,v 1.0
PATH_TO_TOP = ../../../..
TEST_ROOT = $(PATH_TO_TOP)/apps/testsets/test
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = fileio
#TARGET_CFLAGS = -I$(TEST_ROOT) -DDBG -DUNICODE -D_UNICODE
TARGET_CFLAGS = -I$(TEST_ROOT) -DDBG
TARGET_SDKLIBS = ntdll.a kernel32.a
TARGET_OBJECTS = $(TARGET_NAME).o wfileio.o main.o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,31 +0,0 @@
/*
* ReactOS test program -
*
* wfileio.c
*
* Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#define UNICODE
#define _UNICODE
#include "_tfileio.c"
int run_unicode_tests(int test_num)
{
return test_files(test_num, "UNICODE");
}

View File

@@ -1,71 +0,0 @@
#
# ReactOS system utilities makefile
#
PATH_TO_TOP = ../..
include $(PATH_TO_TOP)/rules.mak
# Console system utilities
# cabman cat net objdir partinfo pice ps sc stats
UTIL_APPS = cat objdir partinfo pnpdump sc shutdown stats tickcount ps
UTIL_NET_APPS = arp finger ftp ipconfig netstat ping route telnet whois
all: $(UTIL_APPS) $(UTIL_NET_APPS)
depends:
implib: $(UTIL_APPS:%=%_implib) \
$(UTIL_NET_APPS:%=%_implib)
clean: $(UTIL_APPS:%=%_clean) \
$(UTIL_NET_APPS:%=%_clean)
install: $(UTIL_APPS:%=%_install) \
$(UTIL_NET_APPS:%=%_install)
.PHONY: all depends implib clean install
#
# Utility Applications
#
$(UTIL_APPS): %:
$(MAKE) -C $*
$(UTIL_APPS:%=%_implib): %_implib:
$(MAKE) -C $* implib
$(UTIL_APPS:%=%_clean): %_clean:
$(MAKE) -C $* clean
$(UTIL_APPS:%=%_install): %_install:
$(MAKE) -C $* install
.PHONY: $(UTIL_APPS) $(UTIL_APPS:%=%_implib) $(UTIL_APPS:%=%_clean) $(UTIL_APPS:%=%_install)
#
# GUI Utility Applications
#
$(UTIL_NET_APPS): %:
$(MAKE) -C net/$*
$(UTIL_NET_APPS:%=%_implib): %_implib:
$(MAKE) -C net/$* implib
$(UTIL_NET_APPS:%=%_clean): %_clean:
$(MAKE) -C net/$* clean
$(UTIL_NET_APPS:%=%_install): %_install:
$(MAKE) -C net/$* install
.PHONY: $(UTIL_NET_APPS) $(UTIL_NET_APPS:%=%_implib) $(UTIL_NET_APPS:%=%_clean) $(UTIL_NET_APPS:%=%_install)
etags:
find . -name "*.[ch]" -print | etags --language=c -
# EOF

View File

@@ -1,21 +0,0 @@
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = binpatch
TARGET_SDKLIBS =
TARGET_OBJECTS = patch.o
TARGET_CFLAGS += -Wall -Werror
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,615 +0,0 @@
#include <conio.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
/** DEFINES *******************************************************************/
#define PATCH_BUFFER_SIZE 4096 /* Maximum size of a patch */
#define PATCH_BUFFER_MAGIC "\xde\xad\xbe\xef MaGiC MaRk "
#define SIZEOF_PATCH_BUFFER_MAGIC (sizeof (PATCH_BUFFER_MAGIC) - 1)
/** TYPES *********************************************************************/
typedef struct _PatchedByte
{
int offset; /*!< File offset of the patched byte. */
unsigned char expected; /*!< Expected (original) value of the byte. */
unsigned char patched; /*!< Patched (new) value for the byte. */
} PatchedByte;
typedef struct _PatchedFile
{
const char *name; /*!< Name of the file to be patched. */
int fileSize; /*!< Size of the file in bytes. */
int patchCount; /*!< Number of patches for the file. */
PatchedByte *patches; /*!< Patches for the file. */
} PatchedFile;
typedef struct _Patch
{
const char *name; /*!< Name of the patch. */
int fileCount; /*!< Number of files in the patch. */
PatchedFile *files; /*!< Files for the patch. */
} Patch;
/** FUNCTION PROTOTYPES *******************************************************/
static void printUsage();
/** GLOBALS *******************************************************************/
static Patch m_patch = { NULL, 0, NULL };
static int m_argc = 0;
static char **m_argv = NULL;
/* patch buffer where we put the patch info into */
static unsigned char m_patchBuffer[SIZEOF_PATCH_BUFFER_MAGIC + PATCH_BUFFER_SIZE] =
PATCH_BUFFER_MAGIC;
/** HELPER FUNCTIONS **********************************************************/
static void *
loadFile(const char *fileName, int *fileSize_)
{
FILE *f;
struct stat sb;
int fileSize;
void *p;
/* Open the file */
f = fopen(fileName, "rb");
if (f == NULL)
{
printf("Couldn't open file %s for reading!\n", fileName);
return NULL;
}
/* Get file size */
if (fstat(fileno(f), &sb) < 0)
{
fclose(f);
printf("Couldn't get size of file %s!\n", fileName);
return NULL;
}
fileSize = sb.st_size;
/* Load file */
p = malloc(fileSize);
if (p == NULL)
{
fclose(f);
printf("Couldn't allocate %d bytes for file %s!\n", fileSize, fileName);
return NULL;
}
if (fread(p, fileSize, 1, f) != 1)
{
fclose(f);
free(p);
printf("Couldn't read file %s into memory!\n", fileName);
return NULL;
}
/* Close file */
fclose(f);
*fileSize_ = fileSize;
return p;
}
static int
saveFile(const char *fileName, void *file, int fileSize)
{
FILE *f;
/* Open the file */
f = fopen(fileName, "wb");
if (f == NULL)
{
printf("Couldn't open file %s for writing!\n", fileName);
return -1;
}
/* Write file */
if (fwrite(file, fileSize, 1, f) != 1)
{
fclose(f);
printf("Couldn't write file %s!\n", fileName);
return -1;
}
/* Close file */
fclose(f);
return 0;
}
static int
compareFiles(
PatchedFile *patchedFile,
const char *originalFileName)
{
const char *patchedFileName = patchedFile->name;
unsigned char *origChunk, *patchedChunk;
int origSize, patchedSize, i, patchCount;
PatchedByte *patches = NULL;
int patchesArrayCount = 0;
/* Load both files */
origChunk = loadFile(originalFileName, &origSize);
if (origChunk == NULL)
return -1;
patchedChunk = loadFile(patchedFileName, &patchedSize);
if (patchedChunk == NULL)
{
free(origChunk);
return -1;
}
if (origSize != patchedSize)
{
free(origChunk);
free(patchedChunk);
printf("File size of %s and %s differs (%d != %d)\n",
originalFileName, patchedFileName,
origSize, patchedSize);
return -1;
}
/* Compare the files and record any differences */
printf("Comparing %s to %s", originalFileName, patchedFileName);
for (i = 0, patchCount = 0; i < origSize; i++)
{
if (origChunk[i] != patchedChunk[i])
{
patchCount++;
/* Resize patches array if needed */
if (patchesArrayCount < patchCount)
{
PatchedByte *newPatches;
newPatches = realloc(patches, patchCount * sizeof (PatchedByte));
if (newPatches == NULL)
{
if (patches != NULL)
free(patches);
free(origChunk);
free(patchedChunk);
printf("\nOut of memory (tried to allocated %d bytes)\n",
patchCount * sizeof (PatchedByte));
return -1;
}
patches = newPatches;
}
/* Fill in patch info */
patches[patchCount - 1].offset = i;
patches[patchCount - 1].expected = origChunk[i];
patches[patchCount - 1].patched = patchedChunk[i];
}
if ((i % (origSize / 40)) == 0)
printf(".");
}
printf(" %d changed bytes found.\n", patchCount);
/* Unload the files */
free(origChunk);
free(patchedChunk);
/* Save patch info */
patchedFile->fileSize = patchedSize;
patchedFile->patchCount = patchCount;
patchedFile->patches = patches;
return 0;
}
static int
outputPatch(const char *outputFileName)
{
unsigned char *patchExe, *patchBuffer;
int i, size, patchExeSize, patchSize, stringSize, stringOffset, patchOffset;
Patch *patch;
PatchedFile *files;
printf("Putting patch into %s...\n", outputFileName);
/* Calculate size of the patch */
patchSize = sizeof (Patch) + sizeof (PatchedFile) * m_patch.fileCount;
stringSize = strlen(m_patch.name) + 1;
for (i = 0; i < m_patch.fileCount; i++)
{
stringSize += strlen(m_patch.files[i].name) + 1;
patchSize += sizeof (PatchedByte) * m_patch.files[i].patchCount;
}
if ((stringSize + patchSize) > PATCH_BUFFER_SIZE)
{
printf("Patch is too big - %d bytes maximum, %d bytes needed\n",
PATCH_BUFFER_SIZE, stringSize + patchSize);
return -1;
}
/* Load patch.exe file into memory... */
patchExe = loadFile(m_argv[0], &patchExeSize);
if (patchExe == NULL)
{
return -1;
}
/* Try to find the magic mark for the patch buffer */
for (i = 0; i < (patchExeSize - SIZEOF_PATCH_BUFFER_MAGIC); i++)
{
if (memcmp(patchExe + i, m_patchBuffer, SIZEOF_PATCH_BUFFER_MAGIC) == 0)
{
patchBuffer = patchExe + i + SIZEOF_PATCH_BUFFER_MAGIC;
break;
}
}
if (!(i < (patchExeSize - SIZEOF_PATCH_BUFFER_MAGIC)))
{
free(patchExe);
printf("Couldn't find patch buffer magic in file %s - this shouldn't happen!!!\n", m_argv[0]);
return -1;
}
/* Pack patch together and replace string pointers by offsets */
patch = (Patch *)patchBuffer;
files = (PatchedFile *)(patchBuffer + sizeof (Patch));
patchOffset = sizeof (Patch) + sizeof (PatchedFile) * m_patch.fileCount;
stringOffset = patchSize;
patch->fileCount = m_patch.fileCount;
patch->files = (PatchedFile *)sizeof (Patch);
patch->name = (const char *)stringOffset;
strcpy(patchBuffer + stringOffset, m_patch.name);
stringOffset += strlen(m_patch.name) + 1;
for (i = 0; i < m_patch.fileCount; i++)
{
files[i].fileSize = m_patch.files[i].fileSize;
files[i].patchCount = m_patch.files[i].patchCount;
files[i].name = (const char *)stringOffset;
strcpy(patchBuffer + stringOffset, m_patch.files[i].name);
stringOffset += strlen(m_patch.files[i].name) + 1;
size = files[i].patchCount * sizeof (PatchedByte);
files[i].patches = (PatchedByte *)patchOffset;
memcpy(patchBuffer + patchOffset, m_patch.files[i].patches, size);
patchOffset += size;
}
size = patchSize + stringSize;
memset(patchBuffer + size, 0, PATCH_BUFFER_SIZE - size);
/* Save file */
if (saveFile(outputFileName, patchExe, patchExeSize) < 0)
{
free(patchExe);
return -1;
}
free(patchExe);
printf("Patch saved!\n");
return 0;
}
static int
loadPatch()
{
char *p;
Patch *patch;
int i;
p = m_patchBuffer + SIZEOF_PATCH_BUFFER_MAGIC;
patch = (Patch *)p;
if (patch->name == NULL)
{
return -1;
}
m_patch.name = p + (int)patch->name;
m_patch.fileCount = patch->fileCount;
m_patch.files = (PatchedFile *)(p + (int)patch->files);
for (i = 0; i < m_patch.fileCount; i++)
{
m_patch.files[i].name = p + (int)m_patch.files[i].name;
m_patch.files[i].patches = (PatchedByte *)(p + (int)m_patch.files[i].patches);
}
printf("Patch %s loaded...\n", m_patch.name);
return 0;
}
/** MAIN FUNCTIONS ************************************************************/
static int
createPatch()
{
int i, status;
const char *outputFileName;
/* Check argument count */
if (m_argc < 6 || (m_argc % 2) != 0)
{
printUsage();
return -1;
}
outputFileName = m_argv[3];
m_patch.name = m_argv[2];
/* Allocate PatchedFiles array */
m_patch.fileCount = (m_argc - 4) / 2;
m_patch.files = malloc(m_patch.fileCount * sizeof (PatchedFile));
if (m_patch.files == NULL)
{
printf("Out of memory!\n");
return -1;
}
memset(m_patch.files, 0, m_patch.fileCount * sizeof (PatchedFile));
/* Compare original to patched files and fill m_patch.files array */
for (i = 0; i < m_patch.fileCount; i++)
{
m_patch.files[i].name = m_argv[4 + (i * 2) + 1];
status = compareFiles(m_patch.files + i, m_argv[4 + (i * 2) + 0]);
if (status < 0)
{
for (i = 0; i < m_patch.fileCount; i++)
{
if (m_patch.files[i].patches != NULL)
free(m_patch.files[i].patches);
}
free(m_patch.files);
m_patch.files = NULL;
m_patch.fileCount = 0;
return status;
}
}
/* Output patch */
return outputPatch(outputFileName);
}
static int
applyPatch()
{
int c, i, j, fileSize, makeBackup;
unsigned char *file;
char *p;
const char *fileName;
char buffer[MAX_PATH];
if (m_argc > 1 && strcmp(m_argv[1], "-d") != 0)
{
printUsage();
return -1;
}
/* Load patch */
if (loadPatch() < 0)
{
printf("This executable doesn't contain a patch, use -c to create one.\n");
return -1;
}
if (m_argc > 1)
{
/* Dump patch */
printf("Patch name: %s\n", m_patch.name);
printf("File count: %d\n", m_patch.fileCount);
for (i = 0; i < m_patch.fileCount; i++)
{
printf("----------------------\n"
"File name: %s\n"
"File size: %d bytes\n",
m_patch.files[i].name, m_patch.files[i].fileSize);
printf("Patch count: %d\n", m_patch.files[i].patchCount);
for (j = 0; j < m_patch.files[i].patchCount; j++)
{
printf(" Offset 0x%x 0x%02x -> 0x%02x\n",
m_patch.files[i].patches[j].offset,
m_patch.files[i].patches[j].expected,
m_patch.files[i].patches[j].patched);
}
}
}
else
{
/* Apply patch */
printf("Applying patch...\n");
for (i = 0; i < m_patch.fileCount; i++)
{
/* Load original file */
fileName = m_patch.files[i].name;
applyPatch_retry_file:
file = loadFile(fileName, &fileSize);
if (file == NULL)
{
printf("File %s not found! ", fileName);
applyPatch_file_open_error:
printf("(S)kip, (R)etry, (A)bort, (M)anually enter filename");
do
{
c = getch();
}
while (c != 's' && c != 'r' && c != 'a' && c != 'm');
printf("\n");
if (c == 's')
{
continue;
}
else if (c == 'r')
{
goto applyPatch_retry_file;
}
else if (c == 'a')
{
return 0;
}
else if (c == 'm')
{
if (fgets(buffer, sizeof (buffer), stdin) == NULL)
{
printf("fgets() failed!\n");
return -1;
}
p = strchr(buffer, '\r');
if (p != NULL)
*p = '\0';
p = strchr(buffer, '\n');
if (p != NULL)
*p = '\0';
fileName = buffer;
goto applyPatch_retry_file;
}
}
/* Check file size */
if (fileSize != m_patch.files[i].fileSize)
{
free(file);
printf("File %s has unexpected filesize of %d bytes (%d bytes expected)\n",
fileName, fileSize, m_patch.files[i].fileSize);
if (fileName != m_patch.files[i].name) /* manually entered filename */
{
goto applyPatch_file_open_error;
}
return -1;
}
/* Ask for backup */
printf("Do you want to make a backup of %s? (Y)es, (N)o, (A)bort", fileName);
do
{
c = getch();
}
while (c != 'y' && c != 'n' && c != 'a');
printf("\n");
if (c == 'y')
{
char buffer[MAX_PATH];
snprintf(buffer, MAX_PATH, "%s.bak", fileName);
buffer[MAX_PATH-1] = '\0';
makeBackup = 1;
if (access(buffer, 0) >= 0) /* file exists */
{
printf("File %s already exists, overwrite? (Y)es, (N)o, (A)bort", buffer);
do
{
c = getch();
}
while (c != 'y' && c != 'n' && c != 'a');
printf("\n");
if (c == 'n')
makeBackup = 0;
else if (c == 'a')
{
free(file);
return 0;
}
}
if (makeBackup && saveFile(buffer, file, fileSize) < 0)
{
free(file);
return -1;
}
}
else if (c == 'a')
{
free(file);
return 0;
}
/* Patch file */
for (j = 0; j < m_patch.files[i].patchCount; j++)
{
int offset = m_patch.files[i].patches[j].offset;
if (file[offset] != m_patch.files[i].patches[j].expected)
{
printf("Unexpected value in file %s at offset 0x%x: expected = 0x%02x, found = 0x%02x\n",
fileName, offset, m_patch.files[i].patches[j].expected, file[offset]);
free(file);
return -1;
}
file[offset] = m_patch.files[i].patches[j].patched;
}
/* Save file */
if (saveFile(fileName, file, fileSize) < 0)
{
free(file);
return -1;
}
free(file);
}
printf("Patch applied sucessfully!\n");
}
return 0;
}
static void
printUsage()
{
printf("Usage:\n"
"%s -c - Create patch\n"
"%s -d - Dump patch\n"
"%s - Apply patch\n"
"\n"
"A patch can be created like this:\n"
"%s -c \"patch name\" output.exe file1.orig file1.patched[ file2.orig file2.patched[ ...]]\n",
m_argv[0], m_argv[0], m_argv[0], m_argv[0]);
}
int
main(
int argc,
char *argv[])
{
m_argc = argc;
m_argv = argv;
if (argc >= 2 && (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0))
{
printUsage();
return 0;
}
else if (argc >= 2 && argv[1][0] == '-')
{
if (strcmp(argv[1], "-c") == 0)
{
return createPatch();
}
else if (strcmp(argv[1], "-d") == 0)
{
return applyPatch();
}
else
{
printf("Unknown option: %s\n"
"Use -h for help.\n",
argv[1]);
return -1;
}
}
return applyPatch();
}

View File

@@ -1,26 +0,0 @@
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
FILE* in;
char ch;
for (i=1; i<argc; i++)
{
in = fopen(argv[i],"r");
if (in == NULL)
{
printf("Failed to open file %s\n", argv[i]);
return(0);
}
while ((ch = fgetc(in)) != EOF)
{
putchar(ch);
}
fclose(in);
}
return 0;
}

View File

@@ -1,21 +0,0 @@
# $Id$
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = cat
TARGET_OBJECTS = $(TARGET_NAME).o
TARGET_CFLAGS = -Wall -Werror
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,32 +0,0 @@
/*
* Load a device driver
*/
#include <windows.h>
#include <ntos/zw.h>
int
main(int argc, char *argv[])
{
NTSTATUS Status;
UNICODE_STRING ServiceName;
if (argc != 2)
{
printf("Usage: load <ServiceName>\n");
return 0;
}
ServiceName.Length = (strlen(argv[1]) + 52) * sizeof(WCHAR);
ServiceName.Buffer = (LPWSTR)malloc(ServiceName.Length + sizeof(UNICODE_NULL));
wsprintf(ServiceName.Buffer,
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\%S",
argv[1]);
wprintf(L"%s %d %d\n", ServiceName.Buffer, ServiceName.Length, wcslen(ServiceName.Buffer));
Status = NtLoadDriver(&ServiceName);
free(ServiceName.Buffer);
if (!NT_SUCCESS(Status))
{
printf("Failed: %X\n", Status);
return 1;
}
return 0;
}

View File

@@ -1,21 +0,0 @@
PATH_TO_TOP = ../../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = load
TARGET_CFLAGS = -DUNICODE -D_UNICODE
TARGET_SDKLIBS = ntdll.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,21 +0,0 @@
PATH_TO_TOP = ../../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = unload
TARGET_CFLAGS = -DUNICODE -D_UNICODE
TARGET_SDKLIBS = ntdll.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,32 +0,0 @@
/*
* Unload a device driver
*/
#include <windows.h>
#include <ntos/zw.h>
int
main(int argc, char *argv[])
{
NTSTATUS Status;
UNICODE_STRING ServiceName;
if (argc != 2)
{
printf("Usage: unload <ServiceName>\n");
return 0;
}
ServiceName.Length = (strlen(argv[1]) + 52) * sizeof(WCHAR);
ServiceName.Buffer = (LPWSTR)malloc(ServiceName.Length + sizeof(UNICODE_NULL));
wsprintf(ServiceName.Buffer,
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\%S",
argv[1]);
wprintf(L"%s %d %d\n", ServiceName.Buffer, ServiceName.Length, wcslen(ServiceName.Buffer));
Status = NtUnloadDriver(&ServiceName);
free(ServiceName.Buffer);
if (!NT_SUCCESS(Status))
{
printf("Failed: %X\n", Status);
return 1;
}
return 0;
}

View File

@@ -1,84 +0,0 @@
/*
* ReactOS INF Helper
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* PROJECT: INF Helper
* FILE: infinst.c
* PURPOSE: Pass INF files to setupapi.dll for execution
* PROGRAMMER: Michael Biggins
* UPDATE HISTORY:
* Created 19/09/2004
*/
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#ifdef UNICODE
VOID WINAPI InstallHinfSectionW(HWND hwnd, HINSTANCE handle, LPCWSTR cmdline, INT show);
#define InstallHinfSection InstallHinfSectionW
#else
VOID WINAPI InstallHinfSectionA(HWND hwnd, HINSTANCE handle, LPCSTR cmdline, INT show);
#define InstallHinfSection InstallHinfSectionA
#endif
#define FILEOPEN_FILTER TEXT("Inf Files (*.inf)\0*.inf\0All Files (*.*)\0*.*\0\0")
#define FILEOPEN_TITLE TEXT("INF file to process")
#define FILEOPEN_DEFEXT TEXT(".inf")
#define INF_COMMAND TEXT("DefaultInstall 128 %s")
int
_tmain(int argc, TCHAR *argv[])
{
TCHAR infCommand[MAX_PATH + 32];
if (argc <= 1)
{
TCHAR FileName[MAX_PATH + 1];
OPENFILENAME ofc;
int rv;
ZeroMemory(&ofc, sizeof(ofc));
ZeroMemory(FileName, MAX_PATH + 1);
ofc.lStructSize = sizeof(ofc);
ofc.lpstrFilter = FILEOPEN_FILTER;
ofc.nFilterIndex = 1;
ofc.lpstrTitle = FILEOPEN_TITLE;
ofc.Flags = OFN_FILEMUSTEXIST | OFN_LONGNAMES | OFN_PATHMUSTEXIST;
ofc.lpstrDefExt = FILEOPEN_DEFEXT;
ofc.lpstrFile = FileName;
ofc.nMaxFile = sizeof(FileName) / sizeof(TCHAR);
rv = GetOpenFileName(&ofc);
if (rv == 0)
return 1;
_stprintf(infCommand, INF_COMMAND, FileName);
}
else
{
if (_tcslen(argv[1]) > MAX_PATH)
{
MessageBox(NULL, TEXT("Command line too long to be a valid file name"), NULL, MB_OK | MB_ICONERROR);
return 2; /* User error */
}
_stprintf(infCommand, INF_COMMAND, argv[1]);
}
InstallHinfSection(NULL, NULL, infCommand, 0);
return 0;
}

View File

@@ -1,21 +0,0 @@
PATH_TO_TOP = ../../..
TARGET_NORC = yes
TARGET_TYPE = program
TARGET_APPTYPE = windows
TARGET_NAME = infinst
TARGET_SDKLIBS = comdlg32.a setupapi.a
TARGET_OBJECTS = infinst.o
TARGET_CFLAGS = -Wall -Werror
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk
# EOF

View File

@@ -1,99 +0,0 @@
/*
* arp - display ARP cache from the IP stack parameters.
*
* This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
*
* Robert Dickenson <robd@reactos.org>, August 15, 2002.
*/
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <time.h>
#include <iptypes.h>
#include <ipexport.h>
#include <iphlpapi.h>
#include <snmp.h>
#include "trace.h"
VOID SNMP_FUNC_TYPE SnmpSvcInitUptime();
DWORD SNMP_FUNC_TYPE SnmpSvcGetUptime();
////////////////////////////////////////////////////////////////////////////////
const char szUsage[] = { "\n" \
"Displays and modifies the IP Protocol to physical address translation tables\n" \
"used by address resolution protocol (ARP).\n" \
"\n" \
"ARP -s inet_addr eth_addr [if_addr]\n" \
"ARP -d inet_addr [if_addr]\n" \
"ARP -a [inet_addr] [-N if_addr]\n" \
"\n" \
" -a Displays the active ARP table by querying the current protocol\n" \
" data. If inet_addr is specified, the IP and physical addresses\n" \
" for the specified address are displayed. If more than one\n" \
" network interface is using ARP, each interfaces ARP table is\n" \
" displayed.\n" \
" -g Indentical to -a.\n" \
" inet_addr Specifies the IP address.\n" \
" -N if_addr Displays the ARP table for the specified interface only\n" \
" -d Deletes the host entry specified by inet_addr. inet_addr may be\n" \
" wildcarded with * to delete all host entries in the ARP table.\n" \
" -s Adds the host and associates the IP address inet_addr with the\n" \
" physical address eth_addr. The physical address must be specified\n" \
" as 6 hexadecimal characters delimited by hyphens. The new entry\n" \
" will become permanent in the ARP table.\n" \
" eth_addr Specifies the interface physical address.\n" \
" if_addr If present, this specifies the IP address of the interface whose\n" \
" address translation table should be modified. If not present, the\n" \
" first applicable interface will be used.\n" \
"Example:\n" \
" > arp -s 192.168.0.12 55-AA-55-01-02-03 .... Static entry creation.\n" \
" > arp -a .... ARP table display.\n" \
" > arp -d * .... Delete all ARP table entries.\n"
};
void usage(void)
{
// fprintf(stderr,"USAGE:\n");
fputs(szUsage, stderr);
}
int main(int argc, char *argv[])
{
TCHAR szComputerName[50];
DWORD dwSize = 50;
int nBytes = 500;
BYTE* pCache;
if (argc > 1) {
usage();
return 1;
}
SnmpSvcInitUptime();
GetComputerName(szComputerName, &dwSize);
_tprintf(_T("ReactOS ARP cache on Computer Name: %s\n"), szComputerName);
pCache = (BYTE*)SnmpUtilMemAlloc(nBytes);
Sleep(2500);
if (pCache != NULL) {
DWORD dwUptime = SnmpSvcGetUptime();
_tprintf(_T("SNMP uptime: %d\n"), dwUptime);
SnmpUtilMemFree(pCache);
} else {
_tprintf(_T("ERROR: call to SnmpUtilMemAlloc() failed\n"));
return 1;
}
return 0;
}

View File

@@ -1,6 +0,0 @@
/* $Id$ */
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS TCP/IPv4 Win32 arp\0"
#define REACTOS_STR_INTERNAL_NAME "arp\0"
#define REACTOS_STR_ORIGINAL_FILENAME "arp.exe\0"
#include <reactos/version.rc>

View File

@@ -1,19 +0,0 @@
PATH_TO_TOP = ../../../..
TARGET_TYPE = program
TARGET_APPTYPE = console
TARGET_NAME = arp
TARGET_INSTALLDIR = system32
TARGET_CFLAGS = -D__USE_W32API
TARGET_SDKLIBS = user32.a snmpapi.a
TARGET_OBJECTS = $(TARGET_NAME).o
include $(PATH_TO_TOP)/rules.mak
include $(TOOLS_PATH)/helper.mk

View File

@@ -1,53 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Diagnostic Trace
//
#include <stdio.h>
#include <stdarg.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <tchar.h>
#include "trace.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
void _DebugBreak(void)
{
DebugBreak();
}
void Trace(TCHAR* lpszFormat, ...)
{
va_list args;
int nBuf;
TCHAR szBuffer[512];
va_start(args, lpszFormat);
nBuf = _vsntprintf(szBuffer, sizeof(szBuffer)/sizeof(TCHAR), lpszFormat, args);
OutputDebugString(szBuffer);
// was there an error? was the expanded string too long?
//ASSERT(nBuf >= 0);
va_end(args);
}
void Assert(void* assert, TCHAR* file, int line, void* msg)
{
if (msg == NULL) {
printf("ASSERT -- %s occured on line %u of file %s.\n",
assert, line, file);
} else {
printf("ASSERT -- %s occured on line %u of file %s: Message = %s.\n",
assert, line, file, msg);
}
}
#else
void Trace(TCHAR* lpszFormat, ...) { };
void Assert(void* assert, TCHAR* file, int line, void* msg) { };
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////

View File

@@ -1,61 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Diagnostic Trace
//
#ifndef __TRACE_H__
#define __TRACE_H__
#ifdef _DEBUG
#ifdef _X86_
#define BreakPoint() _asm { int 3h }
#else
#define BreakPoint() _DebugBreak()
#endif
#ifndef ASSERT
#define ASSERT(exp) \
{ \
if (!(exp)) { \
Assert(#exp, __FILE__, __LINE__, NULL); \
BreakPoint(); \
} \
} \
#define ASSERTMSG(exp, msg) \
{ \
if (!(exp)) { \
Assert(#exp, __FILE__, __LINE__, msg); \
BreakPoint(); \
} \
}
#endif
//=============================================================================
// MACRO: TRACE()
//=============================================================================
#define TRACE Trace
#else // _DEBUG
//=============================================================================
// Define away MACRO's ASSERT() and TRACE() in non debug builds
//=============================================================================
#ifndef ASSERT
#define ASSERT(exp)
#define ASSERTMSG(exp, msg)
#endif
#define TRACE 0 ? (void)0 : Trace
#endif // !_DEBUG
void Assert(void* assert, TCHAR* file, int line, void* msg);
void Trace(TCHAR* lpszFormat, ...);
#endif // __TRACE_H__
/////////////////////////////////////////////////////////////////////////////

View File

@@ -1,23 +0,0 @@
July 22, 1999
To All Licensees, Distributors of Any Version of BSD:
As you know, certain of the Berkeley Software Distribution ("BSD") source code files
require that further distributions of products containing all or portions of the
software, acknowledge within their advertising materials that such products contain
software developed by UC Berkeley and its contributors.
Specifically, the provision reads:
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
Effective immediately, licensees and distributors are no longer required to include
the acknowledgement within advertising materials. Accordingly, the foregoing paragraph
of those BSD Unix files containing it is hereby deleted in its entirety.
William Hoskins
Director, Office of Technology Licensing
University of California, Berkeley "

View File

@@ -1,180 +0,0 @@
/*-
* Copyright (c) 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid[] = "@(#)err.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
#include "err.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef __STDC__
#include <stdarg.h>
#else
#include <varargs.h>
#endif
extern char *__progname; /* Program name, from crt0. */
void
#ifdef __STDC__
err(int eval, const char *fmt, ...)
#else
err(eval, fmt, va_alist)
int eval;
const char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
verr(eval, fmt, ap);
va_end(ap);
}
void
verr(int eval, const char *fmt, va_list ap)
{
int sverrno;
sverrno = errno;
(void)fprintf(stderr, "%s: ", __progname);
if (fmt != NULL) {
(void)vfprintf(stderr, fmt, ap);
(void)fprintf(stderr, ": ");
}
(void)fprintf(stderr, "%s\n", strerror(sverrno));
exit(eval);
}
void
#if __STDC__
errx(int eval, const char *fmt, ...)
#else
errx(eval, fmt, va_alist)
int eval;
const char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
verrx(eval, fmt, ap);
va_end(ap);
}
void
verrx(int eval, const char *fmt, va_list ap)
{
(void)fprintf(stderr, "%s: ", __progname);
if (fmt != NULL)
(void)vfprintf(stderr, fmt, ap);
(void)fprintf(stderr, "\n");
exit(eval);
}
void
#if __STDC__
warn(const char *fmt, ...)
#else
warn(fmt, va_alist)
const char *fmt;
va_dcl
#endif
{
va_list ap;
#if __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
vwarn(fmt, ap);
va_end(ap);
}
void
vwarn(fmt, ap)
const char *fmt;
va_list ap;
{
int sverrno;
sverrno = errno;
(void)fprintf(stderr, "%s: ", __progname);
if (fmt != NULL) {
(void)vfprintf(stderr, fmt, ap);
(void)fprintf(stderr, ": ");
}
(void)fprintf(stderr, "%s\n", strerror(sverrno));
}
void
#ifdef __STDC__
warnx(const char *fmt, ...)
#else
warnx(fmt, va_alist)
const char *fmt;
va_dcl
#endif
{
va_list ap;
#ifdef __STDC__
va_start(ap, fmt);
#else
va_start(ap);
#endif
vwarnx(fmt, ap);
va_end(ap);
}
void
vwarnx(fmt, ap)
const char *fmt;
va_list ap;
{
(void)fprintf(stderr, "%s: ", __progname);
if (fmt != NULL)
(void)vfprintf(stderr, fmt, ap);
(void)fprintf(stderr, "\n");
}

Some files were not shown because too many files have changed in this diff Show More