Commit Graph

957 Commits

Author SHA1 Message Date
Francois Gouget 493cf88bb6 Remove these Wine-only types:
EnumICMProfilesProcCallback
  PEXCEPTION_REGISTRATION_RECORD
Don't test these Wine-only types:
  EMRSETTEXTJUSTIFICATION
  EXCEPTION_REGISTRATION_RECORD
Remove EXCEPTION_FRAME, it doesn't exist at all.
2004-08-22 02:07:13 +00:00
Francois Gouget 68232c6c2f Remove types that don't exist from tests.dat.
Don't test types that have a platform dependent layout.
Don't test Wine-only types.
Helps get the generated tests compiling on Windows.
2004-08-19 20:34:42 +00:00
Robert Shearman f84a53c099 Handle ECONNRESET in FILE_GetNtStatus. 2004-08-19 02:41:55 +00:00
Robert Shearman eee6adc9b6 - Errors should only be reported to I/O completion routine after
NtReadFile has succeeded.
- Test case for this behaviour.
2004-08-19 02:34:51 +00:00
Emmanuel Maillard 2300ce663a - Update build system to support IOKit and CoreFoundation frameworks
on Darwin.
- Add support for the -framework "name" linker option.
- NtQueryVolumeInformationFile set device info on Darwin.
2004-08-19 01:20:45 +00:00
Rein Klazes 6293769f52 Do not make a directory read-only. 2004-08-18 20:57:30 +00:00
Alexandre Julliard 6a27b48895 Fd type is no longer used, get rid of it. 2004-08-18 00:04:58 +00:00
Eric Pouech 1ffddb4d0c - better support for non-blocking COMM and socket read/writes:
+ added necessary semantics to fd flags
  + no longer uses fd type (but fd flags) read/write semantic behavior
- fixed socket code to use the proper manifest constants
- fixes for kernel32.GetOverlappedResult without hEvent set
- in ntdll.Nt{Read|Write}File
  + always reset the event
  + added support for longlong offsets
  + better object disposal in error handling code paths
