Go to the source code of this file.
|
| static uint64_t | socket_data_open (file_t *file) |
| |
| static void | socket_data_close (file_t *file) |
| |
| static uint64_t | socket_data_read (file_t *file, void *buf, size_t count, uint64_t *offset) |
| |
| static uint64_t | socket_data_write (file_t *file, const void *buf, size_t count, uint64_t *offset) |
| |
| static wait_queue_t * | socket_data_poll (file_t *file, poll_events_t *revents) |
| |
| static uint64_t | socket_ctl_bind (file_t *file, uint64_t argc, const char **argv) |
| |
| static uint64_t | socket_ctl_listen (file_t *file, uint64_t argc, const char **argv) |
| |
| static uint64_t | socket_ctl_connect (file_t *file, uint64_t argc, const char **argv) |
| |
| | CTL_STANDARD_OPS_DEFINE (ctlOps, { {"bind", socket_ctl_bind, 2, 2}, {"listen", socket_ctl_listen, 1, 2}, {"connect", socket_ctl_connect, 2, 2}, {0}, }) |
| |
| static uint64_t | socket_accept_open (file_t *file) |
| |
| static void | socket_accept_close (file_t *file) |
| |
| static void | socket_inode_cleanup (inode_t *inode) |
| |
| static void | socket_free (socket_t *sock) |
| |
| static void | socket_unmount (superblock_t *superblock) |
| |
| socket_t * | socket_new (socket_family_t *family, socket_type_t type) |
| | Create a new socket.
|
| |
| bool | socket_can_transition (socket_state_t from, socket_state_t to) |
| |
| uint64_t | socket_start_transition (socket_t *sock, socket_state_t state) |
| | Starts a socket state transition.
|
| |
| void | socket_continue_transition (socket_t *sock, socket_state_t state) |
| | Without releasing the socket mutex, start a transition to a new target state.
|
| |
| void | socket_end_transition (socket_t *sock, uint64_t result) |
| | Ends a socket state transition.
|
| |
◆ socket_data_open()
◆ socket_data_close()
| static void socket_data_close |
( |
file_t * |
file | ) |
|
|
static |
◆ socket_data_read()
◆ socket_data_write()
◆ socket_data_poll()
◆ socket_ctl_bind()
◆ socket_ctl_listen()
◆ socket_ctl_connect()
◆ CTL_STANDARD_OPS_DEFINE()
| CTL_STANDARD_OPS_DEFINE |
( |
ctlOps |
, |
|
|
{ {"bind", socket_ctl_bind, 2, 2}, {"listen", socket_ctl_listen, 1, 2}, {"connect", socket_ctl_connect, 2, 2}, {0}, } |
|
|
) |
| |
◆ socket_accept_open()
◆ socket_accept_close()
| static void socket_accept_close |
( |
file_t * |
file | ) |
|
|
static |
◆ socket_inode_cleanup()
| static void socket_inode_cleanup |
( |
inode_t * |
inode | ) |
|
|
static |
◆ socket_free()
| static void socket_free |
( |
socket_t * |
sock | ) |
|
|
static |
Will only be called when the socket reference count reaches 0. Meaning the socket must be unmounted first.
Definition at line 318 of file socket.c.
◆ socket_unmount()
◆ socket_can_transition()
◆ dataOps
Initial value:= {
}
static wait_queue_t * socket_data_poll(file_t *file, poll_events_t *revents)
static uint64_t socket_data_write(file_t *file, const void *buf, size_t count, uint64_t *offset)
static uint64_t socket_data_read(file_t *file, void *buf, size_t count, uint64_t *offset)
static void socket_data_close(file_t *file)
static uint64_t socket_data_open(file_t *file)
Definition at line 114 of file socket.c.
◆ acceptOps
Initial value:= {
}
static uint64_t socket_accept_open(file_t *file)
static void socket_accept_close(file_t *file)
Definition at line 292 of file socket.c.
◆ inodeOps
Initial value:= {
}
static void socket_inode_cleanup(inode_t *inode)
Definition at line 311 of file socket.c.
◆ superblockOps
Initial value:= {
}
static void socket_unmount(superblock_t *superblock)
Definition at line 353 of file socket.c.
◆ validTransitions