Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
include
/
llvm
/
Support
/
SystemZ
Upload
3 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
zOSSupport.h
1.58 KB
-rw-r--r--
2025-01-14 09:41:02
Edit
Del
Editing: zOSSupport.h
(1.58 KB)
Path: /usr/include/llvm/Support/SystemZ/zOSSupport.h
Back
//===- zOSSupport.h - Common z/OS Include File ------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines z/OS implementations for common functions. // //===----------------------------------------------------------------------===// #ifndef LLVM_SUPPORT_ZOSSUPPORT_H #define LLVM_SUPPORT_ZOSSUPPORT_H #ifdef __MVS__ #include <sys/resource.h> #include <sys/wait.h> // z/OS Unix System Services does not have strsignal() support, so the // strsignal() function is implemented here. inline char *strsignal(int sig) { static char msg[256]; sprintf(msg, "%d", sig); return msg; } // z/OS Unix System Services does not have wait4() support, so the wait4 // function is implemented here. inline pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage) { pid_t Result = waitpid(pid, wstatus, options); int GetrusageRC = getrusage(RUSAGE_CHILDREN, rusage); assert(!GetrusageRC && "Must have valid measure of the resources!"); return Result; } // z/OS Unix System Services does not have strnlen() support, so the strnlen() // function is implemented here. inline std::size_t strnlen(const char *S, std::size_t MaxLen) { const char *PtrToNullChar = static_cast<const char *>(std::memchr(S, '\0', MaxLen)); return PtrToNullChar ? PtrToNullChar - S : MaxLen; } #endif #endif