![]() |
MOS Source Code
|
#include "mos/ipc/ipc.hpp"
#include "mos/filesystem/dentry.hpp"
#include "mos/filesystem/sysfs/sysfs.hpp"
#include "mos/filesystem/sysfs/sysfs_autoinit.hpp"
#include "mos/filesystem/vfs_types.hpp"
#include "mos/ipc/pipe.hpp"
#include "mos/lib/sync/spinlock.hpp"
#include "mos/platform/platform.hpp"
#include "mos/syslog/printk.hpp"
#include "mos/tasks/schedule.hpp"
#include "mos/tasks/signal.hpp"
#include "mos/tasks/wait.hpp"
#include <mos/allocator.hpp>
#include <mos/filesystem/fs_types.h>
#include <mos/lib/structures/hashmap_common.hpp>
#include <mos/lib/structures/list.hpp>
#include <mos/mos_global.h>
#include <mos_stdlib.hpp>
#include <mos_string.hpp>
Go to the source code of this file.
Classes | |
struct | IPCDescriptor |
struct | IPCServer |
Macros | |
#define | pr_fmt(fmt) |
#define | IPC_SERVER_MAGIC MOS_FOURCC('I', 'P', 'C', 'S') |
Variables | |
static list_head | ipc_servers |
static hashmap_t | name_waitlist |
waitlist for an IPC server, key = name, value = waitlist_t * | |
static spinlock_t | ipc_lock |
protects ipc_servers and name_waitlist | |
static sysfs_item_t | ipc_sysfs_items [] |
#define IPC_SERVER_MAGIC MOS_FOURCC('I', 'P', 'C', 'S') |
Definition at line 88 of file ipc.cpp.
Referenced by ipc_control_io_close(), ipc_create(), and vfs_ipc_file_release().
size_t ipc_client_read | ( | IPCDescriptor * | ipc, |
void * | buf, | ||
size_t | size ) |
Definition at line 133 of file ipc.cpp.
Referenced by ipc_client_io_read(), and vfs_ipc_file_read().
size_t ipc_client_write | ( | IPCDescriptor * | ipc, |
const void * | buf, | ||
size_t | size ) |
Definition at line 138 of file ipc.cpp.
Referenced by ipc_client_io_write(), and vfs_ipc_file_write().
size_t ipc_server_read | ( | IPCDescriptor * | ipc, |
void * | buf, | ||
size_t | size ) |
Definition at line 143 of file ipc.cpp.
Referenced by ipc_server_io_read().
size_t ipc_server_write | ( | IPCDescriptor * | ipc, |
const void * | buf, | ||
size_t | size ) |
Definition at line 148 of file ipc.cpp.
Referenced by ipc_server_io_write().
void ipc_client_close_channel | ( | IPCDescriptor * | ipc | ) |
Definition at line 153 of file ipc.cpp.
Referenced by ipc_client_io_close(), and vfs_ipc_file_release().
void ipc_server_close_channel | ( | IPCDescriptor * | ipc | ) |
Definition at line 167 of file ipc.cpp.
Referenced by ipc_server_io_close().
Definition at line 181 of file ipc.cpp.
Referenced by mos_start_kernel().
Definition at line 422 of file ipc.cpp.
Referenced by ipc_server_create().
PtrResult< IPCServer > ipc_server_create | ( | mos::string_view | name, |
size_t | max_pending ) |
Definition at line 188 of file ipc.cpp.
Referenced by ipc_create(), and ipc_sysfs_create_server().
PtrResult< IPCServer > ipc_get_server | ( | mos::string_view | name | ) |
Definition at line 224 of file ipc.cpp.
Referenced by vfs_open_ipc().
PtrResult< IPCDescriptor > ipc_server_accept | ( | IPCServer * | ipc_server | ) |
Definition at line 236 of file ipc.cpp.
Referenced by ipc_accept(), and vfs_ipc_file_read().
PtrResult< IPCDescriptor > ipc_connect_to_server | ( | mos::string_view | name, |
size_t | buffer_size ) |
Definition at line 305 of file ipc.cpp.
Referenced by ipc_connect(), and vfs_open_ipc().
|
static |
|
static |
|
static |
Definition at line 480 of file ipc.cpp.
Referenced by ipc_sysfs_dump_name_waitlist().
|
static |
SYSFS_AUTOREGISTER | ( | ipc | , |
ipc_sysfs_items | ) |
|
static |
Definition at line 84 of file ipc.cpp.
Referenced by ipc_connect_to_server(), ipc_get_server(), ipc_server_create(), ipc_sysfs_list_ipcs(), ipc_sysfs_lookup_ipc(), and ipc_sysfs_servers().
|
static |
waitlist for an IPC server, key = name, value = waitlist_t *
Definition at line 85 of file ipc.cpp.
Referenced by ipc_connect_to_server(), ipc_init(), ipc_server_close(), ipc_server_create(), and ipc_sysfs_dump_name_waitlist().
|
static |
protects ipc_servers and name_waitlist
Definition at line 86 of file ipc.cpp.
Referenced by ipc_connect_to_server(), ipc_get_server(), ipc_server_close(), ipc_server_create(), and ipc_sysfs_dump_name_waitlist().
|
static |
Definition at line 504 of file ipc.cpp.
Referenced by SYSFS_AUTOREGISTER().