#ifndef __TYPES_LOADED #define __TYPES_LOADED 1 /**************************************************************************** ** ** - Standard Type Definitions ** ***************************************************************************** ** Header introduced by the ISO POSIX-1 Standard ***************************************************************************** ** * ** 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 /* ** Public typedefs */ /* ** ISO POSIX-1 typedefs */ /* ** Used for device IDs. */ #if !defined __DEV_T && !defined _DECC_V4_SOURCE # define __DEV_T 1 typedef __dev_t dev_t; #endif /* ** Used for group IDs. */ #if !defined __GID_T && !defined _DECC_V4_SOURCE # define __GID_T 1 typedef __gid_t gid_t; #endif /* ** Used for file serial numbers. */ #if !defined __INO_T && !defined _DECC_V4_SOURCE # define __INO_T 1 typedef __ino_t ino_t; #endif /* ** Used for some file attributes. */ #if !defined __MODE_T && !defined _DECC_V4_SOURCE # define __MODE_T 1 typedef __mode_t mode_t; #endif /* ** Used for link counts. */ #if !defined __NLINK_T && !defined _DECC_V4_SOURCE # define __NLINK_T 1 typedef __nlink_t nlink_t; #endif /* ** Used for file sizes. */ #if !defined __OFF_T && !defined _DECC_V4_SOURCE # define __OFF_T 1 typedef __off_t off_t; #endif /* ** Used for process IDs and process group IDs. */ #if !defined __PID_T && !defined _DECC_V4_SOURCE # define __PID_T 1 typedef __pid_t pid_t; #endif /* ** Used for sizes of objects. */ #if !defined __SIZE_T && !defined _DECC_V4_SOURCE # define __SIZE_T 1 #ifdef __NAMESPACE_STD namespace std { #endif typedef __size_t size_t; #ifdef __NAMESPACE_STD } /* namespace std */ using std::size_t; #endif #endif /* ** Used for a count of bytes or an error indication. */ #if !defined __SSIZE_T && !defined _DECC_V4_SOURCE # define __SSIZE_T 1 typedef __ssize_t ssize_t; #endif /* ** Used for user IDs. */ #if !defined __UID_T && !defined _DECC_V4_SOURCE # define __UID_T 1 typedef __uid_t uid_t; #endif /* ** X/Open XPG4 typedefs, also defined in DECC V4 */ #if defined _XOPEN_SOURCE || !defined _POSIX_C_SOURCE /* ** Used for time in seconds. */ # 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 #endif /* ** X/Open XPG4 typedefs, new in DEC C V5.n */ #if defined _XOPEN_SOURCE || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE) /* ** Used for system times in clock ticks or CLOCKS_PER_SEC. */ # ifndef __CLOCK_T # define __CLOCK_T 1 #ifdef __NAMESPACE_STD namespace std { #endif # if defined(__clang__) typedef int clock_t; # else typedef long int clock_t; # endif #ifdef __NAMESPACE_STD } /* namespace std */ using std::clock_t; #endif # endif /* ** Used for interprocess communication. */ # ifndef __KEY_T # define __KEY_T 1 typedef __key_t key_t; # endif #endif /* ** X/Open extended (XPG4) typedefs */ #if defined _XOPEN_SOURCE_EXTENDED || (!defined _POSIX_C_SOURCE && !defined _DECC_V4_SOURCE) /* ** Used as a general identifier; can be used to contain at least a pid_t, uid_t or gid_t. */ # ifndef __ID_T # define __ID_T typedef __id_t id_t; # endif /* ** Used for time in microseconds. */ # ifndef __USECONDS_T # define __USECONDS_T typedef __useconds_t useconds_t; # endif #endif /* ** Define non-standard socket compatible typedefs for BSD portability */ #ifndef _POSIX_C_SOURCE # if !defined(__CADDR_T) && !defined(CADDR_T) && !defined(_DECC_V4_SOURCE) # define __CADDR_T 1 # if !defined __HIDE_FORBIDDEN_NAMES # define CADDR_T 1 # endif typedef __caddr_t caddr_t; # endif # ifndef __SOCKET_TYPEDEFS # define __SOCKET_TYPEDEFS 1 typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned long u_long; # endif # if !defined __U_INT && !defined _DECC_V4_SOURCE # define __U_INT typedef __u_int u_int; # endif # ifndef _DECC_V4_SOURCE typedef volatile char v_char; typedef volatile short v_short; typedef volatile long v_long; typedef volatile u_char vu_char; typedef volatile u_short vu_short; typedef volatile u_long vu_long; typedef u_char uchar; /* For System III & V portability */ typedef u_short ushort; typedef __u_int uint; typedef u_long ulong; # endif #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __TYPES_LOADED */