MOS Source Code
|
#include "mos/ipc/ipc.h"
#include "mos/filesystem/dentry.h"
#include "mos/filesystem/sysfs/sysfs.h"
#include "mos/filesystem/sysfs/sysfs_autoinit.h"
#include "mos/filesystem/vfs_types.h"
#include "mos/ipc/pipe.h"
#include "mos/mm/slab.h"
#include "mos/mm/slab_autoinit.h"
#include "mos/platform/platform.h"
#include "mos/syslog/printk.h"
#include "mos/tasks/schedule.h"
#include "mos/tasks/signal.h"
#include "mos/tasks/wait.h"
#include <mos/filesystem/fs_types.h>
#include <mos/lib/structures/hashmap_common.h>
#include <mos/lib/structures/list.h>
#include <mos/mos_global.h>
#include <mos_stdlib.h>
#include <mos_string.h>
Go to the source code of this file.
Classes | |
struct | ipc_t |
struct | ipc_server_t |
Macros | |
#define | pr_fmt(fmt) |
#define | IPC_SERVER_MAGIC MOS_FOURCC('I', 'P', 'C', 'S') |
Variables | |
static slab_t * | ipc_server_slab = NULL |
static slab_t * | ipc_slab = NULL |
static list_head | ipc_servers = LIST_HEAD_INIT(ipc_servers) |
static hashmap_t | name_waitlist |
waitlist for an IPC server, key = name, value = waitlist_t * | |
static spinlock_t | ipc_lock = SPINLOCK_INIT |
protects ipc_servers and name_waitlist | |
static sysfs_item_t | ipc_sysfs_items [] |
#define IPC_SERVER_MAGIC MOS_FOURCC('I', 'P', 'C', 'S') |
SLAB_AUTOINIT | ( | "ipc_server" | , |
ipc_server_slab | , | ||
ipc_server_t | ) |
void ipc_server_close | ( | ipc_server_t * | server | ) |
Definition at line 73 of file ipc.c.
Referenced by ipc_control_io_close(), and vfs_ipc_file_release().
Definition at line 120 of file ipc.c.
Referenced by ipc_client_io_read(), and vfs_ipc_file_read().
Definition at line 125 of file ipc.c.
Referenced by ipc_client_io_write(), and vfs_ipc_file_write().
Definition at line 130 of file ipc.c.
Referenced by ipc_server_io_read().
Definition at line 135 of file ipc.c.
Referenced by ipc_server_io_write().
Definition at line 140 of file ipc.c.
Referenced by ipc_client_io_close(), and vfs_ipc_file_release().
Definition at line 155 of file ipc.c.
Referenced by ipc_server_io_close().
Definition at line 170 of file ipc.c.
Referenced by mos_start_kernel().
|
static |
Definition at line 411 of file ipc.c.
Referenced by ipc_server_create().
ipc_server_t * ipc_server_create | ( | const char * | name, |
size_t | max_pending ) |
Definition at line 177 of file ipc.c.
Referenced by ipc_create(), and ipc_sysfs_create_server().
ipc_server_t * ipc_get_server | ( | const char * | name | ) |
Definition at line 220 of file ipc.c.
Referenced by vfs_open_ipc().
ipc_t * ipc_server_accept | ( | ipc_server_t * | ipc_server | ) |
Definition at line 236 of file ipc.c.
Referenced by ipc_accept(), and vfs_ipc_file_read().
Definition at line 291 of file ipc.c.
Referenced by ipc_connect(), and vfs_open_ipc().
|
static |
|
static |
|
static |
Definition at line 470 of file ipc.c.
Referenced by ipc_sysfs_dump_name_waitlist().
|
static |
SYSFS_AUTOREGISTER | ( | ipc | , |
ipc_sysfs_items | ) |
Definition at line 63 of file ipc.c.
Referenced by ipc_server_create().
Definition at line 66 of file ipc.c.
Referenced by ipc_connect_to_server().
|
static |
Definition at line 69 of file ipc.c.
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 70 of file ipc.c.
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 71 of file ipc.c.
Referenced by ipc_connect_to_server(), ipc_get_server(), ipc_server_close(), ipc_server_create(), and ipc_sysfs_dump_name_waitlist().
|
static |