1*71db0c75SAndroid Build Coastguard Worker //===-- Definition of RPC opcodes -----------------------------------------===// 2*71db0c75SAndroid Build Coastguard Worker // 3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information. 5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*71db0c75SAndroid Build Coastguard Worker // 7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 8*71db0c75SAndroid Build Coastguard Worker 9*71db0c75SAndroid Build Coastguard Worker #ifndef LLVM_LIBC_SHARED_RPC_OPCODES_H 10*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_SHARED_RPC_OPCODES_H 11*71db0c75SAndroid Build Coastguard Worker 12*71db0c75SAndroid Build Coastguard Worker #include "rpc.h" 13*71db0c75SAndroid Build Coastguard Worker 14*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_RPC_BASE 'c' 15*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_OPCODE(n) (LLVM_LIBC_RPC_BASE << 24 | n) 16*71db0c75SAndroid Build Coastguard Worker 17*71db0c75SAndroid Build Coastguard Worker typedef enum { 18*71db0c75SAndroid Build Coastguard Worker RPC_NOOP = LLVM_LIBC_OPCODE(0), 19*71db0c75SAndroid Build Coastguard Worker RPC_EXIT = LLVM_LIBC_OPCODE(1), 20*71db0c75SAndroid Build Coastguard Worker RPC_WRITE_TO_STDOUT = LLVM_LIBC_OPCODE(2), 21*71db0c75SAndroid Build Coastguard Worker RPC_WRITE_TO_STDERR = LLVM_LIBC_OPCODE(3), 22*71db0c75SAndroid Build Coastguard Worker RPC_WRITE_TO_STREAM = LLVM_LIBC_OPCODE(4), 23*71db0c75SAndroid Build Coastguard Worker RPC_WRITE_TO_STDOUT_NEWLINE = LLVM_LIBC_OPCODE(5), 24*71db0c75SAndroid Build Coastguard Worker RPC_READ_FROM_STREAM = LLVM_LIBC_OPCODE(6), 25*71db0c75SAndroid Build Coastguard Worker RPC_READ_FGETS = LLVM_LIBC_OPCODE(7), 26*71db0c75SAndroid Build Coastguard Worker RPC_OPEN_FILE = LLVM_LIBC_OPCODE(8), 27*71db0c75SAndroid Build Coastguard Worker RPC_CLOSE_FILE = LLVM_LIBC_OPCODE(9), 28*71db0c75SAndroid Build Coastguard Worker RPC_MALLOC = LLVM_LIBC_OPCODE(10), 29*71db0c75SAndroid Build Coastguard Worker RPC_FREE = LLVM_LIBC_OPCODE(11), 30*71db0c75SAndroid Build Coastguard Worker RPC_HOST_CALL = LLVM_LIBC_OPCODE(12), 31*71db0c75SAndroid Build Coastguard Worker RPC_ABORT = LLVM_LIBC_OPCODE(13), 32*71db0c75SAndroid Build Coastguard Worker RPC_FEOF = LLVM_LIBC_OPCODE(14), 33*71db0c75SAndroid Build Coastguard Worker RPC_FERROR = LLVM_LIBC_OPCODE(15), 34*71db0c75SAndroid Build Coastguard Worker RPC_CLEARERR = LLVM_LIBC_OPCODE(16), 35*71db0c75SAndroid Build Coastguard Worker RPC_FSEEK = LLVM_LIBC_OPCODE(17), 36*71db0c75SAndroid Build Coastguard Worker RPC_FTELL = LLVM_LIBC_OPCODE(18), 37*71db0c75SAndroid Build Coastguard Worker RPC_FFLUSH = LLVM_LIBC_OPCODE(19), 38*71db0c75SAndroid Build Coastguard Worker RPC_UNGETC = LLVM_LIBC_OPCODE(20), 39*71db0c75SAndroid Build Coastguard Worker RPC_PRINTF_TO_STDOUT = LLVM_LIBC_OPCODE(21), 40*71db0c75SAndroid Build Coastguard Worker RPC_PRINTF_TO_STDERR = LLVM_LIBC_OPCODE(22), 41*71db0c75SAndroid Build Coastguard Worker RPC_PRINTF_TO_STREAM = LLVM_LIBC_OPCODE(23), 42*71db0c75SAndroid Build Coastguard Worker RPC_PRINTF_TO_STDOUT_PACKED = LLVM_LIBC_OPCODE(24), 43*71db0c75SAndroid Build Coastguard Worker RPC_PRINTF_TO_STDERR_PACKED = LLVM_LIBC_OPCODE(25), 44*71db0c75SAndroid Build Coastguard Worker RPC_PRINTF_TO_STREAM_PACKED = LLVM_LIBC_OPCODE(26), 45*71db0c75SAndroid Build Coastguard Worker RPC_REMOVE = LLVM_LIBC_OPCODE(27), 46*71db0c75SAndroid Build Coastguard Worker RPC_RENAME = LLVM_LIBC_OPCODE(28), 47*71db0c75SAndroid Build Coastguard Worker RPC_SYSTEM = LLVM_LIBC_OPCODE(29), 48*71db0c75SAndroid Build Coastguard Worker RPC_LAST = 0xFFFFFFFF, 49*71db0c75SAndroid Build Coastguard Worker } rpc_opcode_t; 50*71db0c75SAndroid Build Coastguard Worker 51*71db0c75SAndroid Build Coastguard Worker #undef LLVM_LIBC_OPCODE 52*71db0c75SAndroid Build Coastguard Worker 53*71db0c75SAndroid Build Coastguard Worker namespace rpc { 54*71db0c75SAndroid Build Coastguard Worker // The implementation of this function currently lives in the utility directory 55*71db0c75SAndroid Build Coastguard Worker // at 'utils/gpu/server/rpc_server.cpp'. 56*71db0c75SAndroid Build Coastguard Worker rpc::Status handle_libc_opcodes(rpc::Server::Port &port, uint32_t num_lanes); 57*71db0c75SAndroid Build Coastguard Worker } // namespace rpc 58*71db0c75SAndroid Build Coastguard Worker 59*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_SHARED_RPC_OPCODES_H 60