webruby 0.1.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/driver/driver.c +12 -0
- data/lib/webruby/config.rb +3 -3
- data/lib/webruby/environment.rb +1 -0
- data/lib/webruby/rake/files.rake +22 -22
- data/lib/webruby/rake/general.rake +0 -1
- data/lib/webruby/utility.rb +2 -0
- data/modules/emscripten/AUTHORS +12 -1
- data/modules/emscripten/cmake/Platform/Emscripten.cmake +152 -15
- data/modules/emscripten/em++ +2 -0
- data/modules/emscripten/em++.bat +1 -1
- data/modules/emscripten/em-config.bat +1 -1
- data/modules/emscripten/emar.bat +1 -1
- data/modules/emscripten/emcc +233 -95
- data/modules/emscripten/emcc.bat +1 -1
- data/modules/emscripten/emconfigure.bat +1 -1
- data/modules/emscripten/emmake.bat +1 -1
- data/modules/emscripten/emranlib.bat +1 -1
- data/modules/emscripten/emscripten.py +221 -217
- data/modules/emscripten/package.json +7 -0
- data/modules/emscripten/src/analyzer.js +1437 -1385
- data/modules/emscripten/src/compiler.js +30 -6
- data/modules/emscripten/src/compiler_phase.html +33 -0
- data/modules/emscripten/src/fastLong.js +6 -6
- data/modules/emscripten/src/headless.js +47 -656
- data/modules/emscripten/src/headlessCanvas.js +618 -0
- data/modules/emscripten/src/intertyper.js +1038 -899
- data/modules/emscripten/src/jsifier.js +818 -714
- data/modules/emscripten/src/library.js +1794 -2968
- data/modules/emscripten/src/library_browser.js +81 -16
- data/modules/emscripten/src/library_egl.js +9 -3
- data/modules/emscripten/src/library_fs.js +1585 -0
- data/modules/emscripten/src/library_gl.js +445 -202
- data/modules/emscripten/src/library_glfw.js +4 -1
- data/modules/emscripten/src/library_glut.js +61 -13
- data/modules/emscripten/src/library_idbfs.js +216 -0
- data/modules/emscripten/src/library_memfs.js +279 -0
- data/modules/emscripten/src/library_nodefs.js +234 -0
- data/modules/emscripten/src/library_openal.js +131 -150
- data/modules/emscripten/src/library_path.js +3 -0
- data/modules/emscripten/src/library_sdl.js +499 -229
- data/modules/emscripten/src/library_sockfs.js +576 -0
- data/modules/emscripten/src/library_tty.js +146 -0
- data/modules/emscripten/src/modules.js +30 -35
- data/modules/emscripten/src/parseTools.js +356 -161
- data/modules/emscripten/src/postamble.js +76 -31
- data/modules/emscripten/src/preamble.js +271 -41
- data/modules/emscripten/src/proxyClient.js +82 -0
- data/modules/emscripten/src/proxyWorker.js +143 -0
- data/modules/emscripten/src/relooper/Relooper.cpp +60 -24
- data/modules/emscripten/src/relooper/Relooper.h +3 -2
- data/modules/emscripten/src/relooper/emscripten/glue.js +20 -10
- data/modules/emscripten/src/relooper/fuzzer.py +19 -10
- data/modules/emscripten/src/relooper/test.cpp +50 -50
- data/modules/emscripten/src/relooper/test.txt +147 -30
- data/modules/emscripten/src/relooper/test2.c +13 -13
- data/modules/emscripten/src/relooper/test2.txt +17 -3
- data/modules/emscripten/src/relooper/test3.c +7 -7
- data/modules/emscripten/src/relooper/test3.txt +36 -7
- data/modules/emscripten/src/relooper/test4.cpp +7 -7
- data/modules/emscripten/src/relooper/test4.txt +28 -7
- data/modules/emscripten/src/relooper/test5.cpp +6 -6
- data/modules/emscripten/src/relooper/test5.txt +34 -10
- data/modules/emscripten/src/relooper/test6.cpp +4 -4
- data/modules/emscripten/src/relooper/test6.txt +17 -3
- data/modules/emscripten/src/relooper/test_dead.cpp +2 -2
- data/modules/emscripten/src/relooper/test_debug.cpp +4 -4
- data/modules/emscripten/src/relooper/test_debug.txt +17 -3
- data/modules/emscripten/src/relooper/test_fuzz1.cpp +9 -9
- data/modules/emscripten/src/relooper/test_fuzz1.txt +45 -5
- data/modules/emscripten/src/relooper/test_fuzz2.cpp +4 -4
- data/modules/emscripten/src/relooper/test_fuzz2.txt +18 -1
- data/modules/emscripten/src/relooper/test_fuzz3.cpp +5 -5
- data/modules/emscripten/src/relooper/test_fuzz3.txt +16 -0
- data/modules/emscripten/src/relooper/test_fuzz4.cpp +5 -5
- data/modules/emscripten/src/relooper/test_fuzz4.txt +25 -3
- data/modules/emscripten/src/relooper/test_fuzz5.cpp +10 -10
- data/modules/emscripten/src/relooper/test_fuzz5.txt +49 -15
- data/modules/emscripten/src/relooper/test_fuzz6.cpp +92 -92
- data/modules/emscripten/src/relooper/test_fuzz6.txt +201 -18
- data/modules/emscripten/src/relooper/test_inf.cpp +184 -184
- data/modules/emscripten/src/relooper/test_inf.txt +1078 -332
- data/modules/emscripten/src/runtime.js +69 -45
- data/modules/emscripten/src/settings.js +48 -919
- data/modules/emscripten/src/shell.html +1 -1
- data/modules/emscripten/src/shell.js +14 -8
- data/modules/emscripten/src/shell_sharedlib.js +18 -1
- data/modules/emscripten/src/simd.js +958 -0
- data/modules/emscripten/src/struct_info.json +1045 -0
- data/modules/emscripten/src/utility.js +11 -0
- data/modules/emscripten/system/bin/sdl-config +13 -0
- data/modules/emscripten/system/include/compat/ctype.h +17 -0
- data/modules/emscripten/system/include/compat/malloc.h +48 -0
- data/modules/emscripten/system/include/compat/math.h +14 -0
- data/modules/emscripten/system/include/compat/netdb.h +22 -0
- data/modules/emscripten/system/include/compat/stdarg.h +16 -0
- data/modules/emscripten/system/include/compat/stdlib.h +16 -0
- data/modules/emscripten/system/include/compat/string.h +17 -0
- data/modules/emscripten/system/include/compat/sys/socketvar.h +14 -0
- data/modules/emscripten/system/include/compat/sys/stat.h +20 -0
- data/modules/emscripten/system/include/{libc → compat}/sys/timeb.h +3 -7
- data/modules/emscripten/system/include/compat/time.h +18 -0
- data/modules/emscripten/system/include/compat/unistd.h +16 -0
- data/modules/emscripten/system/include/compat/xlocale.h +19 -0
- data/modules/emscripten/system/include/emscripten/emscripten.h +48 -7
- data/modules/emscripten/system/include/emscripten/vector.h +6 -0
- data/modules/emscripten/system/include/libc/aio.h +69 -0
- data/modules/emscripten/system/include/libc/alloca.h +13 -13
- data/modules/emscripten/system/include/libc/ar.h +19 -63
- data/modules/emscripten/system/include/libc/arpa/ftp.h +35 -0
- data/modules/emscripten/system/include/libc/arpa/inet.h +36 -0
- data/modules/emscripten/system/include/libc/arpa/nameser.h +467 -0
- data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +2 -0
- data/modules/emscripten/system/include/libc/arpa/telnet.h +251 -0
- data/modules/emscripten/system/include/libc/arpa/tftp.h +31 -0
- data/modules/emscripten/system/include/libc/assert.h +9 -36
- data/modules/emscripten/system/include/libc/bits/alltypes.h +397 -0
- data/modules/emscripten/system/include/libc/bits/endian.h +1 -0
- data/modules/emscripten/system/include/libc/bits/errno.h +134 -0
- data/modules/emscripten/system/include/libc/bits/fcntl.h +38 -0
- data/modules/emscripten/system/include/libc/bits/fenv.h +34 -0
- data/modules/emscripten/system/include/libc/bits/float.h +17 -0
- data/modules/emscripten/system/include/libc/bits/io.h +0 -0
- data/modules/emscripten/system/include/libc/bits/ioctl.h +197 -0
- data/modules/emscripten/system/include/libc/bits/ipc.h +14 -0
- data/modules/emscripten/system/include/libc/bits/limits.h +8 -0
- data/modules/emscripten/system/include/libc/bits/mman.h +62 -0
- data/modules/emscripten/system/include/libc/bits/msg.h +16 -0
- data/modules/emscripten/system/include/libc/bits/posix.h +2 -0
- data/modules/emscripten/system/include/libc/bits/reg.h +19 -0
- data/modules/emscripten/system/include/libc/bits/setjmp.h +1 -0
- data/modules/emscripten/system/include/libc/bits/shm.h +18 -0
- data/modules/emscripten/system/include/libc/bits/signal.h +112 -0
- data/modules/emscripten/system/include/libc/bits/socket.h +17 -0
- data/modules/emscripten/system/include/libc/bits/stat.h +22 -0
- data/modules/emscripten/system/include/libc/bits/statfs.h +7 -0
- data/modules/emscripten/system/include/libc/bits/stdarg.h +4 -0
- data/modules/emscripten/system/include/libc/bits/stdint.h +20 -0
- data/modules/emscripten/system/include/libc/bits/syscall.h +696 -0
- data/modules/emscripten/system/include/libc/bits/termios.h +160 -0
- data/modules/emscripten/system/include/libc/bits/user.h +48 -0
- data/modules/emscripten/system/include/libc/byteswap.h +26 -0
- data/modules/emscripten/system/include/libc/complex.h +55 -54
- data/modules/emscripten/system/include/libc/cpio.h +29 -0
- data/modules/emscripten/system/include/libc/crypt.h +20 -0
- data/modules/emscripten/system/include/libc/ctype.h +58 -187
- data/modules/emscripten/system/include/libc/dirent.h +69 -6
- data/modules/emscripten/system/include/libc/dlfcn.h +42 -0
- data/modules/emscripten/system/include/libc/elf.h +2555 -0
- data/modules/emscripten/system/include/libc/endian.h +80 -1
- data/modules/emscripten/system/include/libc/err.h +25 -0
- data/modules/emscripten/system/include/libc/errno.h +23 -7
- data/modules/emscripten/system/include/libc/fcntl.h +175 -1
- data/modules/emscripten/system/include/libc/features.h +32 -0
- data/modules/emscripten/system/include/libc/fenv.h +28 -0
- data/modules/emscripten/system/include/libc/float.h +34 -0
- data/modules/emscripten/system/include/libc/fnmatch.h +24 -50
- data/modules/emscripten/system/include/libc/ftw.h +42 -0
- data/modules/emscripten/system/include/libc/getopt.h +22 -187
- data/modules/emscripten/system/include/libc/glob.h +42 -83
- data/modules/emscripten/system/include/libc/grp.h +37 -79
- data/modules/emscripten/system/include/libc/iconv.h +18 -56
- data/modules/emscripten/system/include/libc/ifaddrs.h +24 -53
- data/modules/emscripten/system/include/libc/inttypes.h +208 -271
- data/modules/emscripten/system/include/libc/iso646.h +5 -28
- data/modules/emscripten/system/include/libc/langinfo.h +88 -316
- data/modules/emscripten/system/include/libc/lastlog.h +1 -0
- data/modules/emscripten/system/include/libc/libgen.h +5 -13
- data/modules/emscripten/system/include/libc/libintl.h +25 -0
- data/modules/emscripten/system/include/libc/limits.h +140 -149
- data/modules/emscripten/system/include/libc/link.h +54 -0
- data/modules/emscripten/system/include/libc/locale.h +72 -70
- data/modules/emscripten/system/include/libc/malloc.h +0 -169
- data/modules/emscripten/system/include/libc/math.h +393 -573
- data/modules/emscripten/system/include/libc/memory.h +1 -0
- data/modules/emscripten/system/include/libc/mntent.h +44 -0
- data/modules/emscripten/system/include/libc/monetary.h +23 -0
- data/modules/emscripten/system/include/libc/mqueue.h +36 -0
- data/modules/emscripten/system/include/libc/net/ethernet.h +55 -0
- data/modules/emscripten/system/include/libc/net/if.h +135 -0
- data/modules/emscripten/system/include/libc/net/if_arp.h +133 -0
- data/modules/emscripten/system/include/libc/net/route.h +124 -0
- data/modules/emscripten/system/include/libc/netdb.h +161 -0
- data/modules/emscripten/system/include/libc/netinet/ether.h +14 -0
- data/modules/emscripten/system/include/libc/netinet/icmp6.h +305 -0
- data/modules/emscripten/system/include/libc/netinet/if_ether.h +126 -0
- data/modules/emscripten/system/include/libc/netinet/in.h +336 -0
- data/modules/emscripten/system/include/libc/netinet/in_systm.h +9 -0
- data/modules/emscripten/system/include/libc/netinet/ip.h +186 -0
- data/modules/emscripten/system/include/libc/netinet/ip6.h +142 -0
- data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +192 -0
- data/modules/emscripten/system/include/libc/netinet/tcp.h +71 -0
- data/modules/emscripten/system/include/libc/netinet/udp.h +35 -0
- data/modules/emscripten/system/include/libc/netpacket/packet.h +44 -0
- data/modules/emscripten/system/include/libc/nl_types.h +22 -0
- data/modules/emscripten/system/include/libc/paths.h +30 -5
- data/modules/emscripten/system/include/libc/poll.h +46 -0
- data/modules/emscripten/system/include/libc/pthread.h +191 -331
- data/modules/emscripten/system/include/libc/pty.h +18 -0
- data/modules/emscripten/system/include/libc/pwd.h +33 -62
- data/modules/emscripten/system/include/libc/readme.txt +2 -2
- data/modules/emscripten/system/include/libc/regex.h +53 -93
- data/modules/emscripten/system/include/libc/resolv.h +144 -0
- data/modules/emscripten/system/include/libc/sched.h +124 -89
- data/modules/emscripten/system/include/libc/search.h +40 -48
- data/modules/emscripten/system/include/libc/semaphore.h +35 -0
- data/modules/emscripten/system/include/libc/setjmp.h +35 -13
- data/modules/emscripten/system/include/libc/shadow.h +44 -0
- data/modules/emscripten/system/include/libc/signal.h +245 -20
- data/modules/emscripten/system/include/libc/spawn.h +74 -0
- data/modules/emscripten/system/include/libc/stdalign.h +15 -0
- data/modules/emscripten/system/include/libc/stdarg.h +18 -43
- data/modules/emscripten/system/include/libc/stdbool.h +14 -0
- data/modules/emscripten/system/include/libc/stddef.h +12 -58
- data/modules/emscripten/system/include/libc/stdint.h +82 -458
- data/modules/emscripten/system/include/libc/stdio.h +184 -679
- data/modules/emscripten/system/include/libc/stdio_ext.h +34 -0
- data/modules/emscripten/system/include/libc/stdlib.h +146 -205
- data/modules/emscripten/system/include/libc/stdnoreturn.h +5 -0
- data/modules/emscripten/system/include/libc/string.h +86 -89
- data/modules/emscripten/system/include/libc/strings.h +27 -27
- data/modules/emscripten/system/include/libc/stropts.h +139 -0
- data/modules/emscripten/system/include/libc/sys/acct.h +75 -0
- data/modules/emscripten/system/include/libc/sys/cachectl.h +22 -0
- data/modules/emscripten/system/include/libc/sys/dir.h +0 -8
- data/modules/emscripten/system/include/libc/sys/epoll.h +67 -0
- data/modules/emscripten/system/include/libc/sys/errno.h +2 -190
- data/modules/emscripten/system/include/libc/sys/eventfd.h +26 -0
- data/modules/emscripten/system/include/libc/sys/fcntl.h +2 -4
- data/modules/emscripten/system/include/libc/sys/file.h +20 -1
- data/modules/emscripten/system/include/libc/sys/fsuid.h +20 -0
- data/modules/emscripten/system/include/libc/sys/inotify.h +57 -0
- data/modules/emscripten/system/include/libc/sys/io.h +17 -0
- data/modules/emscripten/system/include/libc/sys/ioctl.h +14 -0
- data/modules/emscripten/system/include/libc/sys/ipc.h +42 -0
- data/modules/emscripten/system/include/{sys/sysctl.h → libc/sys/klog.h} +4 -4
- data/modules/emscripten/system/include/libc/sys/mman.h +55 -0
- data/modules/emscripten/system/include/libc/sys/mount.h +72 -0
- data/modules/emscripten/system/include/libc/sys/msg.h +52 -0
- data/modules/emscripten/system/include/libc/sys/mtio.h +188 -0
- data/modules/emscripten/system/include/libc/sys/param.h +29 -19
- data/modules/emscripten/system/include/libc/sys/personality.h +46 -0
- data/modules/emscripten/system/include/libc/sys/poll.h +2 -0
- data/modules/emscripten/system/include/libc/sys/prctl.h +101 -0
- data/modules/emscripten/system/include/libc/sys/procfs.h +65 -0
- data/modules/emscripten/system/include/libc/sys/ptrace.h +96 -0
- data/modules/emscripten/system/include/libc/sys/reboot.h +20 -0
- data/modules/emscripten/system/include/libc/sys/reg.h +9 -0
- data/modules/emscripten/system/include/libc/sys/resource.h +89 -45
- data/modules/emscripten/system/include/libc/sys/select.h +42 -0
- data/modules/emscripten/system/include/libc/sys/sem.h +82 -0
- data/modules/emscripten/system/include/libc/sys/sendfile.h +22 -0
- data/modules/emscripten/system/include/libc/sys/shm.h +61 -0
- data/modules/emscripten/system/include/libc/sys/signal.h +1 -315
- data/modules/emscripten/system/include/libc/sys/signalfd.h +44 -0
- data/modules/emscripten/system/include/libc/sys/socket.h +299 -0
- data/modules/emscripten/system/include/libc/sys/stat.h +95 -204
- data/modules/emscripten/system/include/libc/sys/statfs.h +32 -0
- data/modules/emscripten/system/include/libc/sys/statvfs.h +57 -0
- data/modules/emscripten/system/include/libc/sys/stropts.h +1 -0
- data/modules/emscripten/system/include/libc/sys/swap.h +21 -0
- data/modules/emscripten/system/include/libc/sys/syscall.h +6 -0
- data/modules/emscripten/system/include/libc/sys/sysctl.h +17 -0
- data/modules/emscripten/system/include/libc/sys/sysinfo.h +36 -0
- data/modules/emscripten/system/include/libc/sys/syslog.h +1 -0
- data/modules/emscripten/system/include/libc/sys/sysmacros.h +15 -0
- data/modules/emscripten/system/include/libc/sys/termios.h +2 -280
- data/modules/emscripten/system/include/libc/sys/time.h +40 -68
- data/modules/emscripten/system/include/libc/sys/timerfd.h +24 -0
- data/modules/emscripten/system/include/libc/sys/times.h +14 -16
- data/modules/emscripten/system/include/libc/sys/timex.h +98 -0
- data/modules/emscripten/system/include/libc/sys/ttydefaults.h +34 -92
- data/modules/emscripten/system/include/libc/sys/types.h +87 -481
- data/modules/emscripten/system/include/libc/sys/ucontext.h +1 -0
- data/modules/emscripten/system/include/libc/sys/uio.h +48 -0
- data/modules/emscripten/system/include/libc/sys/un.h +32 -0
- data/modules/emscripten/system/include/libc/sys/user.h +16 -0
- data/modules/emscripten/system/include/libc/sys/utsname.h +30 -0
- data/modules/emscripten/system/include/libc/sys/vfs.h +1 -0
- data/modules/emscripten/system/include/libc/sys/wait.h +41 -26
- data/modules/emscripten/system/include/libc/sys/xattr.h +30 -0
- data/modules/emscripten/system/include/libc/syscall.h +1 -0
- data/modules/emscripten/system/include/libc/sysexits.h +21 -0
- data/modules/emscripten/system/include/libc/syslog.h +104 -0
- data/modules/emscripten/system/include/libc/tar.h +27 -33
- data/modules/emscripten/system/include/libc/termios.h +40 -1
- data/modules/emscripten/system/include/libc/tgmath.h +270 -0
- data/modules/emscripten/system/include/libc/time.h +96 -237
- data/modules/emscripten/system/include/libc/ucontext.h +25 -0
- data/modules/emscripten/system/include/libc/ulimit.h +17 -0
- data/modules/emscripten/system/include/libc/unistd.h +517 -4
- data/modules/emscripten/system/include/libc/utime.h +15 -3
- data/modules/emscripten/system/include/libc/utmp.h +40 -1
- data/modules/emscripten/system/include/libc/utmpx.h +58 -0
- data/modules/emscripten/system/include/libc/values.h +39 -0
- data/modules/emscripten/system/include/libc/wchar.h +164 -175
- data/modules/emscripten/system/include/libc/wctype.h +67 -37
- data/modules/emscripten/system/include/libc/wordexp.h +31 -42
- data/modules/emscripten/system/include/libcxx/__locale +6 -6
- data/modules/emscripten/system/include/libcxx/locale +1 -1
- data/modules/emscripten/system/lib/libc/musl/readme.txt +9 -1
- data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +5 -0
- data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +92 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +1085 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +238 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +1836 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +390 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +454 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +550 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +640 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +39 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +101 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +18 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +16 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +21 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +6 -0
- data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +9 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +13 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +14 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +361 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +53 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +7 -0
- data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +13 -0
- data/modules/emscripten/system/lib/libcextra.symbols +44 -0
- data/modules/emscripten/system/lib/libcxx/exception.cpp +3 -3
- data/modules/emscripten/system/lib/libcxx/locale.cpp +12 -12
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +1 -1
- data/modules/emscripten/tools/asm_module.py +2 -0
- data/modules/emscripten/tools/autodebugger.py +3 -1
- data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -4835
- data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -6495
- data/modules/emscripten/tools/file_packager.py +53 -56
- data/modules/emscripten/tools/find_bigfuncs.py +2 -2
- data/modules/emscripten/tools/find_bigvars.py +24 -0
- data/modules/emscripten/tools/gen_struct_info.py +509 -0
- data/modules/emscripten/tools/gen_struct_info.pyc +0 -0
- data/modules/emscripten/tools/js-optimizer.js +177 -86
- data/modules/emscripten/tools/js_optimizer.py +54 -19
- data/modules/emscripten/tools/js_optimizer.pyc +0 -0
- data/modules/emscripten/tools/jsrun.py +17 -7
- data/modules/emscripten/tools/jsrun.pyc +0 -0
- data/modules/emscripten/tools/response_file.py +2 -2
- data/modules/emscripten/tools/response_file.pyc +0 -0
- data/modules/emscripten/tools/shared.py +257 -123
- data/modules/emscripten/tools/shared.pyc +0 -0
- data/modules/emscripten/tools/source-maps/sourcemapper.js +37 -6
- data/modules/emscripten/tools/tempfiles.py +1 -0
- data/modules/emscripten/tools/tempfiles.pyc +0 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +2 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +8 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +412 -169
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +88 -0
- data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +311 -265
- data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -20
- data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -21
- data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +2 -2
- data/modules/emscripten/tools/test-js-optimizer-regs-output.js +8 -8
- data/modules/emscripten/tools/test-js-optimizer-regs.js +1 -1
- data/modules/emscripten/tools/validate_asmjs.py +82 -0
- data/modules/mruby/Rakefile +2 -2
- data/modules/mruby/include/mruby/class.h +2 -2
- data/modules/mruby/include/mruby/compile.h +12 -4
- data/modules/mruby/include/mruby/data.h +8 -3
- data/modules/mruby/include/mruby/debug.h +65 -0
- data/modules/mruby/include/mruby/dump.h +10 -2
- data/modules/mruby/include/mruby/irep.h +1 -0
- data/modules/mruby/include/mruby/string.h +2 -1
- data/modules/mruby/include/mruby/value.h +20 -13
- data/modules/mruby/include/mruby/variable.h +1 -0
- data/modules/mruby/include/mruby.h +5 -6
- data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +6 -4
- data/modules/mruby/mrbgems/mruby-math/src/math.c +4 -0
- data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
- data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +1 -1
- data/modules/mruby/mrbgems/mruby-random/src/random.c +1 -4
- data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +25 -16
- data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +4 -0
- data/modules/mruby/mrbgems/mruby-struct/src/struct.c +1 -1
- data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +51 -0
- data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +22 -0
- data/modules/mruby/mrbgems/mruby-time/src/time.c +38 -60
- data/modules/mruby/mrblib/class.rb +2 -2
- data/modules/mruby/src/backtrace.c +96 -23
- data/modules/mruby/src/class.c +43 -41
- data/modules/mruby/src/codegen.c +52 -46
- data/modules/mruby/src/debug.c +214 -0
- data/modules/mruby/src/dump.c +245 -17
- data/modules/mruby/src/error.c +14 -6
- data/modules/mruby/src/etc.c +17 -10
- data/modules/mruby/src/gc.c +9 -9
- data/modules/mruby/src/kernel.c +1 -1
- data/modules/mruby/src/load.c +137 -1
- data/modules/mruby/src/object.c +1 -1
- data/modules/mruby/src/parse.y +162 -37
- data/modules/mruby/src/state.c +2 -0
- data/modules/mruby/src/string.c +28 -19
- data/modules/mruby/src/symbol.c +0 -1
- data/modules/mruby/src/variable.c +12 -15
- data/modules/mruby/src/vm.c +38 -22
- data/modules/mruby/tasks/mrbgem_spec.rake +6 -4
- data/modules/mruby/tasks/mrbgems_test.rake +9 -9
- data/modules/mruby/tasks/mruby_build_gem.rake +9 -0
- data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
- data/modules/mruby/test/driver.c +3 -3
- data/modules/mruby/test/t/array.rb +13 -0
- data/modules/mruby/test/t/class.rb +28 -0
- data/modules/mruby/test/t/exception.rb +10 -0
- data/modules/mruby/test/t/literals.rb +50 -0
- data/modules/mruby/test/t/module.rb +22 -0
- data/modules/mruby/test/t/proc.rb +37 -0
- data/modules/mruby/test/t/string.rb +20 -21
- data/modules/mruby/tools/mrbc/mrbc.c +2 -4
- data/scripts/gen_post.rb +1 -0
- data/scripts/gen_require.rb +107 -0
- data/templates/minimal/Rakefile +20 -0
- metadata +210 -88
- data/driver/main.c +0 -40
- data/modules/emscripten/cmake/Platform/Emscripten_unix.cmake +0 -24
- data/modules/emscripten/emlibtool +0 -11
- data/modules/emscripten/emlibtool.bat +0 -2
- data/modules/emscripten/src/framework.js +0 -257
- data/modules/emscripten/system/include/bsd/float.h +0 -91
- data/modules/emscripten/system/include/bsd/readme.txt +0 -2
- data/modules/emscripten/system/include/bsd/sys/mman.h +0 -180
- data/modules/emscripten/system/include/bsd/sys/utsname.h +0 -70
- data/modules/emscripten/system/include/dlfcn.h +0 -31
- data/modules/emscripten/system/include/err.h +0 -95
- data/modules/emscripten/system/include/features.h +0 -3
- data/modules/emscripten/system/include/libc/_ansi.h +0 -135
- data/modules/emscripten/system/include/libc/_syslist.h +0 -40
- data/modules/emscripten/system/include/libc/argz.h +0 -33
- data/modules/emscripten/system/include/libc/envlock.h +0 -15
- data/modules/emscripten/system/include/libc/envz.h +0 -16
- data/modules/emscripten/system/include/libc/fastmath.h +0 -13
- data/modules/emscripten/system/include/libc/ieeefp.h +0 -256
- data/modules/emscripten/system/include/libc/machine/_default_types.h +0 -121
- data/modules/emscripten/system/include/libc/machine/_types.h +0 -8
- data/modules/emscripten/system/include/libc/machine/ansi.h +0 -1
- data/modules/emscripten/system/include/libc/machine/endian.h +0 -31
- data/modules/emscripten/system/include/libc/machine/fastmath.h +0 -100
- data/modules/emscripten/system/include/libc/machine/ieeefp.h +0 -376
- data/modules/emscripten/system/include/libc/machine/malloc.h +0 -8
- data/modules/emscripten/system/include/libc/machine/param.h +0 -1
- data/modules/emscripten/system/include/libc/machine/setjmp-dj.h +0 -43
- data/modules/emscripten/system/include/libc/machine/setjmp.h +0 -361
- data/modules/emscripten/system/include/libc/machine/stdlib.h +0 -8
- data/modules/emscripten/system/include/libc/machine/termios.h +0 -1
- data/modules/emscripten/system/include/libc/machine/time.h +0 -19
- data/modules/emscripten/system/include/libc/machine/types.h +0 -30
- data/modules/emscripten/system/include/libc/newlib.h +0 -2
- data/modules/emscripten/system/include/libc/process.h +0 -44
- data/modules/emscripten/system/include/libc/reent.h +0 -183
- data/modules/emscripten/system/include/libc/regdef.h +0 -7
- data/modules/emscripten/system/include/libc/sys/_default_fcntl.h +0 -223
- data/modules/emscripten/system/include/libc/sys/_types.h +0 -93
- data/modules/emscripten/system/include/libc/sys/cdefs.h +0 -123
- data/modules/emscripten/system/include/libc/sys/config.h +0 -255
- data/modules/emscripten/system/include/libc/sys/custom_file.h +0 -2
- data/modules/emscripten/system/include/libc/sys/dirent.h +0 -58
- data/modules/emscripten/system/include/libc/sys/features.h +0 -212
- data/modules/emscripten/system/include/libc/sys/iconvnls.h +0 -77
- data/modules/emscripten/system/include/libc/sys/lock.h +0 -24
- data/modules/emscripten/system/include/libc/sys/queue.h +0 -471
- data/modules/emscripten/system/include/libc/sys/reent.h +0 -843
- data/modules/emscripten/system/include/libc/sys/sched.h +0 -67
- data/modules/emscripten/system/include/libc/sys/stdio.h +0 -27
- data/modules/emscripten/system/include/libc/sys/string.h +0 -2
- data/modules/emscripten/system/include/libc/sys/syslimits.h +0 -65
- data/modules/emscripten/system/include/libc/sys/unistd.h +0 -514
- data/modules/emscripten/system/include/libc/sys/utime.h +0 -26
- data/modules/emscripten/system/include/libc/unctrl.h +0 -46
- data/modules/emscripten/system/include/memory.h +0 -10
- data/modules/emscripten/system/include/mntent.h +0 -23
- data/modules/emscripten/system/include/net/arpa/inet.h +0 -32
- data/modules/emscripten/system/include/net/arpa/nameser.h +0 -535
- data/modules/emscripten/system/include/net/arpa/nameser_compat.h +0 -187
- data/modules/emscripten/system/include/net/if.h +0 -106
- data/modules/emscripten/system/include/net/netinet/in.h +0 -230
- data/modules/emscripten/system/include/net/netinet/tcp.h +0 -246
- data/modules/emscripten/system/include/net/resolv.h +0 -389
- data/modules/emscripten/system/include/netdb.h +0 -130
- data/modules/emscripten/system/include/nl_types.h +0 -19
- data/modules/emscripten/system/include/poll.h +0 -3
- data/modules/emscripten/system/include/pty.h +0 -6
- data/modules/emscripten/system/include/semaphore.h +0 -31
- data/modules/emscripten/system/include/spawn.h +0 -105
- data/modules/emscripten/system/include/stdbool.h +0 -16
- data/modules/emscripten/system/include/sys/bitypes.h +0 -3
- data/modules/emscripten/system/include/sys/io.h +0 -14
- data/modules/emscripten/system/include/sys/ioctl.h +0 -78
- data/modules/emscripten/system/include/sys/poll.h +0 -31
- data/modules/emscripten/system/include/sys/select.h +0 -16
- data/modules/emscripten/system/include/sys/sendfile.h +0 -16
- data/modules/emscripten/system/include/sys/socket.h +0 -247
- data/modules/emscripten/system/include/sys/socketvar.h +0 -3
- data/modules/emscripten/system/include/sys/statvfs.h +0 -32
- data/modules/emscripten/system/include/sys/uio.h +0 -22
- data/modules/emscripten/system/include/sys/un.h +0 -66
- data/modules/emscripten/system/include/sysexits.h +0 -108
- data/modules/emscripten/system/include/xlocale.h +0 -47
@@ -1,26 +0,0 @@
|
|
1
|
-
#ifndef _SYS_UTIME_H
|
2
|
-
#define _SYS_UTIME_H
|
3
|
-
|
4
|
-
/* This is a dummy <sys/utime.h> file, not customized for any
|
5
|
-
particular system. If there is a utime.h in libc/sys/SYSDIR/sys,
|
6
|
-
it will override this one. */
|
7
|
-
|
8
|
-
#ifdef __cplusplus
|
9
|
-
extern "C" {
|
10
|
-
#endif
|
11
|
-
|
12
|
-
#include <time.h> /* XXX Emscripten */
|
13
|
-
|
14
|
-
struct utimbuf
|
15
|
-
{
|
16
|
-
time_t actime;
|
17
|
-
time_t modtime;
|
18
|
-
};
|
19
|
-
|
20
|
-
int utime(const char *path, const struct utimbuf *times); /* XXX Emscripten */
|
21
|
-
|
22
|
-
#ifdef __cplusplus
|
23
|
-
};
|
24
|
-
#endif
|
25
|
-
|
26
|
-
#endif /* _SYS_UTIME_H */
|
@@ -1,46 +0,0 @@
|
|
1
|
-
/* From curses.h. */
|
2
|
-
/*
|
3
|
-
* Copyright (c) 1981, 1993
|
4
|
-
* The Regents of the University of California. All rights reserved.
|
5
|
-
*
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
7
|
-
* modification, are permitted provided that the following conditions
|
8
|
-
* are met:
|
9
|
-
* 1. Redistributions of source code must retain the above copyright
|
10
|
-
* notice, this list of conditions and the following disclaimer.
|
11
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
12
|
-
* notice, this list of conditions and the following disclaimer in the
|
13
|
-
* documentation and/or other materials provided with the distribution.
|
14
|
-
* 3. All advertising materials mentioning features or use of this software
|
15
|
-
* must display the following acknowledgement:
|
16
|
-
* This product includes software developed by the University of
|
17
|
-
* California, Berkeley and its contributors.
|
18
|
-
* 4. Neither the name of the University nor the names of its contributors
|
19
|
-
* may be used to endorse or promote products derived from this software
|
20
|
-
* without specific prior written permission.
|
21
|
-
*
|
22
|
-
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
23
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
24
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
25
|
-
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
26
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
27
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
28
|
-
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
29
|
-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
30
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
31
|
-
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
32
|
-
* SUCH DAMAGE.
|
33
|
-
*/
|
34
|
-
|
35
|
-
#ifndef _UNCTRL_H_
|
36
|
-
#define _UNCTRL_H_
|
37
|
-
|
38
|
-
#include <_ansi.h>
|
39
|
-
|
40
|
-
#define unctrl(c) __unctrl[(c) & 0xff]
|
41
|
-
#define unctrllen(ch) __unctrllen[(ch) & 0xff]
|
42
|
-
|
43
|
-
extern __IMPORT _CONST char * _CONST __unctrl[256]; /* Control strings. */
|
44
|
-
extern __IMPORT _CONST char __unctrllen[256]; /* Control strings length. */
|
45
|
-
|
46
|
-
#endif /* _UNCTRL_H_ */
|
@@ -1,23 +0,0 @@
|
|
1
|
-
|
2
|
-
#ifndef _MNTENT_H
|
3
|
-
#define _MNTENT_H
|
4
|
-
|
5
|
-
#include <stdio.h>
|
6
|
-
|
7
|
-
struct mntent {
|
8
|
-
char *mnt_fsname;
|
9
|
-
char *mnt_dir;
|
10
|
-
char *mnt_type;
|
11
|
-
char *mnt_opts;
|
12
|
-
int mnt_freq;
|
13
|
-
int mnt_passno;
|
14
|
-
};
|
15
|
-
|
16
|
-
struct mntent *getmntent(FILE *f);
|
17
|
-
FILE *setmntent(const char *filename, const char *type);
|
18
|
-
int addmntent(FILE *f, const struct mntent *m);
|
19
|
-
int endmntent(FILE *f);
|
20
|
-
char *hasmntopt(const struct mntent *m, const char *opt);
|
21
|
-
|
22
|
-
#endif
|
23
|
-
|
@@ -1,32 +0,0 @@
|
|
1
|
-
|
2
|
-
#ifndef _NET_ARPA_INET_H
|
3
|
-
#define _NET_ARPA_INET_H
|
4
|
-
|
5
|
-
#ifdef __cplusplus
|
6
|
-
extern "C" {
|
7
|
-
#endif
|
8
|
-
|
9
|
-
#include <stdint.h>
|
10
|
-
#include <netdb.h>
|
11
|
-
#include <netinet/in.h>
|
12
|
-
|
13
|
-
uint32_t htonl(uint32_t hostlong);
|
14
|
-
uint16_t htons(uint16_t hostshort);
|
15
|
-
uint32_t ntohl(uint32_t netlong);
|
16
|
-
uint16_t ntohs(uint16_t netshort);
|
17
|
-
|
18
|
-
int inet_aton(const char *cp, struct in_addr *addr);
|
19
|
-
char *inet_ntoa(struct in_addr in);
|
20
|
-
|
21
|
-
int inet_pton(int af, const char *src, void *dst);
|
22
|
-
const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
|
23
|
-
|
24
|
-
typedef long in_addr_t;
|
25
|
-
in_addr_t inet_addr(const char *cp);
|
26
|
-
|
27
|
-
#ifdef __cplusplus
|
28
|
-
}
|
29
|
-
#endif
|
30
|
-
|
31
|
-
#endif
|
32
|
-
|
@@ -1,535 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright (c) 1983, 1989, 1993
|
3
|
-
* The Regents of the University of California. All rights reserved.
|
4
|
-
*
|
5
|
-
* Redistribution and use in source and binary forms, with or without
|
6
|
-
* modification, are permitted provided that the following conditions
|
7
|
-
* are met:
|
8
|
-
* 1. Redistributions of source code must retain the above copyright
|
9
|
-
* notice, this list of conditions and the following disclaimer.
|
10
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
11
|
-
* notice, this list of conditions and the following disclaimer in the
|
12
|
-
* documentation and/or other materials provided with the distribution.
|
13
|
-
* 4. Neither the name of the University nor the names of its contributors
|
14
|
-
* may be used to endorse or promote products derived from this software
|
15
|
-
* without specific prior written permission.
|
16
|
-
*
|
17
|
-
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
18
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
19
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
20
|
-
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
21
|
-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
22
|
-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
23
|
-
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
24
|
-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
25
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
26
|
-
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
27
|
-
* SUCH DAMAGE.
|
28
|
-
*/
|
29
|
-
|
30
|
-
/*
|
31
|
-
* Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
|
32
|
-
* Copyright (c) 1996-1999 by Internet Software Consortium.
|
33
|
-
*
|
34
|
-
* Permission to use, copy, modify, and distribute this software for any
|
35
|
-
* purpose with or without fee is hereby granted, provided that the above
|
36
|
-
* copyright notice and this permission notice appear in all copies.
|
37
|
-
*
|
38
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
|
39
|
-
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
40
|
-
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
|
41
|
-
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
42
|
-
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
43
|
-
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
44
|
-
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
45
|
-
* SOFTWARE.
|
46
|
-
*/
|
47
|
-
|
48
|
-
/*
|
49
|
-
* $BINDId: nameser.h,v 8.37 2000/03/30 21:16:49 vixie Exp $
|
50
|
-
*/
|
51
|
-
|
52
|
-
#ifndef _ARPA_NAMESER_H_
|
53
|
-
#define _ARPA_NAMESER_H_
|
54
|
-
|
55
|
-
/*! \file */
|
56
|
-
|
57
|
-
#define BIND_4_COMPAT
|
58
|
-
|
59
|
-
#include <sys/param.h>
|
60
|
-
#if (!defined(BSD)) || (BSD < 199306)
|
61
|
-
# include <sys/bitypes.h>
|
62
|
-
#else
|
63
|
-
# include <sys/types.h>
|
64
|
-
#endif
|
65
|
-
#include <sys/cdefs.h>
|
66
|
-
|
67
|
-
/*%
|
68
|
-
* Revision information. This is the release date in YYYYMMDD format.
|
69
|
-
* It can change every day so the right thing to do with it is use it
|
70
|
-
* in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not
|
71
|
-
* compare for equality; rather, use it to determine whether your libbind.a
|
72
|
-
* contains a new enough lib/nameser/ to support the feature you need.
|
73
|
-
*/
|
74
|
-
|
75
|
-
#define __NAMESER 19991006 /*%< New interface version stamp. */
|
76
|
-
/*
|
77
|
-
* Define constants based on RFC 883, RFC 1034, RFC 1035
|
78
|
-
*/
|
79
|
-
#define NS_PACKETSZ 512 /*%< default UDP packet size */
|
80
|
-
#define NS_MAXDNAME 1025 /*%< maximum domain name */
|
81
|
-
#define NS_MAXMSG 65535 /*%< maximum message size */
|
82
|
-
#define NS_MAXCDNAME 255 /*%< maximum compressed domain name */
|
83
|
-
#define NS_MAXLABEL 63 /*%< maximum length of domain label */
|
84
|
-
#define NS_HFIXEDSZ 12 /*%< #/bytes of fixed data in header */
|
85
|
-
#define NS_QFIXEDSZ 4 /*%< #/bytes of fixed data in query */
|
86
|
-
#define NS_RRFIXEDSZ 10 /*%< #/bytes of fixed data in r record */
|
87
|
-
#define NS_INT32SZ 4 /*%< #/bytes of data in a u_int32_t */
|
88
|
-
#define NS_INT16SZ 2 /*%< #/bytes of data in a u_int16_t */
|
89
|
-
#define NS_INT8SZ 1 /*%< #/bytes of data in a u_int8_t */
|
90
|
-
#define NS_INADDRSZ 4 /*%< IPv4 T_A */
|
91
|
-
#define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */
|
92
|
-
#define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */
|
93
|
-
#define NS_DEFAULTPORT 53 /*%< For both TCP and UDP. */
|
94
|
-
/*
|
95
|
-
* These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
|
96
|
-
* in synch with it.
|
97
|
-
*/
|
98
|
-
typedef enum __ns_sect {
|
99
|
-
ns_s_qd = 0, /*%< Query: Question. */
|
100
|
-
ns_s_zn = 0, /*%< Update: Zone. */
|
101
|
-
ns_s_an = 1, /*%< Query: Answer. */
|
102
|
-
ns_s_pr = 1, /*%< Update: Prerequisites. */
|
103
|
-
ns_s_ns = 2, /*%< Query: Name servers. */
|
104
|
-
ns_s_ud = 2, /*%< Update: Update. */
|
105
|
-
ns_s_ar = 3, /*%< Query|Update: Additional records. */
|
106
|
-
ns_s_max = 4
|
107
|
-
} ns_sect;
|
108
|
-
|
109
|
-
/*%
|
110
|
-
* This is a message handle. It is caller allocated and has no dynamic data.
|
111
|
-
* This structure is intended to be opaque to all but ns_parse.c, thus the
|
112
|
-
* leading _'s on the member names. Use the accessor functions, not the _'s.
|
113
|
-
*/
|
114
|
-
typedef struct __ns_msg {
|
115
|
-
const u_char *_msg, *_eom;
|
116
|
-
u_int16_t _id, _flags, _counts[ns_s_max];
|
117
|
-
const u_char *_sections[ns_s_max];
|
118
|
-
ns_sect _sect;
|
119
|
-
int _rrnum;
|
120
|
-
const u_char *_msg_ptr;
|
121
|
-
} ns_msg;
|
122
|
-
|
123
|
-
/* Private data structure - do not use from outside library. */
|
124
|
-
struct _ns_flagdata { int mask, shift; };
|
125
|
-
extern const struct _ns_flagdata _ns_flagdata[];
|
126
|
-
|
127
|
-
/* Accessor macros - this is part of the public interface. */
|
128
|
-
|
129
|
-
#define ns_msg_id(handle) ((handle)._id + 0)
|
130
|
-
#define ns_msg_base(handle) ((handle)._msg + 0)
|
131
|
-
#define ns_msg_end(handle) ((handle)._eom + 0)
|
132
|
-
#define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
|
133
|
-
#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
|
134
|
-
|
135
|
-
/*%
|
136
|
-
* This is a parsed record. It is caller allocated and has no dynamic data.
|
137
|
-
*/
|
138
|
-
typedef struct __ns_rr {
|
139
|
-
char name[NS_MAXDNAME];
|
140
|
-
u_int16_t type;
|
141
|
-
u_int16_t rr_class;
|
142
|
-
u_int32_t ttl;
|
143
|
-
u_int16_t rdlength;
|
144
|
-
const u_char * rdata;
|
145
|
-
} ns_rr;
|
146
|
-
|
147
|
-
/* Accessor macros - this is part of the public interface. */
|
148
|
-
#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
|
149
|
-
#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
|
150
|
-
#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
|
151
|
-
#define ns_rr_ttl(rr) ((rr).ttl + 0)
|
152
|
-
#define ns_rr_rdlen(rr) ((rr).rdlength + 0)
|
153
|
-
#define ns_rr_rdata(rr) ((rr).rdata + 0)
|
154
|
-
|
155
|
-
/*%
|
156
|
-
* These don't have to be in the same order as in the packet flags word,
|
157
|
-
* and they can even overlap in some cases, but they will need to be kept
|
158
|
-
* in synch with ns_parse.c:ns_flagdata[].
|
159
|
-
*/
|
160
|
-
typedef enum __ns_flag {
|
161
|
-
ns_f_qr, /*%< Question/Response. */
|
162
|
-
ns_f_opcode, /*%< Operation code. */
|
163
|
-
ns_f_aa, /*%< Authoritative Answer. */
|
164
|
-
ns_f_tc, /*%< Truncation occurred. */
|
165
|
-
ns_f_rd, /*%< Recursion Desired. */
|
166
|
-
ns_f_ra, /*%< Recursion Available. */
|
167
|
-
ns_f_z, /*%< MBZ. */
|
168
|
-
ns_f_ad, /*%< Authentic Data (DNSSEC). */
|
169
|
-
ns_f_cd, /*%< Checking Disabled (DNSSEC). */
|
170
|
-
ns_f_rcode, /*%< Response code. */
|
171
|
-
ns_f_max
|
172
|
-
} ns_flag;
|
173
|
-
|
174
|
-
/*%
|
175
|
-
* Currently defined opcodes.
|
176
|
-
*/
|
177
|
-
typedef enum __ns_opcode {
|
178
|
-
ns_o_query = 0, /*%< Standard query. */
|
179
|
-
ns_o_iquery = 1, /*%< Inverse query (deprecated/unsupported). */
|
180
|
-
ns_o_status = 2, /*%< Name server status query (unsupported). */
|
181
|
-
/* Opcode 3 is undefined/reserved. */
|
182
|
-
ns_o_notify = 4, /*%< Zone change notification. */
|
183
|
-
ns_o_update = 5, /*%< Zone update message. */
|
184
|
-
ns_o_max = 6
|
185
|
-
} ns_opcode;
|
186
|
-
|
187
|
-
/*%
|
188
|
-
* Currently defined response codes.
|
189
|
-
*/
|
190
|
-
typedef enum __ns_rcode {
|
191
|
-
ns_r_noerror = 0, /*%< No error occurred. */
|
192
|
-
ns_r_formerr = 1, /*%< Format error. */
|
193
|
-
ns_r_servfail = 2, /*%< Server failure. */
|
194
|
-
ns_r_nxdomain = 3, /*%< Name error. */
|
195
|
-
ns_r_notimpl = 4, /*%< Unimplemented. */
|
196
|
-
ns_r_refused = 5, /*%< Operation refused. */
|
197
|
-
/* these are for BIND_UPDATE */
|
198
|
-
ns_r_yxdomain = 6, /*%< Name exists */
|
199
|
-
ns_r_yxrrset = 7, /*%< RRset exists */
|
200
|
-
ns_r_nxrrset = 8, /*%< RRset does not exist */
|
201
|
-
ns_r_notauth = 9, /*%< Not authoritative for zone */
|
202
|
-
ns_r_notzone = 10, /*%< Zone of record different from zone section */
|
203
|
-
ns_r_max = 11,
|
204
|
-
/* The following are EDNS extended rcodes */
|
205
|
-
ns_r_badvers = 16,
|
206
|
-
/* The following are TSIG errors */
|
207
|
-
ns_r_badsig = 16,
|
208
|
-
ns_r_badkey = 17,
|
209
|
-
ns_r_badtime = 18
|
210
|
-
} ns_rcode;
|
211
|
-
|
212
|
-
/* BIND_UPDATE */
|
213
|
-
typedef enum __ns_update_operation {
|
214
|
-
ns_uop_delete = 0,
|
215
|
-
ns_uop_add = 1,
|
216
|
-
ns_uop_max = 2
|
217
|
-
} ns_update_operation;
|
218
|
-
|
219
|
-
/*%
|
220
|
-
* This structure is used for TSIG authenticated messages
|
221
|
-
*/
|
222
|
-
struct ns_tsig_key {
|
223
|
-
char name[NS_MAXDNAME], alg[NS_MAXDNAME];
|
224
|
-
unsigned char *data;
|
225
|
-
int len;
|
226
|
-
};
|
227
|
-
typedef struct ns_tsig_key ns_tsig_key;
|
228
|
-
|
229
|
-
/*%
|
230
|
-
* This structure is used for TSIG authenticated TCP messages
|
231
|
-
*/
|
232
|
-
struct ns_tcp_tsig_state {
|
233
|
-
int counter;
|
234
|
-
struct dst_key *key;
|
235
|
-
void *ctx;
|
236
|
-
unsigned char sig[NS_PACKETSZ];
|
237
|
-
int siglen;
|
238
|
-
};
|
239
|
-
typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
|
240
|
-
|
241
|
-
#define NS_TSIG_FUDGE 300
|
242
|
-
#define NS_TSIG_TCP_COUNT 100
|
243
|
-
#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
|
244
|
-
|
245
|
-
#define NS_TSIG_ERROR_NO_TSIG -10
|
246
|
-
#define NS_TSIG_ERROR_NO_SPACE -11
|
247
|
-
#define NS_TSIG_ERROR_FORMERR -12
|
248
|
-
|
249
|
-
/*%
|
250
|
-
* Currently defined type values for resources and queries.
|
251
|
-
*/
|
252
|
-
typedef enum __ns_type {
|
253
|
-
ns_t_invalid = 0, /*%< Cookie. */
|
254
|
-
ns_t_a = 1, /*%< Host address. */
|
255
|
-
ns_t_ns = 2, /*%< Authoritative server. */
|
256
|
-
ns_t_md = 3, /*%< Mail destination. */
|
257
|
-
ns_t_mf = 4, /*%< Mail forwarder. */
|
258
|
-
ns_t_cname = 5, /*%< Canonical name. */
|
259
|
-
ns_t_soa = 6, /*%< Start of authority zone. */
|
260
|
-
ns_t_mb = 7, /*%< Mailbox domain name. */
|
261
|
-
ns_t_mg = 8, /*%< Mail group member. */
|
262
|
-
ns_t_mr = 9, /*%< Mail rename name. */
|
263
|
-
ns_t_null = 10, /*%< Null resource record. */
|
264
|
-
ns_t_wks = 11, /*%< Well known service. */
|
265
|
-
ns_t_ptr = 12, /*%< Domain name pointer. */
|
266
|
-
ns_t_hinfo = 13, /*%< Host information. */
|
267
|
-
ns_t_minfo = 14, /*%< Mailbox information. */
|
268
|
-
ns_t_mx = 15, /*%< Mail routing information. */
|
269
|
-
ns_t_txt = 16, /*%< Text strings. */
|
270
|
-
ns_t_rp = 17, /*%< Responsible person. */
|
271
|
-
ns_t_afsdb = 18, /*%< AFS cell database. */
|
272
|
-
ns_t_x25 = 19, /*%< X_25 calling address. */
|
273
|
-
ns_t_isdn = 20, /*%< ISDN calling address. */
|
274
|
-
ns_t_rt = 21, /*%< Router. */
|
275
|
-
ns_t_nsap = 22, /*%< NSAP address. */
|
276
|
-
ns_t_nsap_ptr = 23, /*%< Reverse NSAP lookup (deprecated). */
|
277
|
-
ns_t_sig = 24, /*%< Security signature. */
|
278
|
-
ns_t_key = 25, /*%< Security key. */
|
279
|
-
ns_t_px = 26, /*%< X.400 mail mapping. */
|
280
|
-
ns_t_gpos = 27, /*%< Geographical position (withdrawn). */
|
281
|
-
ns_t_aaaa = 28, /*%< Ip6 Address. */
|
282
|
-
ns_t_loc = 29, /*%< Location Information. */
|
283
|
-
ns_t_nxt = 30, /*%< Next domain (security). */
|
284
|
-
ns_t_eid = 31, /*%< Endpoint identifier. */
|
285
|
-
ns_t_nimloc = 32, /*%< Nimrod Locator. */
|
286
|
-
ns_t_srv = 33, /*%< Server Selection. */
|
287
|
-
ns_t_atma = 34, /*%< ATM Address */
|
288
|
-
ns_t_naptr = 35, /*%< Naming Authority PoinTeR */
|
289
|
-
ns_t_kx = 36, /*%< Key Exchange */
|
290
|
-
ns_t_cert = 37, /*%< Certification record */
|
291
|
-
ns_t_a6 = 38, /*%< IPv6 address (deprecated, use ns_t_aaaa) */
|
292
|
-
ns_t_dname = 39, /*%< Non-terminal DNAME (for IPv6) */
|
293
|
-
ns_t_sink = 40, /*%< Kitchen sink (experimentatl) */
|
294
|
-
ns_t_opt = 41, /*%< EDNS0 option (meta-RR) */
|
295
|
-
ns_t_apl = 42, /*%< Address prefix list (RFC3123) */
|
296
|
-
ns_t_tkey = 249, /*%< Transaction key */
|
297
|
-
ns_t_tsig = 250, /*%< Transaction signature. */
|
298
|
-
ns_t_ixfr = 251, /*%< Incremental zone transfer. */
|
299
|
-
ns_t_axfr = 252, /*%< Transfer zone of authority. */
|
300
|
-
ns_t_mailb = 253, /*%< Transfer mailbox records. */
|
301
|
-
ns_t_maila = 254, /*%< Transfer mail agent records. */
|
302
|
-
ns_t_any = 255, /*%< Wildcard match. */
|
303
|
-
ns_t_zxfr = 256, /*%< BIND-specific, nonstandard. */
|
304
|
-
ns_t_max = 65536
|
305
|
-
} ns_type;
|
306
|
-
|
307
|
-
/* Exclusively a QTYPE? (not also an RTYPE) */
|
308
|
-
#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
|
309
|
-
(t) == ns_t_mailb || (t) == ns_t_maila)
|
310
|
-
/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
|
311
|
-
#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
|
312
|
-
/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
|
313
|
-
#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
|
314
|
-
#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
|
315
|
-
#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
|
316
|
-
(t) == ns_t_zxfr)
|
317
|
-
|
318
|
-
/*%
|
319
|
-
* Values for class field
|
320
|
-
*/
|
321
|
-
typedef enum __ns_class {
|
322
|
-
ns_c_invalid = 0, /*%< Cookie. */
|
323
|
-
ns_c_in = 1, /*%< Internet. */
|
324
|
-
ns_c_2 = 2, /*%< unallocated/unsupported. */
|
325
|
-
ns_c_chaos = 3, /*%< MIT Chaos-net. */
|
326
|
-
ns_c_hs = 4, /*%< MIT Hesiod. */
|
327
|
-
/* Query class values which do not appear in resource records */
|
328
|
-
ns_c_none = 254, /*%< for prereq. sections in update requests */
|
329
|
-
ns_c_any = 255, /*%< Wildcard match. */
|
330
|
-
ns_c_max = 65536
|
331
|
-
} ns_class;
|
332
|
-
|
333
|
-
/* DNSSEC constants. */
|
334
|
-
|
335
|
-
typedef enum __ns_key_types {
|
336
|
-
ns_kt_rsa = 1, /*%< key type RSA/MD5 */
|
337
|
-
ns_kt_dh = 2, /*%< Diffie Hellman */
|
338
|
-
ns_kt_dsa = 3, /*%< Digital Signature Standard (MANDATORY) */
|
339
|
-
ns_kt_private = 254 /*%< Private key type starts with OID */
|
340
|
-
} ns_key_types;
|
341
|
-
|
342
|
-
typedef enum __ns_cert_types {
|
343
|
-
cert_t_pkix = 1, /*%< PKIX (X.509v3) */
|
344
|
-
cert_t_spki = 2, /*%< SPKI */
|
345
|
-
cert_t_pgp = 3, /*%< PGP */
|
346
|
-
cert_t_url = 253, /*%< URL private type */
|
347
|
-
cert_t_oid = 254 /*%< OID private type */
|
348
|
-
} ns_cert_types;
|
349
|
-
|
350
|
-
/* Flags field of the KEY RR rdata. */
|
351
|
-
#define NS_KEY_TYPEMASK 0xC000 /*%< Mask for "type" bits */
|
352
|
-
#define NS_KEY_TYPE_AUTH_CONF 0x0000 /*%< Key usable for both */
|
353
|
-
#define NS_KEY_TYPE_CONF_ONLY 0x8000 /*%< Key usable for confidentiality */
|
354
|
-
#define NS_KEY_TYPE_AUTH_ONLY 0x4000 /*%< Key usable for authentication */
|
355
|
-
#define NS_KEY_TYPE_NO_KEY 0xC000 /*%< No key usable for either; no key */
|
356
|
-
/* The type bits can also be interpreted independently, as single bits: */
|
357
|
-
#define NS_KEY_NO_AUTH 0x8000 /*%< Key unusable for authentication */
|
358
|
-
#define NS_KEY_NO_CONF 0x4000 /*%< Key unusable for confidentiality */
|
359
|
-
#define NS_KEY_RESERVED2 0x2000 /* Security is *mandatory* if bit=0 */
|
360
|
-
#define NS_KEY_EXTENDED_FLAGS 0x1000 /*%< reserved - must be zero */
|
361
|
-
#define NS_KEY_RESERVED4 0x0800 /*%< reserved - must be zero */
|
362
|
-
#define NS_KEY_RESERVED5 0x0400 /*%< reserved - must be zero */
|
363
|
-
#define NS_KEY_NAME_TYPE 0x0300 /*%< these bits determine the type */
|
364
|
-
#define NS_KEY_NAME_USER 0x0000 /*%< key is assoc. with user */
|
365
|
-
#define NS_KEY_NAME_ENTITY 0x0200 /*%< key is assoc. with entity eg host */
|
366
|
-
#define NS_KEY_NAME_ZONE 0x0100 /*%< key is zone key */
|
367
|
-
#define NS_KEY_NAME_RESERVED 0x0300 /*%< reserved meaning */
|
368
|
-
#define NS_KEY_RESERVED8 0x0080 /*%< reserved - must be zero */
|
369
|
-
#define NS_KEY_RESERVED9 0x0040 /*%< reserved - must be zero */
|
370
|
-
#define NS_KEY_RESERVED10 0x0020 /*%< reserved - must be zero */
|
371
|
-
#define NS_KEY_RESERVED11 0x0010 /*%< reserved - must be zero */
|
372
|
-
#define NS_KEY_SIGNATORYMASK 0x000F /*%< key can sign RR's of same name */
|
373
|
-
#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
|
374
|
-
NS_KEY_RESERVED4 | \
|
375
|
-
NS_KEY_RESERVED5 | \
|
376
|
-
NS_KEY_RESERVED8 | \
|
377
|
-
NS_KEY_RESERVED9 | \
|
378
|
-
NS_KEY_RESERVED10 | \
|
379
|
-
NS_KEY_RESERVED11 )
|
380
|
-
#define NS_KEY_RESERVED_BITMASK2 0xFFFF /*%< no bits defined here */
|
381
|
-
/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
|
382
|
-
#define NS_ALG_MD5RSA 1 /*%< MD5 with RSA */
|
383
|
-
#define NS_ALG_DH 2 /*%< Diffie Hellman KEY */
|
384
|
-
#define NS_ALG_DSA 3 /*%< DSA KEY */
|
385
|
-
#define NS_ALG_DSS NS_ALG_DSA
|
386
|
-
#define NS_ALG_EXPIRE_ONLY 253 /*%< No alg, no security */
|
387
|
-
#define NS_ALG_PRIVATE_OID 254 /*%< Key begins with OID giving alg */
|
388
|
-
/* Protocol values */
|
389
|
-
/* value 0 is reserved */
|
390
|
-
#define NS_KEY_PROT_TLS 1
|
391
|
-
#define NS_KEY_PROT_EMAIL 2
|
392
|
-
#define NS_KEY_PROT_DNSSEC 3
|
393
|
-
#define NS_KEY_PROT_IPSEC 4
|
394
|
-
#define NS_KEY_PROT_ANY 255
|
395
|
-
|
396
|
-
/* Signatures */
|
397
|
-
#define NS_MD5RSA_MIN_BITS 512 /*%< Size of a mod or exp in bits */
|
398
|
-
#define NS_MD5RSA_MAX_BITS 4096
|
399
|
-
/* Total of binary mod and exp */
|
400
|
-
#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
|
401
|
-
/* Max length of text sig block */
|
402
|
-
#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
|
403
|
-
#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
|
404
|
-
#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
|
405
|
-
|
406
|
-
#define NS_DSA_SIG_SIZE 41
|
407
|
-
#define NS_DSA_MIN_SIZE 213
|
408
|
-
#define NS_DSA_MAX_BYTES 405
|
409
|
-
|
410
|
-
/* Offsets into SIG record rdata to find various values */
|
411
|
-
#define NS_SIG_TYPE 0 /*%< Type flags */
|
412
|
-
#define NS_SIG_ALG 2 /*%< Algorithm */
|
413
|
-
#define NS_SIG_LABELS 3 /*%< How many labels in name */
|
414
|
-
#define NS_SIG_OTTL 4 /*%< Original TTL */
|
415
|
-
#define NS_SIG_EXPIR 8 /*%< Expiration time */
|
416
|
-
#define NS_SIG_SIGNED 12 /*%< Signature time */
|
417
|
-
#define NS_SIG_FOOT 16 /*%< Key footprint */
|
418
|
-
#define NS_SIG_SIGNER 18 /*%< Domain name of who signed it */
|
419
|
-
/* How RR types are represented as bit-flags in NXT records */
|
420
|
-
#define NS_NXT_BITS 8
|
421
|
-
#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
|
422
|
-
#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
|
423
|
-
#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
|
424
|
-
#define NS_NXT_MAX 127
|
425
|
-
|
426
|
-
/*%
|
427
|
-
* EDNS0 extended flags and option codes, host order.
|
428
|
-
*/
|
429
|
-
#define NS_OPT_DNSSEC_OK 0x8000U
|
430
|
-
#define NS_OPT_NSID 3
|
431
|
-
|
432
|
-
/*%
|
433
|
-
* Inline versions of get/put short/long. Pointer is advanced.
|
434
|
-
*/
|
435
|
-
#define NS_GET16(s, cp) do { \
|
436
|
-
register const u_char *t_cp = (const u_char *)(cp); \
|
437
|
-
(s) = ((u_int16_t)t_cp[0] << 8) \
|
438
|
-
| ((u_int16_t)t_cp[1]) \
|
439
|
-
; \
|
440
|
-
(cp) += NS_INT16SZ; \
|
441
|
-
} while (0)
|
442
|
-
|
443
|
-
#define NS_GET32(l, cp) do { \
|
444
|
-
register const u_char *t_cp = (const u_char *)(cp); \
|
445
|
-
(l) = ((u_int32_t)t_cp[0] << 24) \
|
446
|
-
| ((u_int32_t)t_cp[1] << 16) \
|
447
|
-
| ((u_int32_t)t_cp[2] << 8) \
|
448
|
-
| ((u_int32_t)t_cp[3]) \
|
449
|
-
; \
|
450
|
-
(cp) += NS_INT32SZ; \
|
451
|
-
} while (0)
|
452
|
-
|
453
|
-
#define NS_PUT16(s, cp) do { \
|
454
|
-
register u_int16_t t_s = (u_int16_t)(s); \
|
455
|
-
register u_char *t_cp = (u_char *)(cp); \
|
456
|
-
*t_cp++ = t_s >> 8; \
|
457
|
-
*t_cp = t_s; \
|
458
|
-
(cp) += NS_INT16SZ; \
|
459
|
-
} while (0)
|
460
|
-
|
461
|
-
#define NS_PUT32(l, cp) do { \
|
462
|
-
register u_int32_t t_l = (u_int32_t)(l); \
|
463
|
-
register u_char *t_cp = (u_char *)(cp); \
|
464
|
-
*t_cp++ = t_l >> 24; \
|
465
|
-
*t_cp++ = t_l >> 16; \
|
466
|
-
*t_cp++ = t_l >> 8; \
|
467
|
-
*t_cp = t_l; \
|
468
|
-
(cp) += NS_INT32SZ; \
|
469
|
-
} while (0)
|
470
|
-
|
471
|
-
__BEGIN_DECLS
|
472
|
-
int ns_msg_getflag (ns_msg, int) __THROW;
|
473
|
-
u_int ns_get16 (const u_char *) __THROW;
|
474
|
-
u_long ns_get32 (const u_char *) __THROW;
|
475
|
-
void ns_put16 (u_int, u_char *) __THROW;
|
476
|
-
void ns_put32 (u_long, u_char *) __THROW;
|
477
|
-
int ns_initparse (const u_char *, int, ns_msg *) __THROW;
|
478
|
-
int ns_skiprr (const u_char *, const u_char *, ns_sect, int)
|
479
|
-
__THROW;
|
480
|
-
int ns_parserr (ns_msg *, ns_sect, int, ns_rr *) __THROW;
|
481
|
-
int ns_sprintrr (const ns_msg *, const ns_rr *,
|
482
|
-
const char *, const char *, char *, size_t)
|
483
|
-
__THROW;
|
484
|
-
int ns_sprintrrf (const u_char *, size_t, const char *,
|
485
|
-
ns_class, ns_type, u_long, const u_char *,
|
486
|
-
size_t, const char *, const char *,
|
487
|
-
char *, size_t) __THROW;
|
488
|
-
int ns_format_ttl (u_long, char *, size_t) __THROW;
|
489
|
-
int ns_parse_ttl (const char *, u_long *) __THROW;
|
490
|
-
u_int32_t ns_datetosecs (const char *, int *) __THROW;
|
491
|
-
int ns_name_ntol (const u_char *, u_char *, size_t) __THROW;
|
492
|
-
int ns_name_ntop (const u_char *, char *, size_t) __THROW;
|
493
|
-
int ns_name_pton (const char *, u_char *, size_t) __THROW;
|
494
|
-
int ns_name_unpack (const u_char *, const u_char *,
|
495
|
-
const u_char *, u_char *, size_t) __THROW;
|
496
|
-
int ns_name_pack (const u_char *, u_char *, int,
|
497
|
-
const u_char **, const u_char **) __THROW;
|
498
|
-
int ns_name_uncompress (const u_char *, const u_char *,
|
499
|
-
const u_char *, char *, size_t) __THROW;
|
500
|
-
int ns_name_compress (const char *, u_char *, size_t,
|
501
|
-
const u_char **, const u_char **) __THROW;
|
502
|
-
int ns_name_skip (const u_char **, const u_char *) __THROW;
|
503
|
-
void ns_name_rollback (const u_char *, const u_char **,
|
504
|
-
const u_char **) __THROW;
|
505
|
-
int ns_sign (u_char *, int *, int, int, void *,
|
506
|
-
const u_char *, int, u_char *, int *, time_t) __THROW;
|
507
|
-
int ns_sign2 (u_char *, int *, int, int, void *,
|
508
|
-
const u_char *, int, u_char *, int *, time_t,
|
509
|
-
u_char **, u_char **) __THROW;
|
510
|
-
int ns_sign_tcp (u_char *, int *, int, int,
|
511
|
-
ns_tcp_tsig_state *, int) __THROW;
|
512
|
-
int ns_sign_tcp2 (u_char *, int *, int, int,
|
513
|
-
ns_tcp_tsig_state *, int,
|
514
|
-
u_char **, u_char **) __THROW;
|
515
|
-
int ns_sign_tcp_init (void *, const u_char *, int,
|
516
|
-
ns_tcp_tsig_state *) __THROW;
|
517
|
-
u_char *ns_find_tsig (u_char *, u_char *) __THROW;
|
518
|
-
int ns_verify (u_char *, int *, void *, const u_char *, int,
|
519
|
-
u_char *, int *, time_t *, int) __THROW;
|
520
|
-
int ns_verify_tcp (u_char *, int *, ns_tcp_tsig_state *, int)
|
521
|
-
__THROW;
|
522
|
-
int ns_verify_tcp_init (void *, const u_char *, int,
|
523
|
-
ns_tcp_tsig_state *) __THROW;
|
524
|
-
int ns_samedomain (const char *, const char *) __THROW;
|
525
|
-
int ns_subdomain (const char *, const char *) __THROW;
|
526
|
-
int ns_makecanon (const char *, char *, size_t) __THROW;
|
527
|
-
int ns_samename (const char *, const char *) __THROW;
|
528
|
-
__END_DECLS
|
529
|
-
|
530
|
-
#ifdef BIND_4_COMPAT
|
531
|
-
#include <arpa/nameser_compat.h>
|
532
|
-
#endif
|
533
|
-
|
534
|
-
#endif /* !_ARPA_NAMESER_H_ */
|
535
|
-
/*! \file */
|