// File: /workspace/github_c_makefile_star2_O0/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
subq $0x3e0, %rsp            # imm = 0x3E0
movq %rdi, -0x8(%rbp)
leaq -0x3a0(%rbp), %rdi
leaq 0x6d033(%rip), %rsi     # 0xace80
movl $0x398, %edx            # imm = 0x398
callq 0x12680
movq -0x8(%rbp), %rdi
leaq -0x3a0(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x6bd40
leaq 0x6cf9e(%rip), %rdi     # 0xace10
callq 0x6c180
movl $0x90, -0x3a4(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq 0x7011d(%rip), %rax     # 0xaffb0
movq (%rax), %rdi
movl -0x3a4(%rbp), %esi
orl $0x4, %esi
callq 0x3e1f0
movq -0x3d8(%rbp), %rdi
movq %rax, -0x3b0(%rbp)
movq -0x3b0(%rbp), %rdx
leaq 0x4c729(%rip), %rsi     # 0x8c5e9
leaq 0x4c729(%rip), %rcx     # 0x8c5f0
leaq 0x4c67b(%rip), %r8      # 0x8c549
movl $0x33f, %r9d            # imm = 0x33F
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x3d0(%rbp)
movq 0x70105(%rip), %rax     # 0xafff0
movq (%rax), %rdi
movl -0x3a4(%rbp), %esi
orl $0x4, %esi
callq 0x3e1f0
movq -0x3d0(%rbp), %rdi
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rdx
leaq 0x4c6f2(%rip), %rsi     # 0x8c60a
leaq 0x4c6f2(%rip), %rcx     # 0x8c611
leaq 0x4c623(%rip), %r8      # 0x8c549
movl $0x343, %r9d            # imm = 0x343
callq 0x6b430
movq -0x8(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq 0x70075(%rip), %rax     # 0xaffb8
movq (%rax), %rdi
movl -0x3a4(%rbp), %esi
orl $0x2, %esi
callq 0x3e1f0
movq -0x3c8(%rbp), %rdi
movq %rax, -0x3c0(%rbp)
movq -0x3c0(%rbp), %rdx
leaq 0x4c6ba(%rip), %rsi     # 0x8c62a
leaq 0x4c6b9(%rip), %rcx     # 0x8c630
leaq 0x4c5cb(%rip), %r8      # 0x8c549
movl $0x347, %r9d            # imm = 0x347
callq 0x6b430
addq $0x3e0, %rsp            # imm = 0x3E0
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)