/** * \file * \brief RPC Bindings for AOS */ /* * Copyright (c) 2013-2016, ETH Zurich. * All rights reserved. * * This file is distributed under the terms in the attached license file. * if you do not find this file, copies can be found by writing to: * ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. attn: systems group. */ #include #include errval_t aos_rpc_send_number(struct aos_rpc *rpc, uintptr_t num) { // TODO: implement functionality to send a number over the channel // given channel and wait until the ack gets returned. return SYS_ERR_OK; } errval_t aos_rpc_send_string(struct aos_rpc *rpc, const char *string) { // TODO: implement functionality to send a string over the given channel // and wait for a response. return SYS_ERR_OK; } errval_t aos_rpc_get_ram_cap(struct aos_rpc *rpc, size_t bytes, size_t alignment, struct capref *ret_cap, size_t *ret_bytes) { // TODO: implement functionality to request a RAM capability over the // given channel and wait until it is delivered. return SYS_ERR_OK; } errval_t aos_rpc_serial_getchar(struct aos_rpc *rpc, char *retc) { // TODO implement functionality to request a character from // the serial driver. return SYS_ERR_OK; } errval_t aos_rpc_serial_putchar(struct aos_rpc *rpc, char c) { // TODO implement functionality to send a character to the // serial port. return SYS_ERR_OK; } errval_t aos_rpc_process_spawn(struct aos_rpc *rpc, char *cmdline, coreid_t core, domainid_t *newpid) { // TODO: implement spawn new process rpc return SYS_ERR_OK; } errval_t aos_rpc_process_get_name(struct aos_rpc *rpc, domainid_t pid, char **name) { // TODO: implement name lookup for process given a process id return SYS_ERR_OK; } errval_t aos_rpc_process_get_all_pids(struct aos_rpc *rpc, domainid_t **pids, size_t *pid_count) { // TODO: implement process id discovery return SYS_ERR_OK; } /** * \brief Returns the RPC channel to init. */ struct aos_rpc *aos_rpc_get_init_channel(void) { //TODO: Return channel to talk to init process debug_printf("aos_rpc_get_init_channel NYI\n"); return NULL; } /** * \brief Returns the channel to the memory server */ struct aos_rpc *aos_rpc_get_memory_channel(void) { //TODO: Return channel to talk to memory server process (or whoever //implements memory server functionality) debug_printf("aos_rpc_get_memory_channel NYI\n"); return NULL; } /** * \brief Returns the channel to the process manager */ struct aos_rpc *aos_rpc_get_process_channel(void) { //TODO: Return channel to talk to process server process (or whoever //implements process server functionality) debug_printf("aos_rpc_get_process_channel NYI\n"); return NULL; } /** * \brief Returns the channel to the serial console */ struct aos_rpc *aos_rpc_get_serial_channel(void) { //TODO: Return channel to talk to serial driver/terminal process (whoever //implements print/read functionality) debug_printf("aos_rpc_get_serial_channel NYI\n"); return NULL; }