mirror of
https://github.com/intel/llvm.git
synced 2026-01-16 05:32:28 +08:00
Add sysexits.h header with BSD exit codes (total-18) (#126112)
This pull request adds a new header file, SysExits.h, to the LLVM project. The header includes 18 BSD exit code.
This commit is contained in:
@@ -29,6 +29,7 @@ set(TARGET_PUBLIC_HEADERS
|
||||
libc.include.sys_socket
|
||||
libc.include.sys_syscall
|
||||
libc.include.sys_time
|
||||
libc.include.sysexits
|
||||
libc.include.sys_wait
|
||||
libc.include.threads
|
||||
libc.include.time
|
||||
|
||||
@@ -50,6 +50,7 @@ set(TARGET_PUBLIC_HEADERS
|
||||
libc.include.sys_types
|
||||
libc.include.sys_utsname
|
||||
libc.include.sys_wait
|
||||
libc.include.sysexits
|
||||
libc.include.termios
|
||||
libc.include.threads
|
||||
libc.include.time
|
||||
|
||||
@@ -168,6 +168,16 @@ add_header_macro(
|
||||
.llvm-libc-types.stdfix-types
|
||||
)
|
||||
|
||||
|
||||
add_header_macro(
|
||||
sysexits
|
||||
../libc/include/sysexits.yaml
|
||||
sysexits.h
|
||||
DEPENDS
|
||||
.llvm-libc-macros.sysexits_macros
|
||||
)
|
||||
|
||||
|
||||
# TODO: This should be conditional on POSIX networking being included.
|
||||
file(MAKE_DIRECTORY ${LIBC_INCLUDE_DIR}/arpa)
|
||||
|
||||
|
||||
@@ -343,3 +343,10 @@ add_macro_header(
|
||||
HDR
|
||||
EFIAPI-macros.h
|
||||
)
|
||||
|
||||
add_macro_header(
|
||||
sysexits_macros
|
||||
HDR
|
||||
sysexits-macros.h
|
||||
)
|
||||
|
||||
|
||||
29
libc/include/llvm-libc-macros/sysexits-macros.h
Normal file
29
libc/include/llvm-libc-macros/sysexits-macros.h
Normal file
@@ -0,0 +1,29 @@
|
||||
//===-- Macros defined in sysexits.h header file --------------------------===//
|
||||
//
|
||||
// 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
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef SYSEXITS_MACROS_H
|
||||
#define SYSEXITS_MACROS_H
|
||||
|
||||
#define EX_OK 0 // Successful termination
|
||||
#define EX_USAGE 64 // Command line usage error
|
||||
#define EX_DATAERR 65 // Data format error
|
||||
#define EX_NOINPUT 66 // Cannot open input
|
||||
#define EX_NOUSER 67 // Addressee unknown
|
||||
#define EX_NOHOST 68 // Host name unknown
|
||||
#define EX_UNAVAILABLE 69 // Service unavailable
|
||||
#define EX_SOFTWARE 70 // Internal software error
|
||||
#define EX_OSERR 71 // Operating system error
|
||||
#define EX_OSFILE 72 // System file error
|
||||
#define EX_CANTCREAT 73 // Cannot create (user) output file
|
||||
#define EX_IOERR 74 // Input/output error
|
||||
#define EX_TEMPFAIL 75 // Temporary failure, try again
|
||||
#define EX_PROTOCOL 76 // Remote protocol error
|
||||
#define EX_NOPERM 77 // Permission denied
|
||||
#define EX_CONFIG 78 // Configuration error
|
||||
|
||||
#endif // SYSEXITS_MACROS_H
|
||||
17
libc/include/sysexits.h.def
Normal file
17
libc/include/sysexits.h.def
Normal file
@@ -0,0 +1,17 @@
|
||||
//===-- POSIX header sysexits.h -----------------------------------------===//
|
||||
//
|
||||
// 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
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#ifndef LLVM_LIBC_SYSEXITS_H
|
||||
#define LLVM_LIBC_SYSEXITS_H
|
||||
|
||||
#include "__llvm-libc-common.h"
|
||||
#include "llvm-libc-macros/sysexits-macros.h"
|
||||
|
||||
%%public_api()
|
||||
|
||||
#endif // LLVM_LIBC_SYSEXITS_H
|
||||
|
||||
10
libc/include/sysexits.yaml
Normal file
10
libc/include/sysexits.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
header: sysexits.h
|
||||
header_template: sysexits.h.def
|
||||
standards:
|
||||
- BSDExtensions
|
||||
- GNUExtensions
|
||||
macros: []
|
||||
types: []
|
||||
enums: []
|
||||
objects: []
|
||||
functions: []
|
||||
Reference in New Issue
Block a user