Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers utime.h Source File

utime.h

00001 /*
00002  * utime.h
00003  * This file has no copyright assigned and is placed in the Public Domain.
00004  * This file is a part of the mingw-runtime package.
00005  * No warranty is given; refer to the file DISCLAIMER within the package.
00006  *
00007  * Support for the utime function.
00008  *
00009  */
00010 #ifndef _UTIME_H_
00011 #define _UTIME_H_
00012 
00013 /* All the headers include this file. */
00014 #include <_mingw.h>
00015 
00016 #define __need_wchar_t
00017 #define __need_size_t
00018 #ifndef RC_INVOKED
00019 #include <stddef.h>
00020 #endif  /* Not RC_INVOKED */
00021 #include <sys/types.h>
00022 
00023 #ifndef RC_INVOKED
00024 
00025 /*
00026  * Structure used by _utime function.
00027  */
00028 struct _utimbuf
00029 {
00030     time_t  actime;     /* Access time */
00031     time_t  modtime;    /* Modification time */
00032 };
00033 #if __MSVCRT_VERSION__ >= 0x0800
00034 struct __utimbuf32
00035 {
00036     __time32_t actime;
00037     __time32_t modtime;
00038 };
00039 #endif /* __MSVCRT_VERSION__ >= 0x0800 */
00040 
00041 
00042 #ifndef _NO_OLDNAMES
00043 /* NOTE: Must be the same as _utimbuf above. */
00044 struct utimbuf
00045 {
00046     time_t  actime;
00047     time_t  modtime;
00048 };
00049 #endif  /* Not _NO_OLDNAMES */
00050 
00051 #ifdef  __cplusplus
00052 extern "C" {
00053 #endif
00054 
00055 #if __MSVCRT_VERSION__ < 0x0800
00056 _CRTIMP int __cdecl __MINGW_NOTHROW _utime (const char*, struct _utimbuf*);
00057 #endif
00058 
00059 #ifndef _NO_OLDNAMES
00060 /* FIXME for __MSVCRT_VERSION__ >= 0x0800 */
00061 _CRTIMP int __cdecl __MINGW_NOTHROW utime (const char*, struct utimbuf*);
00062 #endif  /* Not _NO_OLDNAMES */
00063 
00064 #if __MSVCRT_VERSION__ < 0x0800
00065 _CRTIMP int __cdecl __MINGW_NOTHROW _futime (int, struct _utimbuf*);
00066 #endif
00067 
00068 /* The wide character version, only available for MSVCRT versions of the
00069  * C runtime library. */
00070 #ifdef __MSVCRT__
00071 #if __MSVCRT_VERSION__ < 0x0800
00072 _CRTIMP int __cdecl __MINGW_NOTHROW _wutime (const wchar_t*, struct _utimbuf*);
00073 #endif
00074 #endif /* MSVCRT runtime */
00075 
00076 /* These require newer versions of msvcrt.dll (6.10 or higher).  */ 
00077 #if __MSVCRT_VERSION__ >= 0x0601
00078 struct __utimbuf64
00079 {
00080     __time64_t actime;
00081     __time64_t modtime;
00082 };
00083 
00084 _CRTIMP int __cdecl __MINGW_NOTHROW _utime64 (const char*, struct __utimbuf64*);
00085 _CRTIMP int __cdecl __MINGW_NOTHROW _wutime64 (const wchar_t*, struct __utimbuf64*);
00086 _CRTIMP int __cdecl __MINGW_NOTHROW _futime64 (int, struct __utimbuf64*);
00087 #endif /* __MSVCRT_VERSION__ >= 0x0601 */
00088 
00089 #if __MSVCRT_VERSION__ >= 0x0800
00090 _CRTIMP int __cdecl __MINGW_NOTHROW _utime32 (const char*, struct __utimbuf32*);
00091 _CRTIMP int __cdecl __MINGW_NOTHROW _wutime32 (const wchar_t*, struct __utimbuf32*);
00092 _CRTIMP int __cdecl __MINGW_NOTHROW _futime32 (int, struct __utimbuf32*);
00093 #ifndef _USE_32BIT_TIME_T
00094 _CRTALIAS int __cdecl __MINGW_NOTHROW   _utime (const char* _v1, struct _utimbuf* _v2)     { return(_utime64  (_v1,(struct __utimbuf64*)_v2)); }
00095 _CRTALIAS int __cdecl __MINGW_NOTHROW   _wutime (const wchar_t* _v1, struct _utimbuf* _v2) { return(_wutime64 (_v1,(struct __utimbuf64*)_v2)); }
00096 _CRTALIAS int __cdecl __MINGW_NOTHROW   _futime (int _v1, struct _utimbuf* _v2)        { return(_futime64 (_v1,(struct __utimbuf64*)_v2)); }
00097 #else
00098 _CRTALIAS int __cdecl __MINGW_NOTHROW   _utime (const char* _v1, struct _utimbuf* _v2)     { return(_utime32  (_v1,(struct __utimbuf32*)_v2)); }
00099 _CRTALIAS int __cdecl __MINGW_NOTHROW   _wutime (const wchar_t* _v1, struct _utimbuf* _v2) { return(_wutime32 (_v1,(struct __utimbuf32*)_v2)); }
00100 _CRTALIAS int __cdecl __MINGW_NOTHROW   _futime (int _v1, struct _utimbuf* _v2)        { return(_futime32 (_v1,(struct __utimbuf32*)_v2)); }
00101 #endif
00102 #endif /* __MSVCRT_VERSION__ >= 0x0800 */
00103 
00104 #ifdef  __cplusplus
00105 }
00106 #endif
00107 
00108 #endif  /* Not RC_INVOKED */
00109 
00110 #endif  /* Not _UTIME_H_ */