mirror of
https://github.com/janet-lang/janet
synced 2024-11-28 02:59:54 +00:00
Begin net/ module in core.
Humble beginnings.
This commit is contained in:
parent
1bdde9c4f7
commit
c0d2140d14
1
Makefile
1
Makefile
@ -95,6 +95,7 @@ JANET_CORE_SOURCES=src/core/abstract.c \
|
|||||||
src/core/io.c \
|
src/core/io.c \
|
||||||
src/core/marsh.c \
|
src/core/marsh.c \
|
||||||
src/core/math.c \
|
src/core/math.c \
|
||||||
|
src/core/net.c \
|
||||||
src/core/os.c \
|
src/core/os.c \
|
||||||
src/core/parse.c \
|
src/core/parse.c \
|
||||||
src/core/peg.c \
|
src/core/peg.c \
|
||||||
|
@ -59,6 +59,7 @@ conf.set('JANET_NO_DOCSTRINGS', not get_option('docstrings'))
|
|||||||
conf.set('JANET_NO_SOURCEMAPS', not get_option('sourcemaps'))
|
conf.set('JANET_NO_SOURCEMAPS', not get_option('sourcemaps'))
|
||||||
conf.set('JANET_NO_ASSEMBLER', not get_option('assembler'))
|
conf.set('JANET_NO_ASSEMBLER', not get_option('assembler'))
|
||||||
conf.set('JANET_NO_PEG', not get_option('peg'))
|
conf.set('JANET_NO_PEG', not get_option('peg'))
|
||||||
|
conf.set('JANET_NO_NET', not get_option('net'))
|
||||||
conf.set('JANET_REDUCED_OS', get_option('reduced_os'))
|
conf.set('JANET_REDUCED_OS', get_option('reduced_os'))
|
||||||
conf.set('JANET_NO_TYPED_ARRAY', not get_option('typed_array'))
|
conf.set('JANET_NO_TYPED_ARRAY', not get_option('typed_array'))
|
||||||
conf.set('JANET_NO_INT_TYPES', not get_option('int_types'))
|
conf.set('JANET_NO_INT_TYPES', not get_option('int_types'))
|
||||||
@ -112,6 +113,7 @@ core_src = [
|
|||||||
'src/core/io.c',
|
'src/core/io.c',
|
||||||
'src/core/marsh.c',
|
'src/core/marsh.c',
|
||||||
'src/core/math.c',
|
'src/core/math.c',
|
||||||
|
'src/core/net.c',
|
||||||
'src/core/os.c',
|
'src/core/os.c',
|
||||||
'src/core/parse.c',
|
'src/core/parse.c',
|
||||||
'src/core/peg.c',
|
'src/core/peg.c',
|
||||||
|
@ -11,6 +11,7 @@ option('peg', type : 'boolean', value : true)
|
|||||||
option('typed_array', type : 'boolean', value : true)
|
option('typed_array', type : 'boolean', value : true)
|
||||||
option('int_types', type : 'boolean', value : true)
|
option('int_types', type : 'boolean', value : true)
|
||||||
option('prf', type : 'boolean', value : true)
|
option('prf', type : 'boolean', value : true)
|
||||||
|
option('net', type : 'boolean', value : true)
|
||||||
|
|
||||||
option('recursion_guard', type : 'integer', min : 10, max : 8000, value : 1024)
|
option('recursion_guard', type : 'integer', min : 10, max : 8000, value : 1024)
|
||||||
option('max_proto_depth', type : 'integer', min : 10, max : 8000, value : 200)
|
option('max_proto_depth', type : 'integer', min : 10, max : 8000, value : 200)
|
||||||
|
@ -2423,6 +2423,7 @@
|
|||||||
"src/core/io.c"
|
"src/core/io.c"
|
||||||
"src/core/marsh.c"
|
"src/core/marsh.c"
|
||||||
"src/core/math.c"
|
"src/core/math.c"
|
||||||
|
"src/core/net.c"
|
||||||
"src/core/os.c"
|
"src/core/os.c"
|
||||||
"src/core/parse.c"
|
"src/core/parse.c"
|
||||||
"src/core/peg.c"
|
"src/core/peg.c"
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
/* Other settings */
|
/* Other settings */
|
||||||
/* #define JANET_NO_ASSEMBLER */
|
/* #define JANET_NO_ASSEMBLER */
|
||||||
/* #define JANET_NO_PEG */
|
/* #define JANET_NO_PEG */
|
||||||
|
/* #define JANET_NO_NET */
|
||||||
/* #define JANET_NO_TYPED_ARRAY */
|
/* #define JANET_NO_TYPED_ARRAY */
|
||||||
/* #define JANET_NO_INT_TYPES */
|
/* #define JANET_NO_INT_TYPES */
|
||||||
/* #define JANET_NO_PRF */
|
/* #define JANET_NO_PRF */
|
||||||
|
@ -975,6 +975,9 @@ static void janet_load_libs(JanetTable *env) {
|
|||||||
#ifdef JANET_THREADS
|
#ifdef JANET_THREADS
|
||||||
janet_lib_thread(env);
|
janet_lib_thread(env);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef JANET_NET
|
||||||
|
janet_lib_net(env);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef JANET_BOOTSTRAP
|
#ifdef JANET_BOOTSTRAP
|
||||||
|
50
src/core/net.c
Normal file
50
src/core/net.c
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Calvin Rose
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to
|
||||||
|
* deal in the Software without restriction, including without limitation the
|
||||||
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
* IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef JANET_AMALG
|
||||||
|
#include "features.h"
|
||||||
|
#include <janet.h>
|
||||||
|
#include "util.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* C Funs
|
||||||
|
*/
|
||||||
|
|
||||||
|
static Janet cfun_net_hello(int32_t argc, Janet *argv) {
|
||||||
|
(void) argv;
|
||||||
|
janet_fixarity(argc, 0);
|
||||||
|
janet_printf("Hello!\n");
|
||||||
|
return janet_wrap_nil();
|
||||||
|
}
|
||||||
|
|
||||||
|
static const JanetReg net_cfuns[] = {
|
||||||
|
{"net/hello", cfun_net_hello,
|
||||||
|
JDOC("(net/hello)\n\n"
|
||||||
|
"Prints \"Hello!\".")},
|
||||||
|
{NULL, NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
void janet_lib_net(JanetTable *env) {
|
||||||
|
janet_core_cfuns(env, NULL, net_cfuns);
|
||||||
|
}
|
||||||
|
|
@ -126,5 +126,8 @@ void janet_lib_inttypes(JanetTable *env);
|
|||||||
#ifdef JANET_THREADS
|
#ifdef JANET_THREADS
|
||||||
void janet_lib_thread(JanetTable *env);
|
void janet_lib_thread(JanetTable *env);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef JANET_NET
|
||||||
|
void janet_lib_net(JanetTable *env);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -152,6 +152,11 @@ extern "C" {
|
|||||||
#define JANET_TYPED_ARRAY
|
#define JANET_TYPED_ARRAY
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Enable or disable networking */
|
||||||
|
#ifndef JANET_NO_NET
|
||||||
|
#define JANET_NET
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Enable or disable large int types (for now 64 bit, maybe 128 / 256 bit integer types) */
|
/* Enable or disable large int types (for now 64 bit, maybe 128 / 256 bit integer types) */
|
||||||
#ifndef JANET_NO_INT_TYPES
|
#ifndef JANET_NO_INT_TYPES
|
||||||
#define JANET_INT_TYPES
|
#define JANET_INT_TYPES
|
||||||
|
Loading…
Reference in New Issue
Block a user