NeKernel dev
Loading...
Searching...
No Matches
Server.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#pragma once
8
9#ifdef __cplusplus
11#else
13#endif
14
18
19struct LIBMSG_EXPR;
20
22struct LIBMSG_EXPR final {
23#ifdef __cplusplus
24 CF::CFString* l_key{nullptr};
25 CF::CFString* l_value{nullptr};
26#else
27 // if we use C, we won't know about CF, so let's make those private.
29#endif
30
34};
35
37typedef Void (*libmsg_func_type)(struct LIBMSG_EXPR* self, VoidPtr arg, SizeT arg_size);
38
IMPORT_C Void libmsg_init_library(libmsg_func_type *funcs, SizeT cnt)
IMPORT_C UInt32 libmsg_close_library(Void)
IMPORT_C UInt32 libmsg_eval_expr(struct LIBMSG_EXPR *head)
Void(* libmsg_func_type)(struct LIBMSG_EXPR *self, VoidPtr arg, SizeT arg_size)
Function type for LibMSG lisp.
Definition Server.h:37
void * VoidPtr
Definition Macros.h:59
#define IMPORT_C
Definition Macros.h:22
an expression chain of LibMSG.
Definition Server.h:22
LIBMSG_EXPR * l_child
Definition Server.h:33
VoidPtr l_private_data[2]
Definition Server.h:28
LIBMSG_EXPR * l_head
Definition Server.h:31
LIBMSG_EXPR * l_tail
Definition Server.h:32