Commit Graph

467 Commits

Author SHA1 Message Date
Detlef Riekenberg 02b74d3fd3 ntdll: Implement NtGetCurrentProcessorNumber. 2012-05-21 10:20:25 +02:00
Dmitry Timoshkov 492732aa32 include: Add some missing FILE_FLAG_xxx definitions. 2012-04-18 14:03:19 +02:00
Dmitry Timoshkov 64cf2db9a6 include: Define MUTEX_ALL_ACCESS in a PSDK compatible way. 2012-04-18 14:03:12 +02:00
Alexandre Julliard aeaf18077e kernel32: Implement the memory resource notification functions. 2012-03-12 10:44:02 +01:00
Michael Stefaniuc 07c60df9ae include: Fix "l" numeric constants in winbase.h. 2011-11-22 11:10:02 +01:00
Francois Gouget 1c108d1acb kernel32: Declare more TimerQueue functions in winbase.h. 2011-11-14 13:10:22 +01:00
Detlef Riekenberg 3fc84d4862 include: Add definitions and declarations for SRW lock. 2011-07-06 11:17:07 +02:00
André Hentschel 02c88bcef7 include: Define FIBER_FLAG_FLOAT_SWITCH. 2011-05-31 11:12:37 +02:00
Austin English e701ca90aa kernel32: Add a stub for RegisterApplicationRecoveryCallback. 2011-05-23 13:16:25 +02:00
Eric Pouech 394feff361 include: Added missing no return attribute. 2011-03-28 17:29:50 +02:00
Hans Leidekker 06562d16b3 kernel32: Add a stub implementation of GetThreadIOPendingFlag. 2011-01-10 10:42:23 +01:00
Andrew Nguyen 6d605e68f4 kernel32: Make the return type of LoadModule match the Windows SDK. 2010-10-11 17:11:28 +02:00
Andrew Nguyen 43e99d6e0c kernel32: Implement GetSystemRegistryQuota as a semi-stub. 2010-10-11 17:11:27 +02:00
Austin English e99612c4c8 kernel32: Add a stub for GetSystemDEPPolicy. 2010-09-22 12:47:39 +02:00
Mariusz Pluciński dfb88608e3 kernel32: New flags added to LoadLibraryEx. 2010-09-13 14:46:20 -05:00
Paul Chitescu 2e97746340 kernel32: Declare and add stubs for GetLogicalProcessorInformation(Ex). 2010-07-20 12:56:26 +02:00
Jacek Caban 75912afabd winbase.h: Added missing COPY_FILE_* flags. 2010-06-10 14:59:00 +02:00
Alexandre Julliard f7f4e9e3be include: Force inlining exported API functions to avoid duplicate definitions. 2010-05-07 22:38:32 +02:00
Yann Droneaud b7d321769c include: Rewrote some extern inline to static inline. 2010-05-07 14:21:34 +02:00
Alexandre Julliard abf29377ba kernel32: Export InterlockedCompareExchange64. 2010-02-05 13:14:20 +01:00
Peter Rosin 805f7d79db kernel32: Add SetThreadErrorMode and GetThreadErrorMode. 2010-02-04 13:39:27 +01:00
Alexandre Julliard 21ddb9f48e include: Move undocumented Win9x function definitions to winbase16.h. 2009-12-24 20:28:12 +01:00
Stefan Leichter 7f1fe90e7f kernel32: Added stub for CreateMemoryResourceNotification. 2009-11-16 12:42:19 +01:00
Paul Vriens 400d62167f advapi32/tests: Add some GetEventLogInformation tests. 2009-10-28 11:14:39 +01:00
Alexander Nicolaysen Sørnes 1c4c2bbf33 include: Add defines for GetProductInfo. 2009-10-26 11:35:56 +01:00
Mike Kaplinskiy a5c03fbc72 kernel32: Implement CancelIoEx. 2009-08-18 12:29:33 +02:00
Hans Leidekker 26fbee2db7 include: Add prototypes for EncodePointer and DecodePointer. 2009-08-07 11:39:55 +02:00
Andrew Nguyen f63f4026cf kernel32: Implement WTSGetActiveConsoleSessionId as a stub. 2009-07-16 11:21:21 +02:00
Alexandre Julliard 03d6da0894 kernel32: Add implementation of GetSystemWow64DirectoryA/W. 2009-07-07 11:42:03 +02:00
Alexandre Julliard 26caf2fdda kernel32: Forward the Wow64 redirection functions to ntdll. 2009-07-06 15:09:29 +02:00
Dmitry Timoshkov 545b40adf7 kernel32: Make SystemTimeToTzSpecificLocalTime and TzSpecificLocalTimeToSystemTime prototypes match PSDK. 2009-05-04 12:53:32 +02:00
Mikołaj Zalewski 9c9532265d kernel32: Implement QueryFullProcessImageFileNameW. 2009-03-31 18:05:55 +02:00
Rob Shearman bbe7927ed5 include: Add definition for CreateProcessWithLogonW and associated flags. 2009-03-30 13:57:48 +02:00
Alexandre Julliard fb04bcf638 Fix position of CDECL qualifier for functions that return pointers. 2009-02-06 14:54:01 +01:00
Nikolay Sivov 2013cdc604 kernel32: Implemented GetErrorMode(). 2009-01-13 16:39:45 +01:00
Alexandre Julliard 935a406b27 include: Fix data structures for processor affinity on 64-bit. 2009-01-04 14:47:24 +01:00
Alexandre Julliard 5f36d0239f kernel32: Convert FormatMessageA/W to use an MS ABI vararg list for x86_64. 2008-12-31 20:59:51 +01:00
Maarten Lankhorst 70441d5bb8 kernel32: Change all functions to use CDECL. 2008-12-23 13:09:45 +01:00
Alexandre Julliard dcbe616a0e include: Fix typo in the 64-bit version of GetProcessHeap(). 2008-12-11 20:37:42 +01:00
Alexandre Julliard 4bddbedc41 include: Disable the asm optimizations for the Windows build. 2008-12-09 17:10:20 +01:00
Alexandre Julliard f06d99f67a include: Implemented inline asm functions for x86_64. Export Interlocked* only on i386. 2008-12-08 19:25:25 +01:00
Alexandre Julliard fea2aa55d0 include: Fix the 64-bit value of magic handle constants. 2008-12-08 15:51:22 +01:00
Alexandre Julliard 23be27ef80 kernel32: Added GetWriteWatch and ResetWriteWatch. 2008-11-14 11:02:15 +01:00
Alexandre Julliard c1d2d86be7 kernel32: Implemented the Ex variants of CreateEvent/Mutex/Semaphore/WaitableTimer. 2008-11-11 14:03:00 +01:00
Marcus Meissner 96412ee564 Annotate with allocation size attribute. 2008-09-05 11:22:26 +02:00
Alexandre Julliard b44a109b8c kernel32: Implemented the wrapper functions for job objects. 2008-09-04 22:51:02 +02:00
Vijay Kiran Kamuju d2625be02f advapi32: Add stub for ConvertToAutoInheritPrivateObjectSecurity. 2008-08-28 11:03:36 +02:00
Dan Hipschman ecd76fb77c kernel32: Add a stub for ChangeTimerQueueTimer. 2008-07-22 13:21:01 +02:00
Roy Shea 7c74ff3bbb include: Add header for mstask. 2008-07-11 15:19:01 +02:00
Jon Griffiths 1ad733e4e0 ntdll: Implement [Rtl]InitializeCriticalSectionEx. 2008-06-23 14:04:24 +02:00
Alexandre Julliard a2ba7dcf7b include: Use WINE_NO_UNICODE_MACROS instead of __WINESRC__ where appropriate. 2008-05-30 10:02:42 +02:00
Dan Hipschman 2904f543f4 advapi32: Add a stub for CreateRestrictedToken. 2008-03-22 11:14:13 +01:00
Alexandre Julliard 5c5b997dc2 kernel32: Implemented ReadFileScatter and WriteFileGather. 2008-03-15 10:58:38 +01:00
Dan Hipschman 0e8f193184 kernel32: Add the MOVEFILE_WRITE_THROUGH flag for MoveFileEx (stub). 2008-03-14 11:53:15 +01:00
Dmitry Timoshkov e49e8b20db kernel32: Add stubs for fiber local storage APIs. 2008-02-29 11:48:13 +01:00
Francois Gouget bce8b67785 kernel32: Add prototypes for [GS]etDynamicTimeZoneInformation(). 2008-02-15 09:56:06 +01:00
Rob Shearman 8296548bb5 kernel32: Implement GetThreadId. 2007-11-13 13:29:27 +01:00
Alexandre Julliard 16d85e2d30 include: Add WINBASEAPI to the exported kernel32 functions. 2007-11-07 12:27:51 +01:00
Alexandre Julliard 113e40c28f include: Moved AttachThreadInput prototype to winuser.h where it belongs. 2007-11-06 19:57:18 +01:00
Detlef Riekenberg 3fb513deb4 include/winbase: Fix a typo. 2007-10-29 12:02:24 +01:00
Francois Gouget b1335db353 Better match the PSDK types and update win32.api to fix the winapi_check warnings. 2007-10-23 18:19:42 +02:00
Bang Jun-young 27213de046 advapi32: Fix AdjustTokenPrivileges() to match the PSDK. 2007-10-17 13:44:01 +02:00
Mikolaj Zalewski 57ca9ae92d advapi32: Add AddAuditAccessAceEx. 2007-09-25 11:18:45 +02:00
Alexandre Julliard 40fb7ca168 kernel32: Implemented GetTickCount64. 2007-07-11 14:04:54 +02:00
Dmitry Timoshkov 5f1a234731 kernel32: Fix the size of ThreadAffinityMask to match PSDK. 2007-05-21 19:11:01 +02:00
Kevin Koltzau 1cb98aa25d winbase.h: Define FILE_FLAG_OPEN_REPARSE_POINT. 2007-05-07 14:25:09 +02:00
Andrew Talbot a22c7a6c34 kernel32: Constify a variable. 2007-05-03 14:23:31 +02:00
Kirill K. Smirnov fff6db62f3 kernel32: Add partial stub for NeedCurrentDirectoryForExePath. 2007-04-27 13:05:12 +02:00
Francois Gouget 590c4020f2 kernel32: Add prototypes to winbase.h for the SList functions. 2007-02-09 14:32:56 +01:00
Bang Jun-Young 2fb391b3df winbase.h: Cosmetic changes. 2007-01-22 13:28:55 +01:00
Mike McCormack b9910cb36d kernel32: Implement CopyFileWithProgress. 2007-01-02 12:08:53 +01:00
Rob Shearman 167323e6f8 include: Add security QOS flags to winbase.h. 2006-11-15 11:33:47 +01:00
Francois Gouget a7f8195be9 include: The PSDK does not have the A/W variants of MAKEINTATOM() so we should not either. 2006-11-08 12:10:26 +01:00
Francois Gouget 7c38ff6adf include: Fix the HeapQueryInformation() prototype. 2006-11-02 22:13:32 +01:00
Mike McCormack c4f815f304 kernel32: Declare HeapQueryInformation and HeapSetInformation. 2006-11-02 12:24:18 +01:00
James Hawkins cdd717bc1b advapi32: Add missing declarations to the public headers. 2006-10-12 11:34:50 +02:00
Alexandre Julliard 530e765035 include: Exception filters should return LONG, not DWORD.
Also move UnhandledExceptionFilter definitions to winbase.h since they
are there in the latest SDK.
2006-09-20 11:26:59 +02:00
Andrew Talbot 06e7d91bad kernel: Constify a formal parameter. 2006-09-08 16:07:36 +02:00
Robert Reif abdb2dbc66 kernel32: Add GetNativeSystemInfo. 2006-08-16 12:41:01 +02:00
Robert Reif 611eb3fa8a kernel32: Add IsWow64Process. 2006-08-11 19:26:12 +02:00
Robert Reif c4ac8c5b16 advapi32: Add CreateWellKnownSid and IsWellKnownSid. 2006-07-17 13:45:11 +02:00
Alexandre Julliard 1053eccb36 include: Added prototype for DllMain. 2006-06-12 16:18:17 +02:00
Eric Pouech 1d6e2590e0 ntdll/kernel32: Pipe information.
- implemented ntdll.NtQueryInformationFile's FilePipeLocalInformation control code 
- reimplemented kernel32.GetNamedPipeInfo on top of it
- enhance current features to make this work both on client and server handles
- now also returning the number of instances
2006-05-27 12:31:01 +02:00
Alexandre Julliard ab2349daf0 kernel32: Partial implementation of GetModuleHandleExA/W. 2006-05-27 10:57:17 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman 29d3f1e15d include: Add defines used in CopyFileEx. 2006-05-23 11:32:47 +02:00
Paul Chitescu b1cbecbbc6 advapi32: Add stub FileEncryptionStatus and declarations. 2006-05-20 16:56:16 +02:00
Detlef Riekenberg 060d53748d winbase.h: Add missing LMEM_INVALID_HANDLE define. 2006-03-16 21:40:00 +01:00
Eric Pouech 3c0e5eed83 A few fixes for pointer qualifiers (const, volatile) warnings. 2006-02-06 13:10:18 +01:00
Hans Leidekker 69c5f62da8 include: Add some defines related to tape support. 2006-01-26 13:22:24 +01:00
Mike McCormack 1f7c81eb36 kernel32: Create a stub implementation for PostQueuedCompletionStatus. 2006-01-17 13:13:01 +01:00
Mike McCormack a1edebf523 kernel32: Declare BindIoCompletionCallback(). 2006-01-16 20:51:11 +01:00
Mike McCormack 91199249ec kernel32: Define SCS_64BIT_BINARY. 2006-01-16 20:40:33 +01:00
Eric Pouech b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Alexandre Julliard c9b27e90ce Implemented InterlockedCompareExchangePointer and
InterlockedExchangePointer for x86-64.
2005-09-13 15:01:41 +00:00
Felix Nawothnig 58d7d7454b Make the destination pointers of Interlocked* functions volatile to
match the SDK headers.
2005-08-18 10:50:38 +00:00
Alexandre Julliard e859359211 Added a wine_get_dos_file_name function in kernel32 as a wrapper
around the new wine_unix_to_nt_file_name.
2005-08-11 11:07:17 +00:00
Mike McCormack f223b68bb6 Correct OFSTRUCT declaration. 2005-08-09 10:21:53 +00:00
Alexandre Julliard fb722a0ee5 Properly sort the function prototypes. 2005-08-01 14:53:53 +00:00
Vincent Béron 05b2c1cc81 Remove multiple declarations of the same function, keeping the public
one as reference.
2005-07-24 16:17:28 +00:00
Mike McCormack 901f5b328c DUPLICATE_* flags should be defined in winnt.h. 2005-06-27 09:44:08 +00:00
Mike McCormack 6788420102 Declare ProcessIdToSessionId. 2005-06-22 11:59:34 +00:00
Mike McCormack 48a8f520f5 Add a couple of missing functions. 2005-06-14 11:43:35 +00:00
Mike McCormack 5e62bd0b0c Declare some missing functions. 2005-06-13 10:04:20 +00:00
Mike McCormack 487f41e7f4 Added some security related functions to winbase.h. 2005-06-07 20:06:05 +00:00
Alexandre Julliard 16885f09a5 Fixed RtlIsTextUnicode prototype, and made it properly take into
account the results of the tests to determine the return value.
2005-05-31 13:24:44 +00:00
Mike McCormack fa6563d5fb - always declare the lstr* functions, even if they're inline
- add prototype for ReadDirectoryChangesW
2005-05-29 20:03:30 +00:00
Uwe Bonnes ef73685e6b Fix small typo. 2005-05-25 17:49:37 +00:00
Dimitrie O. Paun 1ef6e296f9 Move {ABOVE,BELOW}_NORMAL_PRIORITY_CLASS to winbase.h. 2005-05-11 12:00:58 +00:00
Andreas Mohr 51198f8eb6 Fix for CommConfigDialog*() hwnd argument. 2005-05-09 19:32:33 +00:00
Alexandre Julliard f2ad8e3121 Define strncpy to an error to make sure it doesn't creep back in. 2005-04-25 16:23:32 +00:00
Dmitry Timoshkov 75b93ff1aa Match OVERLAPPED structure to the SDK definition. 2005-03-17 19:00:08 +00:00
Mike McCormack d9ef0a4ba4 Declare inline string function WINAPI (found by Krzysztof Foltman). 2005-03-17 13:56:53 +00:00
Dmitry Timoshkov 0497af09a7 Match RaiseException and EXCEPTION_RECORD to SDK definitions. 2005-02-24 13:15:36 +00:00
Ivan Leo Puoti d8793bb776 Added a couple of defines. 2005-02-22 19:32:22 +00:00
Mike McCormack 3b2019badb Make lstr* functions inline inside Wine. 2005-02-22 15:50:13 +00:00
Hans Leidekker 0cc2031409 Stub implementations for GetKernelObjectSecurity,
GetPrivateObjectSecurity, GetServiceKeyName{A,W},
ImpersonateNamedPipeClient, InitiateSystemShutdown{A,W},
IsTokenRestricted, LogonUser{A,W}, LookupAccountNameW,
LookupPrivilegeDisplayName{A,W}, MapGenericMask,
ObjectCloseAuditAlarm{A,W}, ObjectOpenAuditAlarm{A,W},
ObjectPrivilegeAuditAlarm{A,W}, PrivilegedServiceAuditAlarm{A,W},
QueryServiceLockStatus{A,W}, SetAclInformation,
SetPrivateObjectSecurity, SetSecurityDescriptorControl,
SetServiceBits, LsaSetInformationPolicy, LsaLookupNames,
LsaEnumerateTrustedDomains.
2005-01-03 17:12:51 +00:00
Hans Leidekker 49f7f6c208 Stub implementations for AdjustTokenGroups, AreAllAccessesGranted,
CreatePrivateObjectSecurity, CreateProcessAsUser{A,W},
DestroyPrivateObjectSecurity, DuplicateToken{,Ex},
EnumDependentServices{A,W}, GetEffectiveRightsFromAcl{A,W},
ConvertStringSecurityDescriptorToSecurityDescriptorA. Implementations
for BuildExplicitAccessWithName{A,W},
BuildTrusteeWithObjectsAndName{A,W},
BuildTrusteeWithObjectsAndSid{A,W}.
Correct prototype for InitializeAcl, RtlCopySid and RtlGetAce.
Use the CallWin32ToNt macro only with functions that return an
NTSTATUS.
2004-12-21 16:16:10 +00:00
Andreas Mohr 35583201e8 GetTempPath*() uses DWORD parameters instead of UINT. 2004-12-17 19:00:09 +00:00
Rein Klazes d694a376c7 - Reordered some code from the existing helper _GetTimeZoneBias to
make it more general useful (and changed the helper names to
  TIME_xyz).
