diff options
Diffstat (limited to 'lib9p')
-rw-r--r-- | lib9p/include/lib9p/9p.h | 9 | ||||
-rw-r--r-- | lib9p/internal.h | 22 |
2 files changed, 27 insertions, 4 deletions
diff --git a/lib9p/include/lib9p/9p.h b/lib9p/include/lib9p/9p.h index 66f7542..616a0e1 100644 --- a/lib9p/include/lib9p/9p.h +++ b/lib9p/include/lib9p/9p.h @@ -14,9 +14,16 @@ #include <lib9p/9p.generated.h> #include <lib9p/linux-errno.h> -#define _USE_CONFIG_9P_ERR +/* configuration **************************************************************/ + #include "config.h" +#ifndef CONFIG_9P_MAX_ERR_SIZE +# error config.h must define CONFIG_9P_MAX_ERR_SIZE +#endif + +/******************************************************************************/ + #define LIB9P_NOTAG ((uint16_t)~0U) #define LIB9P_NOFID ((uint32_t)~0U) diff --git a/lib9p/internal.h b/lib9p/internal.h index 36a2647..2b5f8f3 100644 --- a/lib9p/internal.h +++ b/lib9p/internal.h @@ -12,13 +12,29 @@ #include <lib9p/9p.h> -#define USE_CONFIG_9P -#define USE_CONFIG_COROUTINE +/* configuration **************************************************************/ + #include "config.h" + +#ifndef CONFIG_9P_MAX_MSG_SIZE +# error config.h must define CONFIG_9P_MAX_MSG_SIZE +#endif +#ifndef CONFIG_9P_MAX_HOSTMSG_SIZE +# error config.h must define CONFIG_9P_MAX_HOSTMSG_SIZE +#endif +#ifndef CONFIG_9P_MAX_FIDS +# error config.h must define CONFIG_9P_MAX_FIDS +#endif +#ifndef CONFIG_9P_MAX_REQS +# error config.h must define CONFIG_9P_MAX_REQS +#endif +#ifndef CONFIG_9P_MAX_ERR_SIZE +# error config.h must define CONFIG_9P_MAX_ERR_SIZE +#endif + static_assert(CONFIG_9P_MAX_ERR_SIZE <= UINT16_MAX); static_assert(CONFIG_9P_MAX_MSG_SIZE <= CONFIG_9P_MAX_HOSTMSG_SIZE); static_assert(CONFIG_9P_MAX_HOSTMSG_SIZE <= SSIZE_MAX); -static_assert(CONFIG_9P_MAX_ERR_SIZE + CONFIG_9P_MAX_MSG_SIZE + 2*CONFIG_9P_MAX_HOSTMSG_SIZE < CONFIG_COROUTINE_DEFAULT_STACK_SIZE); /* C language *****************************************************************/ |