mirror of
https://github.com/reactos/reactos.git
synced 2025-06-30 06:31:21 +00:00

Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3 License: MIT
163 lines
4.7 KiB
C
163 lines
4.7 KiB
C
//
|
|
// sys/utime.h
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
// The _utime() family of functions.
|
|
//
|
|
#pragma once
|
|
|
|
#include <corecrt.h>
|
|
|
|
#pragma warning(push)
|
|
#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
|
|
_UCRT_DISABLE_CLANG_WARNINGS
|
|
|
|
_CRT_BEGIN_C_HEADER
|
|
|
|
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
//
|
|
// Types
|
|
//
|
|
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
#ifndef _CRT_NO_TIME_T
|
|
struct _utimbuf
|
|
{
|
|
time_t actime; // access time
|
|
time_t modtime; // modification time
|
|
};
|
|
#endif
|
|
|
|
struct __utimbuf32
|
|
{
|
|
__time32_t actime; // access time
|
|
__time32_t modtime; // modification time
|
|
};
|
|
|
|
struct __utimbuf64
|
|
{
|
|
__time64_t actime; // access time
|
|
__time64_t modtime; // modification time
|
|
};
|
|
|
|
#if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES && !defined _CRT_NO_TIME_T
|
|
|
|
struct utimbuf
|
|
{
|
|
time_t actime; // access time
|
|
time_t modtime; // modification time
|
|
};
|
|
|
|
struct utimbuf32
|
|
{
|
|
__time32_t actime; // access time
|
|
__time32_t modtime; // modification time
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
//
|
|
// Functions
|
|
//
|
|
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
_ACRTIMP int __cdecl _utime32(
|
|
_In_z_ char const* _FileName,
|
|
_In_opt_ struct __utimbuf32* _Time
|
|
);
|
|
|
|
_ACRTIMP int __cdecl _futime32(
|
|
_In_ int _FileHandle,
|
|
_In_opt_ struct __utimbuf32* _Time
|
|
);
|
|
|
|
_ACRTIMP int __cdecl _wutime32(
|
|
_In_z_ wchar_t const* _FileName,
|
|
_In_opt_ struct __utimbuf32* _Time
|
|
);
|
|
|
|
_ACRTIMP int __cdecl _utime64(
|
|
_In_z_ char const* _FileName,
|
|
_In_opt_ struct __utimbuf64* _Time
|
|
);
|
|
|
|
_ACRTIMP int __cdecl _futime64(
|
|
_In_ int _FileHandle,
|
|
_In_opt_ struct __utimbuf64* _Time
|
|
);
|
|
|
|
_ACRTIMP int __cdecl _wutime64(
|
|
_In_z_ wchar_t const* _FileName,
|
|
_In_opt_ struct __utimbuf64* _Time
|
|
);
|
|
|
|
|
|
|
|
#if !defined RC_INVOKED && !defined __midl && !defined _CRT_NO_TIME_T
|
|
#ifdef _USE_32BIT_TIME_T
|
|
|
|
static __inline int __CRTDECL _utime(char const* const _FileName, struct _utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct _utimbuf) == sizeof(struct __utimbuf32));
|
|
return _utime32(_FileName, (struct __utimbuf32*)_Time);
|
|
}
|
|
|
|
static __inline int __CRTDECL _futime(int const _FileHandle, struct _utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct _utimbuf) == sizeof(struct __utimbuf32));
|
|
return _futime32(_FileHandle, (struct __utimbuf32*)_Time);
|
|
}
|
|
|
|
static __inline int __CRTDECL _wutime(wchar_t const* const _FileName, struct _utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct _utimbuf) == sizeof(struct __utimbuf32));
|
|
return _wutime32(_FileName, (struct __utimbuf32*)_Time);
|
|
}
|
|
|
|
#else
|
|
static __inline int __CRTDECL _utime(char const* const _FileName, struct _utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct _utimbuf) == sizeof(struct __utimbuf64));
|
|
return _utime64(_FileName, (struct __utimbuf64*)_Time);
|
|
}
|
|
|
|
static __inline int __CRTDECL _futime(int const _FileHandle, struct _utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct _utimbuf) == sizeof(struct __utimbuf64));
|
|
return _futime64(_FileHandle, (struct __utimbuf64*)_Time);
|
|
}
|
|
|
|
static __inline int __CRTDECL _wutime(wchar_t const* const _FileName, struct _utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct _utimbuf) == sizeof(struct __utimbuf64));
|
|
return _wutime64(_FileName, (struct __utimbuf64*)_Time);
|
|
}
|
|
|
|
#endif
|
|
|
|
#if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES
|
|
#ifdef _USE_32BIT_TIME_T
|
|
|
|
static __inline int __CRTDECL utime(char const* const _FileName, struct utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct utimbuf) == sizeof(struct __utimbuf32));
|
|
return _utime32(_FileName, (struct __utimbuf32*)_Time);
|
|
}
|
|
|
|
#else
|
|
|
|
static __inline int __CRTDECL utime(char const* const _FileName, struct utimbuf* const _Time)
|
|
{
|
|
_STATIC_ASSERT(sizeof(struct utimbuf) == sizeof(struct __utimbuf64));
|
|
return _utime64(_FileName, (struct __utimbuf64*)_Time);
|
|
}
|
|
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
_CRT_END_C_HEADER
|
|
_UCRT_RESTORE_CLANG_WARNINGS
|
|
#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
|