xref: /aosp_15_r20/external/llvm-libc/libc/shared/rpc_opcodes.h (revision 71db0c75aadcf003ffe3238005f61d7618a3fead)
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