![]() |
MOS Source Code
|
#include "mos/ipc/ipc.hpp"#include "mos/filesystem/dentry.hpp"#include "mos/filesystem/inode.hpp"#include "mos/filesystem/sysfs/sysfs.hpp"#include "mos/filesystem/sysfs/sysfs_autoinit.hpp"#include "mos/filesystem/vfs_types.hpp"#include "mos/filesystem/vfs_utils.hpp"#include "mos/ipc/pipe.hpp"#include "mos/lib/sync/spinlock.hpp"#include "mos/platform/platform.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 | 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 87 of file ipc.cpp.
Referenced by ipc_create(), IPC_ControlIO::on_closed(), and vfs_ipc_file_release().
| size_t ipc_client_read | ( | IpcDescriptor * | ipc, |
| void * | buf, | ||
| size_t | size ) |
Definition at line 143 of file ipc.cpp.
Referenced by IpcClientIO::on_read(), and vfs_ipc_file_read().
| size_t ipc_client_write | ( | IpcDescriptor * | ipc, |
| const void * | buf, | ||
| size_t | size ) |
Definition at line 148 of file ipc.cpp.
Referenced by IpcClientIO::on_write(), and vfs_ipc_file_write().
| size_t ipc_server_read | ( | IpcDescriptor * | ipc, |
| void * | buf, | ||
| size_t | size ) |
Definition at line 153 of file ipc.cpp.
Referenced by IpcServerIO::on_read().
| size_t ipc_server_write | ( | IpcDescriptor * | ipc, |
| const void * | buf, | ||
| size_t | size ) |
Definition at line 158 of file ipc.cpp.
Referenced by IpcServerIO::on_write().
| void ipc_client_close_channel | ( | IpcDescriptor * | ipc | ) |
Definition at line 163 of file ipc.cpp.
Referenced by IpcClientIO::on_closed(), and vfs_ipc_file_release().
| void ipc_server_close_channel | ( | IpcDescriptor * | ipc | ) |
Definition at line 177 of file ipc.cpp.
Referenced by IpcServerIO::on_closed().
Definition at line 191 of file ipc.cpp.
Referenced by mos_start_kernel().
Definition at line 432 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 198 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 234 of file ipc.cpp.
Referenced by vfs_open_ipc().
| PtrResult< IpcDescriptor > ipc_server_accept | ( | IPCServer * | ipc_server | ) |
Definition at line 246 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 315 of file ipc.cpp.
Referenced by ipc_connect(), and vfs_open_ipc().
|
static |
|
static |
|
static |
Definition at line 490 of file ipc.cpp.
Referenced by ipc_sysfs_dump_name_waitlist().
|
static |
| SYSFS_AUTOREGISTER | ( | ipc | , |
| ipc_sysfs_items | ) |
| dentry_t * ipc_get_sysfs_dir | ( | ) |
Definition at line 522 of file ipc.cpp.
Referenced by ipc_server_close().
|
static |
Definition at line 83 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 84 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 85 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 514 of file ipc.cpp.
Referenced by SYSFS_AUTOREGISTER().