1ec0e6ef0SJoseph Huber //===-- Implementation of remove ------------------------------------------===// 2ec0e6ef0SJoseph Huber // 3ec0e6ef0SJoseph Huber // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4ec0e6ef0SJoseph Huber // See https://llvm.org/LICENSE.txt for license information. 5ec0e6ef0SJoseph Huber // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6ec0e6ef0SJoseph Huber // 7ec0e6ef0SJoseph Huber //===----------------------------------------------------------------------===// 8ec0e6ef0SJoseph Huber 9ec0e6ef0SJoseph Huber #include "src/stdio/remove.h" 10ec0e6ef0SJoseph Huber #include "file.h" 115ff3ff33SPetr Hosek #include "src/__support/macros/config.h" 12ec0e6ef0SJoseph Huber 135aed6d67SMichael Jones #include "hdr/types/FILE.h" 14ec0e6ef0SJoseph Huber 155ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL { 16ec0e6ef0SJoseph Huber 17ec0e6ef0SJoseph Huber LLVM_LIBC_FUNCTION(int, remove, (const char *path)) { 18ec0e6ef0SJoseph Huber int ret; 19*a6ef0debSJoseph Huber rpc::Client::Port port = rpc::client.open<LIBC_REMOVE>(); 20ec0e6ef0SJoseph Huber port.send_n(path, internal::string_length(path) + 1); 21be0c67c9SJoseph Huber port.recv([&](rpc::Buffer *buffer, uint32_t) { 22be0c67c9SJoseph Huber ret = static_cast<int>(buffer->data[0]); 23be0c67c9SJoseph Huber }); 24ec0e6ef0SJoseph Huber port.close(); 25ec0e6ef0SJoseph Huber return ret; 26ec0e6ef0SJoseph Huber } 27ec0e6ef0SJoseph Huber 285ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL 29