// File: /workspace/github_c_makefile_star2_O2/janet-lang[P]janet/src/core/io.c
// Function: janet_lib_io
void janet_lib_io(JanetTable *env) {
    JanetRegExt io_cfuns[] = {
        JANET_CORE_REG("print", cfun_io_print),
        JANET_CORE_REG("prin", cfun_io_prin),
        JANET_CORE_REG("printf", cfun_io_printf),
        JANET_CORE_REG("prinf", cfun_io_prinf),
        JANET_CORE_REG("eprin", cfun_io_eprin),
        JANET_CORE_REG("eprint", cfun_io_eprint),
        JANET_CORE_REG("eprintf", cfun_io_eprintf),
        JANET_CORE_REG("eprinf", cfun_io_eprinf),
        JANET_CORE_REG("xprint", cfun_io_xprint),
        JANET_CORE_REG("xprin", cfun_io_xprin),
        JANET_CORE_REG("xprintf", cfun_io_xprintf),
        JANET_CORE_REG("xprinf", cfun_io_xprinf),
        JANET_CORE_REG("flush", cfun_io_flush),
        JANET_CORE_REG("eflush", cfun_io_eflush),
        JANET_CORE_REG("file/temp", cfun_io_temp),
        JANET_CORE_REG("file/open", cfun_io_fopen),
        JANET_CORE_REG("file/close", cfun_io_fclose),
        JANET_CORE_REG("file/read", cfun_io_fread),
        JANET_CORE_REG("file/write", cfun_io_fwrite),
        JANET_CORE_REG("file/flush", cfun_io_fflush),
        JANET_CORE_REG("file/seek", cfun_io_fseek),
        JANET_CORE_REG("file/tell", cfun_io_ftell),
        JANET_REG_END
    };
    janet_core_cfuns_ext(env, NULL, io_cfuns);
    janet_register_abstract_type(&janet_file_type);
    int default_flags = JANET_FILE_NOT_CLOSEABLE | JANET_FILE_SERIALIZABLE;
    /* stdout */
    JANET_CORE_DEF(env, "stdout",
                   janet_makefile(stdout, JANET_FILE_APPEND | default_flags),
                   "The standard output file.");
    /* stderr */
    JANET_CORE_DEF(env, "stderr",
                   janet_makefile(stderr, JANET_FILE_APPEND | default_flags),
                   "The standard error file.");
    /* stdin */
    JANET_CORE_DEF(env, "stdin",
                   janet_makefile(stdin, JANET_FILE_READ | default_flags),
                   "The standard input file.");

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x3a0, %rsp            # imm = 0x3A0
movq %rdi, %rbx
leaq 0x4fda9(%rip), %rsi     # 0x7c660
leaq -0x3b0(%rbp), %r14
movl $0x398, %edx            # imm = 0x398
movq %r14, %rdi
callq 0x12670
movq %rbx, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x452db
leaq 0x4fd11(%rip), %rdi     # 0x7c5f0
callq 0x455ed
movq 0x5369d(%rip), %rax     # 0x7ff88
movq (%rax), %rdi
movl $0x94, %esi
callq 0x2b6c8
leaq 0x2dc5f(%rip), %rsi     # 0x5a55e
leaq 0x2dc5f(%rip), %rcx     # 0x5a565
leaq 0x2dbb1(%rip), %r14     # 0x5a4be
movq %rbx, %rdi
movq %rax, %rdx
movq %r14, %r8
movl $0x33f, %r9d            # imm = 0x33F
callq 0x44d5e
movq 0x536c8(%rip), %rax     # 0x7fff0
movq (%rax), %rdi
movl $0x94, %esi
callq 0x2b6c8
leaq 0x2dc43(%rip), %rsi     # 0x5a57f
leaq 0x2dc43(%rip), %rcx     # 0x5a586
movq %rbx, %rdi
movq %rax, %rdx
movq %r14, %r8
movl $0x343, %r9d            # imm = 0x343
callq 0x44d5e
movq 0x5363a(%rip), %rax     # 0x7ff98
movq (%rax), %rdi
movl $0x92, %esi
callq 0x2b6c8
leaq 0x2dc2d(%rip), %rsi     # 0x5a59f
leaq 0x2dc2c(%rip), %rcx     # 0x5a5a5
movq %rbx, %rdi
movq %rax, %rdx
movq %r14, %r8
movl $0x347, %r9d            # imm = 0x347
callq 0x44d5e
addq $0x3a0, %rsp            # imm = 0x3A0
popq %rbx
popq %r14
popq %rbp
retq
nopl (%rax)