/* util9p/static.h - Serve static files over 9P * * Copyright (C) 2024-2025 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ #ifndef _UTIL9P_STATIC_H_ #define _UTIL9P_STATIC_H_ #include typedef struct { char *u_name; uint32_t u_num; char *g_name; uint32_t g_num; char *m_name; uint32_t m_num; uint64_t pathnum; char *name; lib9p_dm_t perm; uint32_t atime, mtime; } _util9p_static_common; struct util9p_static_dir { _util9p_static_common; /* NULL-terminated */ lo_interface lib9p_srv_file members[]; }; LO_IMPLEMENTATION_H(lib9p_srv_file, struct util9p_static_dir, util9p_static_dir); struct util9p_static_file { _util9p_static_common; char *data_start; /* must not be NULL */ char *data_end; /* may be NULL, in which case data_size is used */ size_t data_size; /* only used if .data_end==NULL */ }; LO_IMPLEMENTATION_H(lib9p_srv_file, struct util9p_static_file, util9p_static_file); #endif /* _UTIL9P_STATIC_H_ */