- Make GetTimeZoneInformation return the correct zone id constants.
- Changed some "const LPX_Y_Z" declarations to "const X_Y_Z *".
2004-10-27 21:19:22 +00:00
Alexandre Julliard 2612e60ef8 Fixed definition of MAX_COMPUTERNAME_LENGTH (spotted by Mike
McCormack).
2004-10-22 20:00:13 +00:00
Jon Griffiths 39bbcb48b6 Use correct tag names for compatability with fwd decls.
Some old code checks that _WINDEF_ is defined in windef.h.
2004-09-20 19:13:16 +00:00
Francois Gouget c27db9b07c Assorted spelling fixes. 2004-09-14 19:31:22 +00:00
Dmitry Timoshkov a489fb5a8a Move MulDiv prototype from wingdi.h to winbase.h where it belongs. 2004-09-06 20:28:01 +00:00
Francois Gouget 2e360b3ee4 Fix alignment issues for MEMORYSTATUSEX, WIN32_STREAM_ID and
IO_COUNTERS. The corresponding tests now succeed both when compiled
with the Windows headers and when compiled with the Wine headers.
2004-08-24 20:16:25 +00:00
Robert Shearman 3ae44f72b9 Added GetProcessId. 2004-08-24 18:46:05 +00:00
Francois Gouget d21458500d Move LDT_ENTRY to winnt.h. 2004-08-23 17:49:32 +00:00
Robert Reif 22174de9bb Use GlobalMemoryStatusEx in GlobalMemoryStatus rather than the other
way around.
2004-08-13 00:41:34 +00:00
Mike McCormack d161a8f64e Fix definition of LookupPrivilegeNameW and declare it. 2004-08-09 19:46:15 +00:00
Alexandre Julliard 410db2ada4 Rewrote SetFilePointer to use SetFilePointerEx. 2004-06-14 19:40:44 +00:00
Eric Pouech bde649c356 Added some missing prototypes. 2004-05-18 20:43:29 +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 743997fa38 Replace the get_file_info request by an fstat() on the client side. 2004-04-08 04:39:59 +00:00
Patrik Stridvall 885450a38e Added proper headers for the *ActCtx* functions. 2004-02-27 21:28:34 +00:00
Dmitry Timoshkov cff42a8d71 Add GetProcessHeaps() prototype. 2004-02-10 20:08:10 +00:00
Mike McCormack 4c979ea522 Added SystemTimeToTzSpecificLocalTime definition. 2004-01-16 21:22:13 +00:00
Eric Pouech 5bf3a2669b Made wine_get_unix_file_name take a Unicode string pointer. 2004-01-05 23:42:09 +00:00
Alexandre Julliard 2fdc4dc5dd Added missing prototypes for some implemented functions. 2003-11-26 04:11:56 +00:00
Alexandre Julliard 9e73f55af3 Store the last error code at the TEB offset used by NT instead of the
Win9x one.
2003-11-25 01:53:23 +00:00
Eric Pouech 8ca6cadab1 - moved the remaining of int21 calls to dlls/winedos
- disabled drive enabling/disabling as well as disk serial number
  writing (for DLL separation issues)
