#ifndef __TIMEB_LOADED #define __TIMEB_LOADED 1 /**************************************************************************** ** ** - ftime() return structure definition ** ***************************************************************************** ** Header introduced by the X/Open CAE Specification, Issue 4, Version 2 ***************************************************************************** ** ** ** HPE CONFIDENTIAL. This software is confidential proprietary software ** ** licensed by Hewlett Packard Enterprise Development, LP, and is not ** ** authorized to be used, duplicated or disclosed to anyone without the ** ** prior written permission of HPE. ** ** Copyright 2003 Hewlett Packard Enterprise Development, LP ** ** ** ** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential ** ** proprietary software licensed by VMS Software, Inc., and is not ** ** authorized to be used, duplicated or disclosed to anyone without ** ** the prior written permission of VMS Software, Inc. ** ** Copyright 2022-2023 VMS Software, Inc. ** ** ** ***************************************************************************/ #pragma __nostandard #include #ifdef __cplusplus extern "C" { #endif /* ** Save the users pointer context */ #if __INITIAL_POINTER_SIZE || defined(__clang__) # pragma __required_pointer_size __save # pragma __required_pointer_size 32 #endif /* ** Member align structures */ #pragma __member_alignment __save #pragma __member_alignment /* ** Disable certain messages */ #pragma __message __save #pragma __message __disable (__MISALGNDSTRCT) #pragma __message __disable (__MISALGNDMEM) /* ** Define the time_t structure */ #ifndef __TIME_T # define __TIME_T 1 #ifdef __NAMESPACE_STD namespace std { #endif typedef __time_t time_t; #ifdef __NAMESPACE_STD } /* namespace std */ using std::time_t; #endif #endif /* ** Define the timeb structure */ #ifndef __TIMEB_STR_LOADED # define __TIMEB_STR_LOADED 1 struct timeb { __time_t time; unsigned short millitm; short timezone; short dstflag; }; #endif /* ** DEC C extensions */ #if !defined _XOPEN_SOURCE_EXTENDED && !defined __TIMEB_T # define __TIMEB_T typedef struct timeb timeb_t; #endif /* ** Function prototypes */ #if __INITIAL_POINTER_SIZE || defined(__clang__) # pragma __required_pointer_size 64 #endif /* ** Beginning in OpenVMS Version 7.0 ftime has two implementations. One ** implementation is provided for compatibility and deals with time in terms ** of local time, the other __utc_ftime deals with time in terms of UTC. */ #if __CRTL_VER >= 70000000 # if !defined _VMS_V6_SOURCE # ifdef __CAN_USE_EXTERN_PREFIX # pragma __extern_prefix __save # pragma __extern_prefix "__utc_" # else # if defined(__clang__) # define ftime __utc_ftime # else # define ftime(__p1) __utc_ftime(__p1) # endif # endif # endif #endif /* __CRTL_VER >= 70000000 */ int ftime (struct timeb *__timeptr); /* ** Disable extern_prefix if we enabled it earlier */ #if __CRTL_VER >= 70000000 # if !defined _VMS_V6_SOURCE # ifdef __CAN_USE_EXTERN_PREFIX # pragma __extern_prefix __restore # endif # endif #endif /* ** Restore the users pointer context */ #if __INITIAL_POINTER_SIZE || defined(__clang__) # pragma __required_pointer_size __restore #endif #ifdef __cplusplus } #endif #pragma __message __restore #pragma __member_alignment __restore #pragma __standard #endif /* __TIMEB_LOADED */