2004-08-17 23:37:55 +00:00
Aric Stewart b7add83287 Added handling of TokenPrimaryGroup. 2004-08-17 22:28:13 +00:00
Mike McCormack b255c11787 Stub implementation for NtSetInformationToken. 2004-08-17 22:09:55 +00:00
Mike McCormack 278f743a4c Stub implementation and declaration for NtCreateNamedPipeFile. 2004-08-16 21:08:38 +00:00
Gerald Pfeifer dd809a736b Fix incorrect sizeof in RtlCreateSecurityDescriptor(). 2004-08-16 19:59:09 +00:00
Francois Gouget a625761eb9 Avoid annoying 'macro redefinition' warnings by defining
WIN32_NO_STATUS at the right time.
Define _WIN32_WINNT otherwise we are missing some symbols with the
Windows headers.
2004-08-14 00:42:12 +00:00
Francois Gouget 870f55fefc Fix the PSID and PSECURITY_DESCRIPTOR types.
Add PISID and PISECURITY_DESCRIPTOR.
2004-08-13 23:55:43 +00:00
Hans Leidekker a9b4a471a9 Fix signed/unsigned comparison warnings. 2004-08-13 23:53:44 +00:00
Francois Gouget 6f902f16fb The Windows headers don't define PEXCEPTION_REGISTRATION_RECORD.
Remove it.
2004-08-13 23:22:30 +00:00
Mike McCormack edf55ec7d9 Implement SetThreadToken using NtSetInformationThread. 2004-08-13 23:20:27 +00:00
Francois Gouget 9b0136fbff Rename ResourceHandle to Reserved in the IMAGE_RESOURCE_DATA_ENTRY
structure to match the Windows headers.
2004-08-13 19:46:28 +00:00
Francois Gouget 3e3ba437ee Replace strcasecmp() with lstrcmpiA() to help compilation with Windows
headers.
2004-08-11 18:51:25 +00:00
Vincent Béron 9ebfac0eed Update WinXP version to SP2. 2004-08-09 18:44:29 +00:00
Markus Amsler b5b8810e99 Pass debug exceptions to winedos. 2004-08-04 19:08:19 +00:00
Mike McCormack e3d8853bb8 Moved FlushInstructionCache to ntdll. 2004-08-04 18:15:04 +00:00
Alexandre Julliard 60f0439ba6 Make relay and snooping work for LoadLibrary+GetProcAddress sequence
(based on a patch by Dmitry Timoshkov).
2004-08-02 22:25:01 +00:00
Ivan Leo Puoti e7c40e298f Fix dll version detection. 2004-07-30 18:45:50 +00:00
Alexandre Julliard 81b22375d0 Added support for getting and setting the UI language. 2004-07-30 01:45:16 +00:00
Ivan Leo Puoti fd233e2235 Change the NT service pack version from 6 to 6a, correct win2k3 name. 2004-07-29 23:57:23 +00:00
Robert Shearman 038d1c4df7 Documentation for Wine client-side server interface. 2004-07-29 02:34:51 +00:00
Francois Gouget f8e01efb3d Assorted spelling fixes. 2004-07-23 23:02:09 +00:00
Alexandre Julliard 9f58ee709d Set the system directory in ntdll as soon as we have determined it. 2004-07-15 22:07:21 +00:00
Aric Stewart 694af895e0 Report win2k service pack 4 instead of 3. 2004-07-14 21:44:10 +00:00
Emmanuel Maillard 58dde17c91 Added Darwin support in get_default_drive_device. 2004-07-07 00:47:10 +00:00
Aric Stewart 680e200c75 Report NOT_IMPLEMENTED for not implemented token classes. 2004-07-06 19:42:30 +00:00
Alexandre Julliard 38affc4097 We no longer need to make the import directory writable, the loader
takes care of that now.
2004-06-22 03:02:35 +00:00
Filip Navara fc51760f48 Unprotect Import Address Table while filling it. 2004-06-22 02:07:47 +00:00
Mike Hearn b6908b4c9f Default to Win98 in DLL linkage heuristics. 2004-06-21 23:55:07 +00:00
Pierre d'Herbemont c196f63a72 Fix a compile error for SNOOP_GetProcAddress and RELAY_GetProcAddress
on non-i386.
2004-06-18 19:34:10 +00:00
Alexandre Julliard fd9792bdc9 Added support for the IMAGE_FILE_LARGE_ADDRESS_AWARE flag. 2004-06-18 00:26:57 +00:00
Alexandre Julliard 2ed053b5a0 Take spin count into account in RtlEnterCriticalSection. 2004-06-17 23:11:08 +00:00
Alexandre Julliard 2bcef9e1fb Don't use lseek when truncating a file to avoid corrupting the current
file position.
2004-06-17 23:05:48 +00:00
Gerald Pfeifer 69075d0c1c Remove incorrect support for FreeBSD and NetBSD in
DVD_StartSession().
2004-06-16 19:03:25 +00:00
Alexandre Julliard cc461324da Store the number of processors in the PEB structure.
More correct support for setting critical section spin counts (based
on a patch by Robert Shearman).
2004-06-15 00:52:03 +00:00
Eric Pouech db52588754 Const correctness. 2004-06-15 00:47:00 +00:00
Uwe Bonnes e98a664d57 Support for reading encrypted DVDs. 2004-06-15 00:45:01 +00:00
Eric Pouech b0fd2ade62 - Added ProcessBasicInformation class to ntdll.NtQueryInformationProcess.
- Make use of it in kernel32.
2004-06-14 17:02:00 +00:00
Raphael Junqueira d6bd6b0488 Added _vsnwprintf (needed by some native XP dlls). 2004-06-03 00:26:35 +00:00
Alexandre Julliard 08183bdbfd Use wine_exec_wine_binary in all cases to start the server. 2004-05-30 03:11:10 +00:00
Alexandre Julliard b1abca8a5d Initial version of the Wine preloader, used to reserve memory
areas at startup. Based on the work of Mike McCormack.
2004-05-28 20:59:22 +00:00
Alexandre Julliard dc4d05690e Don't rely on the reserved area list being empty in reserve_area,
since the preloader will need to add things to the list before
startup.
2004-05-28 03:48:09 +00:00
Alexandre Julliard 94d74b5fed Added support for managing reserved memory areas in libwine and ntdll.
Try to reserve everything above 0x80000000 on startup.
2004-05-25 01:29:24 +00:00
Dmitry Timoshkov 20f25c3468 Cygwin's mntent.h requires stdio.h to be included first. 2004-05-24 19:07:12 +00:00
Alexandre Julliard eb04fd22f8 Converted the memory views list to use the standard functions from
wine/list.h.
Restructured some functions to always return proper NT status codes.
A couple of optimizations.
Added a few tests for file mappings.
2004-05-21 20:58:44 +00:00
Alexandre Julliard cb27ab8b13 Added support for mapping UNC filenames to the dosdevices directory. 2004-05-17 21:09:19 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Alexandre Julliard 8c29b5f0cc Removed the no longer used SMB file I/O support, we can't do reliable
file I/O in user space anyway.
2004-05-14 22:24:48 +00:00
Alexandre Julliard 63a5d81cfa Better fix for removing trailing spaces in RtlGetFullPathName_U.
Need to remove trailing dots too (reported by Ken Belleau).
2004-05-14 22:10:24 +00:00
Alexandre Julliard c00b0b029a Remove trailing spaces from the filename in RtlGetFullPathName_U. 2004-05-13 05:21:23 +00:00
Alexandre Julliard 04869eb658 Initial support for automatically creating the ~/.wine directory on
startup.
2004-05-11 04:29:18 +00:00
Alexandre Julliard c4effa39e6 Use the Unix codepage to convert the user name to Unicode. 2004-05-07 04:01:28 +00:00
Alexandre Julliard ae42aad2ae Initialize ntdll debugging earlier on so that we can trace the server
startup too.
2004-05-05 05:56:37 +00:00
Alexandre Julliard 048b3ac67c Fixed RtlSetEnvironmentVariable to deal properly with Unicode strings
that aren't null-terminated.
2004-05-05 01:39:12 +00:00
Francois Gouget 4e5b9efcf0 We should not make deststring static since we count on it being fresh
and clean when entering test_RtlCopyString().
2004-05-05 01:38:24 +00:00
Alexandre Julliard a11b2bbafb Updated the auto-generated tests. 2004-05-04 00:41:11 +00:00
Alexandre Julliard b592cbbc18 Reimplemented GetFileType and SetEndOfFile using ntdll functions. 2004-05-01 02:44:00 +00:00
Alexandre Julliard d4874d6406 Added a few more info classes in NtQueryInformationFile.
Use NT file names in CreateNamedPipeW.
Reimplemented GetFileInformationByHandle, GetFileSize and GetFileTime
using ntdll functions.
2004-04-30 21:03:09 +00:00
Alexandre Julliard ff07c20446 Moved support for opening named pipes to ntdll. 2004-04-30 19:04:19 +00:00
Alexandre Julliard ffcc67abf1 Added auto-detection of DOS drive devices based on finding the
corresponding mount point in /etc/mtab or /etc/fstab.
2004-04-29 20:04:48 +00:00
Alexandre Julliard 553a75e16e Use symlinks in dosdevices/ for the drive devices too.
Store drive types in the registry instead of in the config file.
Added some more code to convert existing config to the new scheme.
2004-04-29 00:27:57 +00:00
Alexandre Julliard cf67839bc4 Pass the creation disposition to wine_nt_to_unix_file_name so that it
can return the correct error code in all cases.
Changed MoveFileExW to use wine_nt_to_unix_file_name to avoid
computing the NT name twice.
Fixed crash in GetDriveTypeW with a NULL root.
2004-04-27 02:15:52 +00:00
Alexandre Julliard 7b6651a9e1 Moved creation of the CDROM registry keys into the registry loading
code.
2004-04-23 21:36:22 +00:00
Alexandre Julliard 223fcdff77 Moved support for opening DOS device files to ntdll. 2004-04-23 03:22:34 +00:00
Alexandre Julliard 9db147e5e4 Make DIR_nt_to_unix return STATUS_NO_SUCH_FILE instead of
STATUS_OBJECT_NAME_NOT_FOUND to indicate that the last component
didn't exist to allow distinguishing it from legitimate errors.
Export it from ntdll, renamed to wine_nt_to_unix_file_name.
2004-04-23 02:46:18 +00:00
Alexandre Julliard 4bb759e8ad Properly set IO_STATUS_BLOCK.Information in NtCreateFile. 2004-04-21 22:26:44 +00:00
Alexandre Julliard e4409325d2 Reimplemented GetFileAttributesExW and GetCompressedFileSizeW using
the corresponding ntdll functionality.
2004-04-20 04:06:49 +00:00
Francois Gouget 52c0832161 Make Unicode strings static const. 2004-04-20 01:12:17 +00:00
Robert Shearman e2490a0986 Stub and documentation for RtlFormatMessage. 2004-04-20 01:07:23 +00:00
Alexandre Julliard 362ce5eac7 Minor fixes. 2004-04-20 00:37:00 +00:00
Alexandre Julliard 174e2a6464 Reimplemented GetFileAttributesW, SetFileAttributesW and SetFileTime
using the corresponding ntdll functionality.
2004-04-20 00:36:29 +00:00
Michael Stefaniuc 5150b37a00 NtQueryInformationToken isn't a stub so change the FIXME to a TRACE. 2004-04-19 19:25:29 +00:00
Alexandre Julliard 769a4bb586 Fixed ntdll_wcstoumbs and WideCharToMultiByte to set the 'used' flag
for UTF-8 codepage too. This was causing DIR_nt_to_unix to fail in
some cases (tracked down with help from Alex Pasadyn).
2004-04-19 03:05:07 +00:00
Emmanuel Maillard 8183eb658f Fix a compile error for SNOOP_GetProcAddress on non-i386. 2004-04-17 00:21:18 +00:00
Alexandre Julliard 716878c5b1 Fixed a number of NT status values to be closer to NT behavior. 2004-04-16 23:32:40 +00:00
Alexandre Julliard dfcfc98ed0 RtlSetCurrentDirectory_U: store a handle to the current directory
along with its name.
2004-04-16 05:00:46 +00:00
Alexandre Julliard 186b419e02 Added hack to fetch the current directory from the subsystem tid so
that it is handled correctly in ntdll also for 16-bit tasks.
2004-04-16 00:10:03 +00:00
Alexandre Julliard a45931c6f3 Get rid of the TEB flags, they are no longer used. 2004-04-15 05:04:53 +00:00
Alexandre Julliard 1cb0cf4ced Moved wine_get_unix_file_name implementation to ntdll, and changed it
to return an allocated buffer instead of a fixed size one.
2004-04-14 19:40:53 +00:00
Alexandre Julliard 7e65631832 Added support for restarting directory scans on platforms where
seekdir return values cannot be reused on a different directory
object.
Added some checks for invalid file names in DIR_nt_to_unix.
2004-04-14 04:36:21 +00:00
Alexandre Julliard 017438cdbc Fixed handling of \\?\ prefix in RtlDosPathNameToNtPathName_U.
Fixed parsing of UNC file names in RtlGetFullPathName_U.
2004-04-14 04:34:04 +00:00
Alexandre Julliard e792fb74ba Implemented NtCreatelFile using the new symlink scheme.
Use NtCreateFile in the loader, and get rid of the CreateFileW upcall
hack.
2004-04-12 23:31:09 +00:00
Alexandre Julliard 743997fa38 Replace the get_file_info request by an fstat() on the client side. 2004-04-08 04:39:59 +00:00
Rolf Kalbermatter be00938306 Fix bad initialization of Unicode length parameters in
RtlStringFromGUID.
2004-04-08 04:38:49 +00:00
Alexandre Julliard db4517010b Handle the set_file_pointer request on the client side. 2004-04-07 22:02:09 +00:00
Raphael Junqueira 43b9f97b22 - fix DbgPrint and implement DbgPrintEx
- stub for NtImpersonateAnonymousToken
2004-04-07 19:05:34 +00:00
Alexandre Julliard 0adec9a7c1 Better support for device handles in NtQueryVolumeInformationFile. 2004-04-07 03:58:55 +00:00
Alexandre Julliard 670711ef25 Handle file mappings on removable media entirely inside ntdll. 2004-04-06 23:13:47 +00:00
Alexandre Julliard a2ce4ea325 Fixed some potential races in the handling of the view structures. 2004-04-06 20:16:51 +00:00
Alexandre Julliard 01c5ef37cc Partial implementation of NtQueryVolumeInformationFile. 2004-04-06 04:19:41 +00:00
Alexandre Julliard 27b1cf9ab1 Fixed RtlDosPathNameToNtPathName_U prototype. 2004-04-05 20:21:16 +00:00
Alexandre Julliard 9aef0770a9 A couple of optimizations and bug fixes. 2004-04-02 20:28:07 +00:00
Rein Klazes 7568734411 Fix incorrect calculation of leap year in RtlTimeFieldsToTime(). 2004-04-02 19:28:53 +00:00
Rolf Kalbermatter dfd6bbf1d2 NtPulseEvent: Don't print FIXME for an optional parameter if it isn't
used.
2004-04-01 21:01:53 +00:00
Raphael Junqueira b9f45e7a70 Added some stubs. 2004-04-01 02:12:41 +00:00
Alexandre Julliard 8b0938b6e3 Make RtlGetFullPathName_U handle Unix paths, using the new symlinks
scheme.
2004-04-01 02:09:14 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Francois Gouget b948778660 Assorted spelling fixes. 2004-03-23 23:20:16 +00:00
Uwe Bonnes d81e8db382 Added some tests for RtlGetFullPathName_U. 2004-03-22 23:00:13 +00:00
Alexandre Julliard 94e3477d7f Moved slash conversion to collapse_path, and remove duplicate
backslashes too.
2004-03-22 22:59:25 +00:00
Alexandre Julliard a86a022256 Added workaround for broken dlls that modify ebx in their entry point
(reported by Christian Costa).
2004-03-19 02:07:16 +00:00
Raphael Junqueira ca6b072689 Stub implementations of RtlCreateQueryDebugBuffer,
RtlDestroyQueryDebugBuffer and RtlQueryProcessDebugInformation.
2004-03-18 02:08:43 +00:00
Alexandre Julliard b8d025eeb9 Rewrote the collapsing of . and .. in RtlGetFullPathName_U for better
compatibility.
2004-03-17 01:58:51 +00:00
Alexandre Julliard 24df62e32b O_DIRECTORY is not really needed. 2004-03-16 19:19:12 +00:00
Mike Hearn a54e3216c3 - Add debug SnoopFromInclude/SnoopFromExclude options.
- Correct TRACE debug channel usage in SNOOP_SetupDLL.
- Refactor check_relay_from_relay.
2004-03-16 03:10:07 +00:00
Alexandre Julliard f30cfa8858 Implemented NtQueryDirectoryFile (partly based on a patch by Eric
Pouech).
2004-03-16 01:32:02 +00:00
Mike Hearn 4d2cfee1fa Improve message given on image map failure. 2004-03-15 20:06:50 +00:00
Alexandre Julliard fe8ead56a8 Get rid of ntdll_get_process_heap and ntdll_get_process_pmts by using
standard APIs instead.
2004-03-12 01:59:35 +00:00
Hans Leidekker bdf4aff65b _wto{l,i,i64} parameters are const. 2004-03-11 22:38:38 +00:00
Alexandre Julliard 8548fc2947 Portability fixes. 2004-03-11 00:46:09 +00:00
Alexandre Julliard 615373c587 ASCII string comparisons should not depend on the locale. 2004-03-09 23:29:20 +00:00
Alexandre Julliard 954c570ae3 Reimplemented GetVolumeInformation and SetVolumeLabel; volume label
and serial number are now stored in the filesystem instead of in the
config file (partly based on a patch by Eric Pouech).
2004-03-09 01:03:03 +00:00
Alexandre Julliard 68cc54330e Do not store the Unix file descriptor in the cache structure.
Protect the global cache with a critical section.
2004-03-05 20:45:33 +00:00
Alexandre Julliard db692c8f39 Open a real file handle for drive devices, and get rid of the server
device hacks (based on a patch by Eric Pouech).
2004-03-04 23:00:18 +00:00
Alexandre Julliard bcb5d6b82d Smarter allocation algorithm for the string buffer, to allow
displaying more characters for strings without too many escapes.
2004-03-03 21:34:13 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Rein Klazes 5040309740 In TIME_GetBias make sure there is a cached value for daylight as
well.
2004-03-01 21:23:18 +00:00
Robert Shearman b14950dd5c Update documentation for Rtl functions. 2004-02-27 04:35:43 +00:00
Huw Davies 67e2d6cb4d Cache the result of TIME_GetBias for up to 1 second. 2004-02-27 00:43:20 +00:00
Huw Davies 64ed848712 Call TIME_GetBias rather than RtlQueryTimeZoneInfo if we're only
interested in the bias - it's faster.
2004-02-26 05:26:34 +00:00
Huw Davies f66af59989 Speed up RtlTimeFieldsToTime. 2004-02-25 01:25:00 +00:00
Alexandre Julliard 8cdcbbb342 Tweak the load order algorithm a bit to better reflect the user's
intention, by taking into account non-wildcard module specifications
for all directories.
2004-02-24 01:26:31 +00:00
Alexandre Julliard fc8b376a55 Return right away from import_dll when a dll is not found to avoid
displaying many useless function errors.
2004-02-24 01:25:03 +00:00
Dmitry Timoshkov c2de5fbcb9 Set SA_RESTART sigaction flag for other BSDs beside NetBSD. 2004-02-24 01:21:56 +00:00
Huw Davies 166faa455d Speed up RtlTimeToTimeFields. 2004-02-24 01:01:27 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Dmitry Timoshkov cba227bcec Write section access also assumes read access. 2004-02-17 20:22:43 +00:00
Dmitry Timoshkov fcc2fe18a4 Avoid double checking free type flags in NtFreeVirtualMemory. 2004-02-11 23:56:52 +00:00
Alexandre Julliard 2ad864dc87 Don't request PROT_EXEC permissions when mapping an image file to
avoid problems on noexec filesystems with kernel 2.6.
2004-02-11 06:37:49 +00:00
Francois Gouget ad5ff7ceeb Assorted spelling and case fixes. 2004-02-09 22:07:42 +00:00
Dmitry Timoshkov f323d5d31b Add a test case for Virtual* APIs, fix a few bugs discovered by it. 2004-02-09 20:58:16 +00:00
Alexandre Julliard f19c9e7cdd Get pointer to CreateFileW earlier on during startup.
Make sure we don't crash when loading a dll before the modref for the
main exe has been created.
2004-02-07 01:11:54 +00:00
Francois Gouget 39081ddcd8 Add trailing '\n's to ok() calls. 2004-02-07 01:03:17 +00:00
Francois Gouget f083d70024 Add trailing '\n's to ok() calls.
Spelling fixes in the ok() messages.
2004-02-07 01:02:48 +00:00
Alexandre Julliard 950808af3b Trace register contents on exception. 2004-02-06 05:28:23 +00:00
Alexandre Julliard 4fac95df3d Fixed a couple of race conditions in the wine_pthread routines at
thread startup and exit.
2004-02-05 02:01:35 +00:00
Alexandre Julliard 36241ceda4 Added memory constraint to avoid miscompilation of the unaligned_mmap
function (with help from Paul Streitman).
2004-01-30 22:59:34 +00:00
Francois Gouget 7494b5b980 Add trailing '\n's to ok() calls.
Check whether _MSC_VER is defined.
2004-01-23 02:11:12 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Eric Pouech 6c8ee62340 - RtlGetFullPathName_U: rewritten so that the source & destination
buffer can be the same
- GetFullPathName[AW]: now call RtlGetFullPathName_U
- GetShortPathNameW: fixed regression introduced in last patch
2004-01-20 01:40:23 +00:00
Alexandre Julliard de7fab45bc Fixed an error message. 2004-01-19 21:55:32 +00:00
Eric Pouech 210e1abb35 Added support for Unix code page in NTDLL. 2004-01-18 22:11:52 +00:00
Alexandre Julliard 94d5531e6f Check for overlapping memory views and delete the offending view if
necessary, to ensure we never have two views covering the same
address.
2004-01-16 04:52:17 +00:00
Robert Lunnon 93be53744e Save UESP instead of ESP where UESP defined. 2004-01-16 02:00:24 +00:00