- added volume management prototypes to include/winbase.h
- started DefineDosDevice (needed by first item in this list)
- removed int21 specific code from dlls/kernel
2003-11-14 04:54:39 +00:00
Ulrich Czekalla fd5e811c4e Added stubs for AccessCheckByType, AddAuditAccessAce,
GetNamedSecurityInfoA, GetNamedSecurityInfoW.
Implemented ConvertStringSecurityDescriptorToSecurityDescriptorW,
DeleteAce, MakeAbsoluteSD, GetAclInformation, ConvertStringSidToSidW,
RtlDeleteAce, RtlQueryInformationAcl.
2003-11-11 22:03:24 +00:00
Alexandre Julliard 03d9f0e47a Disable the asm inline functions when building ntdll to avoid trouble
when compiling without optimization.
The PPC inline functions are no longer needed now that kernel is
properly separated.
2003-11-04 04:52:54 +00:00
Alexandre Julliard 7370f60120 Implemented RtlCreateUserThread, and use it to move thread creation to
ntdll.
2003-10-31 00:16:20 +00:00
Alexandre Julliard 54b1d87daf Implemented Add/RemoveVectoredExceptionHandler. 2003-10-28 21:22:50 +00:00
Alexandre Julliard 240b0a9b48 Moved the Windows version code to dlls/ntdll, and implemented
RtlGetVersion and RtlVerifyVersionInfo.
Moved the 16-bit and DOS version support to dlls/kernel.
2003-09-24 05:26:00 +00:00
Mike McCormack e66069d94e Declare mailslot functions. 2003-09-15 20:01:56 +00:00
Kevin Groeneveld 8be51c92e4 Add missing wReserved1 member to DCB structure definition.
Fix several bugs in BuildCommDCBAndTimeouts:
- make sure LPCSTR parameter is really treated as constant
- fix possible buffer overflow if passed in string is too long
- if the device control string is invalid, do not modify DCB
- do not clear entire DCB, only modify appropriate members
- fix parsing of stop bits parameter so it works for 1 and 1.5
- populate COMMTIMEOUTS when to=xxx parameter is specified
- added support for xon, odsr, octs, dtr, rts, and idsr parameters
- fix several other parsing errors
2003-09-12 00:26:15 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Eric Pouech da8b582cda Added a few missing definitions. 2003-09-02 18:16:22 +00:00
Dimitrie O. Paun 53f9c21fb7 Use angle brackets (<>) rather than quotes ("") for the include
directives in our .h files. This should avoid some potentially nasty
surprises for Winelib apps.
2003-08-28 21:43:34 +00:00