summaryrefslogtreecommitdiff
path: root/cmd/srv9p/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/srv9p/main.c')
-rw-r--r--cmd/srv9p/main.c116
1 files changed, 0 insertions, 116 deletions
diff --git a/cmd/srv9p/main.c b/cmd/srv9p/main.c
deleted file mode 100644
index d30c4f9..0000000
--- a/cmd/srv9p/main.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* srv9p/main.c - Main entry point for test 9P server
- *
- * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com>
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-#include <error.h>
-#include <stdio.h>
-
-#include <lib9p/srv.h>
-#include <libcr/coroutine.h>
-#include <libhw/generic/net.h>
-#include <libhw/host_net.h>
-
-#include "static9p.h"
-#include "static.h"
-
-/* configuration **************************************************************/
-
-#include "config.h"
-
-#ifndef CONFIG_NETIO_NUM_CONNS
- #error config.h must define CONFIG_NETIO_NUM_CONNS
-#endif
-
-/* implementation *************************************************************/
-
-#define UNUSED(name) /* name __attribute__((unused)) */
-
-/* file tree ******************************************************************/
-
-#define FILE_COMMON(NAME) { \
- .vtable = &static_file_vtable, \
- \
- .u_name = "root", .u_num = 0, /* owner user */ \
- .g_name = "root", .g_num = 0, /* owner group */ \
- .m_name = "root", .m_num = 0, /* last-modified-by user */ \
- \
- .pathnum = __COUNTER__, \
- .name = NAME, \
- .perm = 0444, \
- .atime = 1728337905, \
- .mtime = 1728337904, \
- }
-
-#define DIR_COMMON(NAME) { \
- .vtable = &static_dir_vtable, \
- \
- .u_name = "root", .u_num = 0, /* owner user */ \
- .g_name = "root", .g_num = 0, /* owner group */ \
- .m_name = "root", .m_num = 0, /* last-modified-by user */ \
- \
- .pathnum = __COUNTER__, \
- .name = NAME, \
- .perm = 0555, \
- .atime = 1728337905, \
- .mtime = 1728337904, \
- }
-
-#define STATIC_FILE(STRNAME, SYMNAME) \
- &((static struct static_file){ \
- ._static_common = FILE_COMMON(STRNAME), \
- .data_start = _binary_static_##SYMNAME##_start, \
- .data_end = _binary_static_##SYMNAME##_end, \
- })
-
-static struct static_dir root = {
- ._static_common = DIR_COMMON(""),
- .members = {
- &((static struct static_dir){
- ._static_common = DIR_COMMON("Documentation"),
- .members = {
- STATIC_FILE("x", Documentation_x),
- NULL
- },
- }),
- STATIC_FILE("README.md", README_md),
- NULL,
- },
-};
-
-static implements_lib9p_srv_file *get_root(struct lib9p_srv_ctx *UNUSED(ctx), char *UNUSED(treename)) {
- return &root;
-}
-
-/* main ***********************************************************************/
-
-static COROUTINE read_cr(void *_srv) {
- struct lib9p_srv *srv = _srv;
- assert(srv);
-
- cr_begin();
-
- struct hostnet_tcp_listener listener;
- hostnet_tcp_listener_init(&listener, 9000);
-
- lib9p_srv_read_cr(srv, &listener);
-
- cr_end();
-}
-
-int main() {
- struct lib9p_srv srv = {
- .rootdir = get_root,
- };
-
- for (int i = 0; i < CONFIG_NETIO_NUM_CONNS; i++)
- if (!coroutine_add(read_cr, &srv))
- error(1, 0, "coroutine_add(read_cr, &srv)");
- for (int i = 0; i < 2*CONFIG_NETIO_NUM_CONNS; i++)
- if (!coroutine_add(lib9p_srv_write_cr, &srv))
- error(1, 0, "coroutine_add(lib9p_srv_write_cr, &srv)");
-
- coroutine_main();
- return 1;
-}