Go to the source code of this file.
|
| static void | socket_free (socket_t *socket) |
| |
| static socket_t * | socket_new (netfs_family_t *family, socket_type_t type) |
| |
| static uint64_t | netfs_data_open (file_t *file) |
| |
| static void | netfs_data_close (file_t *file) |
| |
| static size_t | netfs_data_read (file_t *file, void *buf, size_t count, size_t *offset) |
| |
| static size_t | netfs_data_write (file_t *file, const void *buf, size_t count, size_t *offset) |
| |
| static wait_queue_t * | netfs_data_poll (file_t *file, poll_events_t *revents) |
| |
| static uint64_t | netfs_accept_open (file_t *file) |
| |
| static uint64_t | netfs_ctl_bind (file_t *file, uint64_t argc, const char **argv) |
| |
| static uint64_t | netfs_ctl_listen (file_t *file, uint64_t argc, const char **argv) |
| |
| static uint64_t | netfs_ctl_connect (file_t *file, uint64_t argc, const char **argv) |
| |
| | CTL_STANDARD_OPS_DEFINE (ctlOps, { {"bind", netfs_ctl_bind, 2, 2}, {"listen", netfs_ctl_listen, 1, 2}, {"connect", netfs_ctl_connect, 2, 2}, {0}, }) |
| |
| static uint64_t | netfs_socket_lookup (inode_t *dir, dentry_t *dentry) |
| |
| static void | netfs_socket_cleanup (inode_t *inode) |
| |
| static uint64_t | netfs_socket_iterate (dentry_t *dentry, dir_ctx_t *ctx) |
| |
| static void | socket_weak_ptr_callback (void *arg) |
| |
| static uint64_t | netfs_factory_open (file_t *file) |
| |
| static void | netfs_factory_close (file_t *file) |
| |
| static size_t | netfs_factory_read (file_t *file, void *buffer, size_t count, size_t *offset) |
| |
| static size_t | netfs_addrs_read (file_t *file, void *buffer, size_t count, size_t *offset) |
| |
| static void | netfs_file_cleanup (inode_t *inode) |
| |
| static uint64_t | netfs_family_lookup (inode_t *dir, dentry_t *dentry) |
| |
| static uint64_t | netfs_family_iterate (dentry_t *dentry, dir_ctx_t *ctx) |
| |
| static uint64_t | netfs_lookup (inode_t *dir, dentry_t *dentry) |
| |
| static uint64_t | netfs_iterate (dentry_t *dentry, dir_ctx_t *ctx) |
| |
| static dentry_t * | netfs_mount (filesystem_t *fs, block_device_t *device, void *private) |
| |
| void | netfs_init (void) |
| | Initialize the networking filesystem.
|
| |
| uint64_t | netfs_family_register (netfs_family_t *family) |
| | Register a network family.
|
| |
| void | netfs_family_unregister (netfs_family_t *family) |
| | Unregister a network family.
|
| |
◆ socket_free()
◆ socket_new()
◆ netfs_data_open()
◆ netfs_data_close()
◆ netfs_data_read()
◆ netfs_data_write()
◆ netfs_data_poll()
◆ netfs_accept_open()
◆ netfs_ctl_bind()
◆ netfs_ctl_listen()
◆ netfs_ctl_connect()
◆ CTL_STANDARD_OPS_DEFINE()
| CTL_STANDARD_OPS_DEFINE |
( |
ctlOps |
, |
|
|
{ {"bind", netfs_ctl_bind, 2, 2}, {"listen", netfs_ctl_listen, 1, 2}, {"connect", netfs_ctl_connect, 2, 2}, {0}, } |
|
|
) |
| |
◆ netfs_socket_lookup()
◆ netfs_socket_cleanup()
◆ netfs_socket_iterate()
◆ socket_weak_ptr_callback()
◆ netfs_factory_open()
◆ netfs_factory_close()
◆ netfs_factory_read()
◆ netfs_addrs_read()
◆ netfs_file_cleanup()
◆ netfs_family_lookup()
◆ netfs_family_iterate()
◆ netfs_lookup()
◆ netfs_iterate()
◆ netfs_mount()
◆ families
◆ familiesMutex
◆ dataOps
Initial value:= {
}
static wait_queue_t * netfs_data_poll(file_t *file, poll_events_t *revents)
static size_t netfs_data_read(file_t *file, void *buf, size_t count, size_t *offset)
static uint64_t netfs_data_open(file_t *file)
static size_t netfs_data_write(file_t *file, const void *buf, size_t count, size_t *offset)
static void netfs_data_close(file_t *file)
Definition at line 156 of file netfs.c.
◆ acceptOps
Initial value:= {
}
static uint64_t netfs_accept_open(file_t *file)
Definition at line 201 of file netfs.c.
◆ socketFiles
Initial value:= {
{.name =
"data", .fileOps = &
dataOps},
{.name =
"ctl", .fileOps = &
ctlOps},
}
static file_ops_t acceptOps
static file_ops_t dataOps
Definition at line 325 of file netfs.c.
◆ socketInodeOps
Initial value:= {
}
static void netfs_socket_cleanup(inode_t *inode)
static uint64_t netfs_socket_lookup(inode_t *dir, dentry_t *dentry)
Definition at line 390 of file netfs.c.
◆ socketDentryOps
Initial value:= {
}
static uint64_t netfs_socket_iterate(dentry_t *dentry, dir_ctx_t *ctx)
Definition at line 395 of file netfs.c.
◆ factoryFileOps
Initial value:= {
}
static uint64_t netfs_factory_open(file_t *file)
static size_t netfs_factory_read(file_t *file, void *buffer, size_t count, size_t *offset)
static void netfs_factory_close(file_t *file)
Definition at line 471 of file netfs.c.
◆ addrsFileOps
Initial value:= {
}
static size_t netfs_addrs_read(file_t *file, void *buffer, size_t count, size_t *offset)
Definition at line 518 of file netfs.c.
◆ familyFiles
Initial value:= {
}
@ SOCKET_RDM
A reliable datagram layer that does not guarantee ordering.
@ SOCKET_STREAM
A sequenced, reliable, two-way connection-based byte stream.
@ SOCKET_SEQPACKET
A sequenced, reliable, two-way connection-based packet stream.
@ SOCKET_DGRAM
A connectionless, unreliable datagram service.
@ SOCKET_RAW
Provides raw network protocol access.
static file_ops_t addrsFileOps
static file_ops_t factoryFileOps
Definition at line 522 of file netfs.c.
◆ familyFileInodeOps
Initial value:= {
}
static void netfs_file_cleanup(inode_t *inode)
Definition at line 543 of file netfs.c.
◆ familyInodeOps
Initial value:= {
}
static uint64_t netfs_family_lookup(inode_t *dir, dentry_t *dentry)
Definition at line 697 of file netfs.c.
◆ familyDentryOps
Initial value:= {
}
static uint64_t netfs_family_iterate(dentry_t *dentry, dir_ctx_t *ctx)
Definition at line 701 of file netfs.c.
◆ netInodeOps
Initial value:= {
}
static uint64_t netfs_lookup(inode_t *dir, dentry_t *dentry)
Definition at line 761 of file netfs.c.
◆ netDentryOps
Initial value:= {
}
static uint64_t netfs_iterate(dentry_t *dentry, dir_ctx_t *ctx)
Definition at line 765 of file netfs.c.
◆ netfs
Initial value:= {
}
#define NETFS_NAME
The name of the networking filesystem.
static dentry_t * netfs_mount(filesystem_t *fs, block_device_t *device, void *private)
Definition at line 800 of file netfs.c.