| //===-- Definition of RPC opcodes -----------------------------------------===// | |
| // | |
| // 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_SHARED_RPC_OPCODES_H | |
| #define LLVM_LIBC_SHARED_RPC_OPCODES_H | |
| #include "rpc.h" | |
| #define LLVM_LIBC_RPC_BASE 'c' | |
| #define LLVM_LIBC_OPCODE(n) (((LLVM_LIBC_RPC_BASE << 24) | n)) | |
| typedef enum { | |
| LIBC_NOOP = LLVM_LIBC_OPCODE(0), | |
| LIBC_EXIT = LLVM_LIBC_OPCODE(1), | |
| LIBC_WRITE_TO_STDOUT = LLVM_LIBC_OPCODE(2), | |
| LIBC_WRITE_TO_STDERR = LLVM_LIBC_OPCODE(3), | |
| LIBC_WRITE_TO_STREAM = LLVM_LIBC_OPCODE(4), | |
| LIBC_WRITE_TO_STDOUT_NEWLINE = LLVM_LIBC_OPCODE(5), | |
| LIBC_READ_FROM_STREAM = LLVM_LIBC_OPCODE(6), | |
| LIBC_READ_FGETS = LLVM_LIBC_OPCODE(7), | |
| LIBC_OPEN_FILE = LLVM_LIBC_OPCODE(8), | |
| LIBC_CLOSE_FILE = LLVM_LIBC_OPCODE(9), | |
| LIBC_MALLOC = LLVM_LIBC_OPCODE(10), | |
| LIBC_FREE = LLVM_LIBC_OPCODE(11), | |
| LIBC_HOST_CALL = LLVM_LIBC_OPCODE(12), | |
| LIBC_ABORT = LLVM_LIBC_OPCODE(13), | |
| LIBC_FEOF = LLVM_LIBC_OPCODE(14), | |
| LIBC_FERROR = LLVM_LIBC_OPCODE(15), | |
| LIBC_CLEARERR = LLVM_LIBC_OPCODE(16), | |
| LIBC_FSEEK = LLVM_LIBC_OPCODE(17), | |
| LIBC_FTELL = LLVM_LIBC_OPCODE(18), | |
| LIBC_FFLUSH = LLVM_LIBC_OPCODE(19), | |
| LIBC_UNGETC = LLVM_LIBC_OPCODE(20), | |
| LIBC_PRINTF_TO_STDOUT = LLVM_LIBC_OPCODE(21), | |
| LIBC_PRINTF_TO_STDERR = LLVM_LIBC_OPCODE(22), | |
| LIBC_PRINTF_TO_STREAM = LLVM_LIBC_OPCODE(23), | |
| LIBC_PRINTF_TO_STDOUT_PACKED = LLVM_LIBC_OPCODE(24), | |
| LIBC_PRINTF_TO_STDERR_PACKED = LLVM_LIBC_OPCODE(25), | |
| LIBC_PRINTF_TO_STREAM_PACKED = LLVM_LIBC_OPCODE(26), | |
| LIBC_REMOVE = LLVM_LIBC_OPCODE(27), | |
| LIBC_RENAME = LLVM_LIBC_OPCODE(28), | |
| LIBC_SYSTEM = LLVM_LIBC_OPCODE(29), | |
| // Internal opcodes for testing. | |
| LIBC_TEST_INCREMENT = LLVM_LIBC_OPCODE((1 << 15)), | |
| LIBC_TEST_INTERFACE = LLVM_LIBC_OPCODE(((1 << 15) + 1)), | |
| LIBC_TEST_STREAM = LLVM_LIBC_OPCODE(((1 << 15) + 2)), | |
| LIBC_LAST = 0xFFFFFFFF, | |
| } rpc_opcode_t; | |
| #undef LLVM_LIBC_RPC_BASE | |
| #undef LLVM_LIBC_OPCODE | |
| #endif // LLVM_LIBC_SHARED_RPC_OPCODES_H |