ruby_nacl 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Changelog +0 -0
- data/README.md +49 -0
- data/ext/ruby_nacl/NaCl/MACROS +56 -0
- data/ext/ruby_nacl/NaCl/OPERATIONS +11 -0
- data/ext/ruby_nacl/NaCl/PROTOTYPES.c +26 -0
- data/ext/ruby_nacl/NaCl/PROTOTYPES.cpp +17 -0
- data/ext/ruby_nacl/NaCl/README +1 -0
- data/ext/ruby_nacl/NaCl/commandline/nacl-sha256.c +64 -0
- data/ext/ruby_nacl/NaCl/commandline/nacl-sha512.c +64 -0
- data/ext/ruby_nacl/NaCl/cpucycles/alpha.c +80 -0
- data/ext/ruby_nacl/NaCl/cpucycles/alpha.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuinfo.c +16 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuspeed.c +25 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuspeed.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64tscfreq.c +18 -0
- data/ext/ruby_nacl/NaCl/cpucycles/amd64tscfreq.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/celllinux.c +83 -0
- data/ext/ruby_nacl/NaCl/cpucycles/celllinux.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/cortex.c +73 -0
- data/ext/ruby_nacl/NaCl/cpucycles/cortex.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/dev4ns.c +62 -0
- data/ext/ruby_nacl/NaCl/cpucycles/dev4ns.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/do +105 -0
- data/ext/ruby_nacl/NaCl/cpucycles/gettimeofday.c +32 -0
- data/ext/ruby_nacl/NaCl/cpucycles/gettimeofday.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/hppapstat.c +26 -0
- data/ext/ruby_nacl/NaCl/cpucycles/hppapstat.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/ia64cpuinfo.c +15 -0
- data/ext/ruby_nacl/NaCl/cpucycles/ia64cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/mips.c +65 -0
- data/ext/ruby_nacl/NaCl/cpucycles/mips.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotonic.c +34 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotonic.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotoniccpuinfo.c +33 -0
- data/ext/ruby_nacl/NaCl/cpucycles/monotoniccpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/osfreq.c +65 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpccpuinfo.c +95 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpccpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.c +42 -0
- data/ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sgi.c +38 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sgi.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparc32cpuinfo.c +16 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparc32cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparccpuinfo.c +15 -0
- data/ext/ruby_nacl/NaCl/cpucycles/sparccpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/test.c +77 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuinfo.c +15 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuinfo.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuspeed.c +24 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86cpuspeed.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86estimate.c +59 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86estimate.h +27 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86tscfreq.c +17 -0
- data/ext/ruby_nacl/NaCl/cpucycles/x86tscfreq.h +27 -0
- data/ext/ruby_nacl/NaCl/cpuid/cbytes.c +16 -0
- data/ext/ruby_nacl/NaCl/cpuid/cpuid.c +41 -0
- data/ext/ruby_nacl/NaCl/cpuid/do +37 -0
- data/ext/ruby_nacl/NaCl/cpuid/unknown.c +7 -0
- data/ext/ruby_nacl/NaCl/cpuid/x86.c +41 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/hmac.c +83 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/hmac.c +86 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/measure.c +69 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/try.c +119 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/wrapper-auth.cpp +11 -0
- data/ext/ruby_nacl/NaCl/crypto_auth/wrapper-verify.cpp +14 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/after.c +22 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/api.h +6 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/before.c +17 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/box.c +27 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/keypair.c +12 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_box/measure.c +137 -0
- data/ext/ruby_nacl/NaCl/crypto_box/try.c +195 -0
- data/ext/ruby_nacl/NaCl/crypto_box/wrapper-box.cpp +24 -0
- data/ext/ruby_nacl/NaCl/crypto_box/wrapper-keypair.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_box/wrapper-open.cpp +27 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/core.c +135 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/core.c +108 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/measure.c +18 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/core.c +134 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/core.c +134 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/core.c +134 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_core/salsa208/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_core/try.c +116 -0
- data/ext/ruby_nacl/NaCl/crypto_core/wrapper-empty.cpp +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/measure.c +66 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/hash.c +69 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/hash.c +71 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/sha512/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/try.c +77 -0
- data/ext/ruby_nacl/NaCl/crypto_hash/wrapper-hash.cpp +10 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/measure.c +18 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/blocks.c +228 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/blocks.c +212 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/blocks.c +256 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/blocks.c +239 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/try.c +79 -0
- data/ext/ruby_nacl/NaCl/crypto_hashblocks/wrapper-empty.cpp +0 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/measure.c +69 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/auth.c +1616 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/auth.s +2787 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/constants.s +85 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/auth.c +104 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/auth.s +2779 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/constants.s +85 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/verify.c +9 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/try.c +119 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/wrapper-auth.cpp +11 -0
- data/ext/ruby_nacl/NaCl/crypto_onetimeauth/wrapper-verify.cpp +14 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/base.c +8 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/const.s +114 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/fromdouble.s +195 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/init.s +13 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/mainloop.s +3990 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/mult.s +410 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/smult.c +91 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/square.s +298 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/todouble.s +144 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/base.c +8 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/smult.c +477 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/base.c +16 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/smult.c +265 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/measure.c +61 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/try.c +126 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/wrapper-base.cpp +11 -0
- data/ext/ruby_nacl/NaCl/crypto_scalarmult/wrapper-mult.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/measure.c +75 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/try.c +129 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/wrapper-box.cpp +19 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/wrapper-open.cpp +22 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/ref/api.h +4 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/ref/box.c +35 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/api.h +3 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/fe25519.c +345 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/fe25519.h +54 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/ge25519.c +227 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/ge25519.h +34 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sc25519.c +146 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sc25519.h +51 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sign.c +103 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/measure.c +83 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/try.c +86 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-keypair.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-sign-open.cpp +24 -0
- data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-sign.cpp +23 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/afternm.s +12308 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/api.h +3 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/beforenm.s +13694 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/stream.c +14 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/xor.c +15 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/xor_afternm.s +12407 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/afternm.c +158 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/api.h +3 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/beforenm.c +59 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/common.c +64 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/common.h +788 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/consts.c +14 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/consts.h +28 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/int128.c +128 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/int128.h +47 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/stream.c +28 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/types.h +10 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/xor_afternm.c +180 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/measure.c +73 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/stream.s +4823 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/stream.c +49 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/xor.c +52 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/stream.s +5078 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/stream.s +4823 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/stream.c +49 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/xor.c +52 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/stream.s +5078 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/stream.s +4823 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/stream.c +49 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/xor.c +52 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/stream.s +5078 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/try.c +124 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/wrapper-stream.cpp +12 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/wrapper-xor.cpp +17 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/api.h +2 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/implementors +1 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/stream.c +22 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/xor.c +23 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/selected +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_stream.h +18 -0
- data/ext/ruby_nacl/NaCl/crypto_stream_aes128ctr.h +33 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/ref/verify.c +24 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/16/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/checksum +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/ref/api.h +1 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/ref/verify.c +40 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/32/used +0 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/measure.c +18 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/try.c +75 -0
- data/ext/ruby_nacl/NaCl/crypto_verify/wrapper-empty.cpp +0 -0
- data/ext/ruby_nacl/NaCl/curvecp/LIBS +31 -0
- data/ext/ruby_nacl/NaCl/curvecp/README +10 -0
- data/ext/ruby_nacl/NaCl/curvecp/SOURCES +36 -0
- data/ext/ruby_nacl/NaCl/curvecp/TARGETS +5 -0
- data/ext/ruby_nacl/NaCl/curvecp/blocking.c +12 -0
- data/ext/ruby_nacl/NaCl/curvecp/blocking.h +7 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte_copy.c +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte_isequal.c +10 -0
- data/ext/ruby_nacl/NaCl/curvecp/byte_zero.c +7 -0
- data/ext/ruby_nacl/NaCl/curvecp/crypto_block.c +35 -0
- data/ext/ruby_nacl/NaCl/curvecp/crypto_block.h +4 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpclient.c +476 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpmakekey.c +57 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpmessage.c +654 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpprintkey.c +46 -0
- data/ext/ruby_nacl/NaCl/curvecp/curvecpserver.c +497 -0
- data/ext/ruby_nacl/NaCl/curvecp/die.c +42 -0
- data/ext/ruby_nacl/NaCl/curvecp/die.h +16 -0
- data/ext/ruby_nacl/NaCl/curvecp/e.c +106 -0
- data/ext/ruby_nacl/NaCl/curvecp/e.h +438 -0
- data/ext/ruby_nacl/NaCl/curvecp/hexparse.c +25 -0
- data/ext/ruby_nacl/NaCl/curvecp/hexparse.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/load.c +33 -0
- data/ext/ruby_nacl/NaCl/curvecp/load.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/nameparse.c +19 -0
- data/ext/ruby_nacl/NaCl/curvecp/nameparse.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/nanoseconds.c +27 -0
- data/ext/ruby_nacl/NaCl/curvecp/nanoseconds.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/open.h +10 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_cwd.c +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_lock.c +19 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_pipe.c +15 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_read.c +17 -0
- data/ext/ruby_nacl/NaCl/curvecp/open_write.c +17 -0
- data/ext/ruby_nacl/NaCl/curvecp/portparse.c +14 -0
- data/ext/ruby_nacl/NaCl/curvecp/portparse.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/randommod.c +14 -0
- data/ext/ruby_nacl/NaCl/curvecp/randommod.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/safenonce.c +74 -0
- data/ext/ruby_nacl/NaCl/curvecp/safenonce.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/savesync.c +24 -0
- data/ext/ruby_nacl/NaCl/curvecp/savesync.h +6 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket.h +9 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_bind.c +15 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_recv.c +23 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_send.c +19 -0
- data/ext/ruby_nacl/NaCl/curvecp/socket_udp.c +36 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_pack.c +7 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_pack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_unpack.c +9 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint16_unpack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_pack.c +9 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_pack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_unpack.c +11 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint32_unpack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_pack.c +13 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_pack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_unpack.c +15 -0
- data/ext/ruby_nacl/NaCl/curvecp/uint64_unpack.h +8 -0
- data/ext/ruby_nacl/NaCl/curvecp/writeall.c +27 -0
- data/ext/ruby_nacl/NaCl/curvecp/writeall.h +6 -0
- data/ext/ruby_nacl/NaCl/do +468 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int16.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int32.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int64.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_int8.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint16.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint32.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint64.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/crypto_uint8.c +3 -0
- data/ext/ruby_nacl/NaCl/inttypes/do +47 -0
- data/ext/ruby_nacl/NaCl/inttypes/signed.h +17 -0
- data/ext/ruby_nacl/NaCl/inttypes/unsigned.h +17 -0
- data/ext/ruby_nacl/NaCl/measure-anything.c +225 -0
- data/ext/ruby_nacl/NaCl/okcompilers/abiname.c +45 -0
- data/ext/ruby_nacl/NaCl/okcompilers/archivers +2 -0
- data/ext/ruby_nacl/NaCl/okcompilers/c +8 -0
- data/ext/ruby_nacl/NaCl/okcompilers/cpp +8 -0
- data/ext/ruby_nacl/NaCl/okcompilers/do +196 -0
- data/ext/ruby_nacl/NaCl/okcompilers/lib.c +29 -0
- data/ext/ruby_nacl/NaCl/okcompilers/lib.cpp +19 -0
- data/ext/ruby_nacl/NaCl/okcompilers/main.c +25 -0
- data/ext/ruby_nacl/NaCl/okcompilers/main.cpp +22 -0
- data/ext/ruby_nacl/NaCl/randombytes/devurandom.c +34 -0
- data/ext/ruby_nacl/NaCl/randombytes/devurandom.h +24 -0
- data/ext/ruby_nacl/NaCl/randombytes/do +43 -0
- data/ext/ruby_nacl/NaCl/randombytes/test.c +15 -0
- data/ext/ruby_nacl/NaCl/tests/auth.c +19 -0
- data/ext/ruby_nacl/NaCl/tests/auth.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/auth2.c +34 -0
- data/ext/ruby_nacl/NaCl/tests/auth2.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/auth3.c +34 -0
- data/ext/ruby_nacl/NaCl/tests/auth3.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/auth4.cpp +44 -0
- data/ext/ruby_nacl/NaCl/tests/auth4.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/auth5.c +36 -0
- data/ext/ruby_nacl/NaCl/tests/auth5.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/auth6.cpp +46 -0
- data/ext/ruby_nacl/NaCl/tests/auth6.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box.c +63 -0
- data/ext/ruby_nacl/NaCl/tests/box.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/box2.c +64 -0
- data/ext/ruby_nacl/NaCl/tests/box2.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/box3.cpp +60 -0
- data/ext/ruby_nacl/NaCl/tests/box3.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/box4.cpp +66 -0
- data/ext/ruby_nacl/NaCl/tests/box4.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/box5.cpp +30 -0
- data/ext/ruby_nacl/NaCl/tests/box5.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box6.cpp +43 -0
- data/ext/ruby_nacl/NaCl/tests/box6.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box7.c +36 -0
- data/ext/ruby_nacl/NaCl/tests/box7.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/box8.c +41 -0
- data/ext/ruby_nacl/NaCl/tests/box8.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/core1.c +30 -0
- data/ext/ruby_nacl/NaCl/tests/core1.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/core2.c +33 -0
- data/ext/ruby_nacl/NaCl/tests/core2.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/core3.c +41 -0
- data/ext/ruby_nacl/NaCl/tests/core3.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/core4.c +33 -0
- data/ext/ruby_nacl/NaCl/tests/core4.out +8 -0
- data/ext/ruby_nacl/NaCl/tests/core5.c +32 -0
- data/ext/ruby_nacl/NaCl/tests/core5.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/core6.c +47 -0
- data/ext/ruby_nacl/NaCl/tests/core6.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/hash.c +14 -0
- data/ext/ruby_nacl/NaCl/tests/hash.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/hash2.cpp +18 -0
- data/ext/ruby_nacl/NaCl/tests/hash2.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/hash3.c +14 -0
- data/ext/ruby_nacl/NaCl/tests/hash3.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/hash4.cpp +18 -0
- data/ext/ruby_nacl/NaCl/tests/hash4.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth.c +42 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth.out +2 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth2.c +40 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth2.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth5.cpp +46 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth5.out +2 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth6.cpp +50 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth6.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth7.c +36 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth7.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth8.cpp +46 -0
- data/ext/ruby_nacl/NaCl/tests/onetimeauth8.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult.c +23 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult2.c +23 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult2.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult3.cpp +31 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult3.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult4.cpp +31 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult4.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult5.c +30 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult5.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult6.c +30 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult6.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult7.cpp +32 -0
- data/ext/ruby_nacl/NaCl/tests/scalarmult7.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox.c +56 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox2.c +57 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox2.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox3.cpp +52 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox3.out +19 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox4.cpp +54 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox4.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox5.cpp +29 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox5.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox6.cpp +42 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox6.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox7.c +32 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox7.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox8.c +37 -0
- data/ext/ruby_nacl/NaCl/tests/secretbox8.out +0 -0
- data/ext/ruby_nacl/NaCl/tests/stream.c +29 -0
- data/ext/ruby_nacl/NaCl/tests/stream.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream2.c +27 -0
- data/ext/ruby_nacl/NaCl/tests/stream2.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream3.c +28 -0
- data/ext/ruby_nacl/NaCl/tests/stream3.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/stream4.c +53 -0
- data/ext/ruby_nacl/NaCl/tests/stream4.out +17 -0
- data/ext/ruby_nacl/NaCl/tests/stream5.cpp +29 -0
- data/ext/ruby_nacl/NaCl/tests/stream5.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream6.cpp +27 -0
- data/ext/ruby_nacl/NaCl/tests/stream6.out +1 -0
- data/ext/ruby_nacl/NaCl/tests/stream7.cpp +30 -0
- data/ext/ruby_nacl/NaCl/tests/stream7.out +4 -0
- data/ext/ruby_nacl/NaCl/tests/stream8.cpp +56 -0
- data/ext/ruby_nacl/NaCl/tests/stream8.out +17 -0
- data/ext/ruby_nacl/NaCl/try-anything.c +173 -0
- data/ext/ruby_nacl/NaCl/version +1 -0
- data/ext/ruby_nacl/extconf.rb +18 -0
- data/ext/ruby_nacl/ruby_nacl.cpp +147 -0
- data/ext/ruby_nacl/ruby_nacl.h +49 -0
- metadata +554 -0
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
#ifndef E_H
|
|
2
|
+
#define E_H
|
|
3
|
+
|
|
4
|
+
#include <errno.h>
|
|
5
|
+
|
|
6
|
+
extern const char *e_str(int);
|
|
7
|
+
|
|
8
|
+
#ifndef EPERM
|
|
9
|
+
#define EPERM (-5001)
|
|
10
|
+
#endif
|
|
11
|
+
#ifndef ENOENT
|
|
12
|
+
#define ENOENT (-5002)
|
|
13
|
+
#endif
|
|
14
|
+
#ifndef ESRCH
|
|
15
|
+
#define ESRCH (-5003)
|
|
16
|
+
#endif
|
|
17
|
+
#ifndef EINTR
|
|
18
|
+
#define EINTR (-5004)
|
|
19
|
+
#endif
|
|
20
|
+
#ifndef EIO
|
|
21
|
+
#define EIO (-5005)
|
|
22
|
+
#endif
|
|
23
|
+
#ifndef ENXIO
|
|
24
|
+
#define ENXIO (-5006)
|
|
25
|
+
#endif
|
|
26
|
+
#ifndef E2BIG
|
|
27
|
+
#define E2BIG (-5007)
|
|
28
|
+
#endif
|
|
29
|
+
#ifndef ENOEXEC
|
|
30
|
+
#define ENOEXEC (-5008)
|
|
31
|
+
#endif
|
|
32
|
+
#ifndef EBADF
|
|
33
|
+
#define EBADF (-5009)
|
|
34
|
+
#endif
|
|
35
|
+
#ifndef ECHILD
|
|
36
|
+
#define ECHILD (-5010)
|
|
37
|
+
#endif
|
|
38
|
+
#ifndef EAGAIN
|
|
39
|
+
#define EAGAIN (-5011)
|
|
40
|
+
#endif
|
|
41
|
+
#ifndef EWOULDBLOCK
|
|
42
|
+
#define EWOULDBLOCK (-7011)
|
|
43
|
+
#endif
|
|
44
|
+
#ifndef ENOMEM
|
|
45
|
+
#define ENOMEM (-5012)
|
|
46
|
+
#endif
|
|
47
|
+
#ifndef EACCES
|
|
48
|
+
#define EACCES (-5013)
|
|
49
|
+
#endif
|
|
50
|
+
#ifndef EFAULT
|
|
51
|
+
#define EFAULT (-5014)
|
|
52
|
+
#endif
|
|
53
|
+
#ifndef ENOTBLK
|
|
54
|
+
#define ENOTBLK (-5015)
|
|
55
|
+
#endif
|
|
56
|
+
#ifndef EBUSY
|
|
57
|
+
#define EBUSY (-5016)
|
|
58
|
+
#endif
|
|
59
|
+
#ifndef EEXIST
|
|
60
|
+
#define EEXIST (-5017)
|
|
61
|
+
#endif
|
|
62
|
+
#ifndef EXDEV
|
|
63
|
+
#define EXDEV (-5018)
|
|
64
|
+
#endif
|
|
65
|
+
#ifndef ENODEV
|
|
66
|
+
#define ENODEV (-5019)
|
|
67
|
+
#endif
|
|
68
|
+
#ifndef ENOTDIR
|
|
69
|
+
#define ENOTDIR (-5020)
|
|
70
|
+
#endif
|
|
71
|
+
#ifndef EISDIR
|
|
72
|
+
#define EISDIR (-5021)
|
|
73
|
+
#endif
|
|
74
|
+
#ifndef EINVAL
|
|
75
|
+
#define EINVAL (-5022)
|
|
76
|
+
#endif
|
|
77
|
+
#ifndef ENFILE
|
|
78
|
+
#define ENFILE (-5023)
|
|
79
|
+
#endif
|
|
80
|
+
#ifndef EMFILE
|
|
81
|
+
#define EMFILE (-5024)
|
|
82
|
+
#endif
|
|
83
|
+
#ifndef ENOTTY
|
|
84
|
+
#define ENOTTY (-5025)
|
|
85
|
+
#endif
|
|
86
|
+
#ifndef ETXTBSY
|
|
87
|
+
#define ETXTBSY (-5026)
|
|
88
|
+
#endif
|
|
89
|
+
#ifndef EFBIG
|
|
90
|
+
#define EFBIG (-5027)
|
|
91
|
+
#endif
|
|
92
|
+
#ifndef ENOSPC
|
|
93
|
+
#define ENOSPC (-5028)
|
|
94
|
+
#endif
|
|
95
|
+
#ifndef ESPIPE
|
|
96
|
+
#define ESPIPE (-5029)
|
|
97
|
+
#endif
|
|
98
|
+
#ifndef EROFS
|
|
99
|
+
#define EROFS (-5030)
|
|
100
|
+
#endif
|
|
101
|
+
#ifndef EMLINK
|
|
102
|
+
#define EMLINK (-5031)
|
|
103
|
+
#endif
|
|
104
|
+
#ifndef EPIPE
|
|
105
|
+
#define EPIPE (-5032)
|
|
106
|
+
#endif
|
|
107
|
+
#ifndef EDOM
|
|
108
|
+
#define EDOM (-5033)
|
|
109
|
+
#endif
|
|
110
|
+
#ifndef ERANGE
|
|
111
|
+
#define ERANGE (-5034)
|
|
112
|
+
#endif
|
|
113
|
+
#ifndef EDEADLK
|
|
114
|
+
#define EDEADLK (-5035)
|
|
115
|
+
#endif
|
|
116
|
+
#ifndef EDEADLOCK
|
|
117
|
+
#define EDEADLOCK (-7035)
|
|
118
|
+
#endif
|
|
119
|
+
#ifndef ENAMETOOLONG
|
|
120
|
+
#define ENAMETOOLONG (-5036)
|
|
121
|
+
#endif
|
|
122
|
+
#ifndef ENOLCK
|
|
123
|
+
#define ENOLCK (-5037)
|
|
124
|
+
#endif
|
|
125
|
+
#ifndef ENOSYS
|
|
126
|
+
#define ENOSYS (-5038)
|
|
127
|
+
#endif
|
|
128
|
+
#ifndef ENOTEMPTY
|
|
129
|
+
#define ENOTEMPTY (-5039)
|
|
130
|
+
#endif
|
|
131
|
+
#ifndef ELOOP
|
|
132
|
+
#define ELOOP (-5040)
|
|
133
|
+
#endif
|
|
134
|
+
#ifndef ENOMSG
|
|
135
|
+
#define ENOMSG (-5042)
|
|
136
|
+
#endif
|
|
137
|
+
#ifndef EIDRM
|
|
138
|
+
#define EIDRM (-5043)
|
|
139
|
+
#endif
|
|
140
|
+
#ifndef ECHRNG
|
|
141
|
+
#define ECHRNG (-5044)
|
|
142
|
+
#endif
|
|
143
|
+
#ifndef EL2NSYNC
|
|
144
|
+
#define EL2NSYNC (-5045)
|
|
145
|
+
#endif
|
|
146
|
+
#ifndef EL3HLT
|
|
147
|
+
#define EL3HLT (-5046)
|
|
148
|
+
#endif
|
|
149
|
+
#ifndef EL3RST
|
|
150
|
+
#define EL3RST (-5047)
|
|
151
|
+
#endif
|
|
152
|
+
#ifndef ELNRNG
|
|
153
|
+
#define ELNRNG (-5048)
|
|
154
|
+
#endif
|
|
155
|
+
#ifndef EUNATCH
|
|
156
|
+
#define EUNATCH (-5049)
|
|
157
|
+
#endif
|
|
158
|
+
#ifndef ENOCSI
|
|
159
|
+
#define ENOCSI (-5050)
|
|
160
|
+
#endif
|
|
161
|
+
#ifndef EL2HLT
|
|
162
|
+
#define EL2HLT (-5051)
|
|
163
|
+
#endif
|
|
164
|
+
#ifndef EBADE
|
|
165
|
+
#define EBADE (-5052)
|
|
166
|
+
#endif
|
|
167
|
+
#ifndef EBADR
|
|
168
|
+
#define EBADR (-5053)
|
|
169
|
+
#endif
|
|
170
|
+
#ifndef EXFULL
|
|
171
|
+
#define EXFULL (-5054)
|
|
172
|
+
#endif
|
|
173
|
+
#ifndef ENOANO
|
|
174
|
+
#define ENOANO (-5055)
|
|
175
|
+
#endif
|
|
176
|
+
#ifndef EBADRQC
|
|
177
|
+
#define EBADRQC (-5056)
|
|
178
|
+
#endif
|
|
179
|
+
#ifndef EBADSLT
|
|
180
|
+
#define EBADSLT (-5057)
|
|
181
|
+
#endif
|
|
182
|
+
#ifndef EBFONT
|
|
183
|
+
#define EBFONT (-5059)
|
|
184
|
+
#endif
|
|
185
|
+
#ifndef ENOSTR
|
|
186
|
+
#define ENOSTR (-5060)
|
|
187
|
+
#endif
|
|
188
|
+
#ifndef ENODATA
|
|
189
|
+
#define ENODATA (-5061)
|
|
190
|
+
#endif
|
|
191
|
+
#ifndef ETIME
|
|
192
|
+
#define ETIME (-5062)
|
|
193
|
+
#endif
|
|
194
|
+
#ifndef ENOSR
|
|
195
|
+
#define ENOSR (-5063)
|
|
196
|
+
#endif
|
|
197
|
+
#ifndef ENONET
|
|
198
|
+
#define ENONET (-5064)
|
|
199
|
+
#endif
|
|
200
|
+
#ifndef ENOPKG
|
|
201
|
+
#define ENOPKG (-5065)
|
|
202
|
+
#endif
|
|
203
|
+
#ifndef EREMOTE
|
|
204
|
+
#define EREMOTE (-5066)
|
|
205
|
+
#endif
|
|
206
|
+
#ifndef ENOLINK
|
|
207
|
+
#define ENOLINK (-5067)
|
|
208
|
+
#endif
|
|
209
|
+
#ifndef EADV
|
|
210
|
+
#define EADV (-5068)
|
|
211
|
+
#endif
|
|
212
|
+
#ifndef ESRMNT
|
|
213
|
+
#define ESRMNT (-5069)
|
|
214
|
+
#endif
|
|
215
|
+
#ifndef ECOMM
|
|
216
|
+
#define ECOMM (-5070)
|
|
217
|
+
#endif
|
|
218
|
+
#ifndef EPROTO
|
|
219
|
+
#define EPROTO (-5071)
|
|
220
|
+
#endif
|
|
221
|
+
#ifndef EMULTIHOP
|
|
222
|
+
#define EMULTIHOP (-5072)
|
|
223
|
+
#endif
|
|
224
|
+
#ifndef EDOTDOT
|
|
225
|
+
#define EDOTDOT (-5073)
|
|
226
|
+
#endif
|
|
227
|
+
#ifndef EBADMSG
|
|
228
|
+
#define EBADMSG (-5074)
|
|
229
|
+
#endif
|
|
230
|
+
#ifndef EOVERFLOW
|
|
231
|
+
#define EOVERFLOW (-5075)
|
|
232
|
+
#endif
|
|
233
|
+
#ifndef ENOTUNIQ
|
|
234
|
+
#define ENOTUNIQ (-5076)
|
|
235
|
+
#endif
|
|
236
|
+
#ifndef EBADFD
|
|
237
|
+
#define EBADFD (-5077)
|
|
238
|
+
#endif
|
|
239
|
+
#ifndef EREMCHG
|
|
240
|
+
#define EREMCHG (-5078)
|
|
241
|
+
#endif
|
|
242
|
+
#ifndef ELIBACC
|
|
243
|
+
#define ELIBACC (-5079)
|
|
244
|
+
#endif
|
|
245
|
+
#ifndef ELIBBAD
|
|
246
|
+
#define ELIBBAD (-5080)
|
|
247
|
+
#endif
|
|
248
|
+
#ifndef ELIBSCN
|
|
249
|
+
#define ELIBSCN (-5081)
|
|
250
|
+
#endif
|
|
251
|
+
#ifndef ELIBMAX
|
|
252
|
+
#define ELIBMAX (-5082)
|
|
253
|
+
#endif
|
|
254
|
+
#ifndef ELIBEXEC
|
|
255
|
+
#define ELIBEXEC (-5083)
|
|
256
|
+
#endif
|
|
257
|
+
#ifndef EILSEQ
|
|
258
|
+
#define EILSEQ (-5084)
|
|
259
|
+
#endif
|
|
260
|
+
#ifndef ERESTART
|
|
261
|
+
#define ERESTART (-5085)
|
|
262
|
+
#endif
|
|
263
|
+
#ifndef ESTRPIPE
|
|
264
|
+
#define ESTRPIPE (-5086)
|
|
265
|
+
#endif
|
|
266
|
+
#ifndef EUSERS
|
|
267
|
+
#define EUSERS (-5087)
|
|
268
|
+
#endif
|
|
269
|
+
#ifndef ENOTSOCK
|
|
270
|
+
#define ENOTSOCK (-5088)
|
|
271
|
+
#endif
|
|
272
|
+
#ifndef EDESTADDRREQ
|
|
273
|
+
#define EDESTADDRREQ (-5089)
|
|
274
|
+
#endif
|
|
275
|
+
#ifndef EMSGSIZE
|
|
276
|
+
#define EMSGSIZE (-5090)
|
|
277
|
+
#endif
|
|
278
|
+
#ifndef EPROTOTYPE
|
|
279
|
+
#define EPROTOTYPE (-5091)
|
|
280
|
+
#endif
|
|
281
|
+
#ifndef ENOPROTOOPT
|
|
282
|
+
#define ENOPROTOOPT (-5092)
|
|
283
|
+
#endif
|
|
284
|
+
#ifndef EPROTONOSUPPORT
|
|
285
|
+
#define EPROTONOSUPPORT (-5093)
|
|
286
|
+
#endif
|
|
287
|
+
#ifndef ESOCKTNOSUPPORT
|
|
288
|
+
#define ESOCKTNOSUPPORT (-5094)
|
|
289
|
+
#endif
|
|
290
|
+
#ifndef EOPNOTSUPP
|
|
291
|
+
#define EOPNOTSUPP (-5095)
|
|
292
|
+
#endif
|
|
293
|
+
#ifndef EPFNOSUPPORT
|
|
294
|
+
#define EPFNOSUPPORT (-5096)
|
|
295
|
+
#endif
|
|
296
|
+
#ifndef EAFNOSUPPORT
|
|
297
|
+
#define EAFNOSUPPORT (-5097)
|
|
298
|
+
#endif
|
|
299
|
+
#ifndef EADDRINUSE
|
|
300
|
+
#define EADDRINUSE (-5098)
|
|
301
|
+
#endif
|
|
302
|
+
#ifndef EADDRNOTAVAIL
|
|
303
|
+
#define EADDRNOTAVAIL (-5099)
|
|
304
|
+
#endif
|
|
305
|
+
#ifndef ENETDOWN
|
|
306
|
+
#define ENETDOWN (-5100)
|
|
307
|
+
#endif
|
|
308
|
+
#ifndef ENETUNREACH
|
|
309
|
+
#define ENETUNREACH (-5101)
|
|
310
|
+
#endif
|
|
311
|
+
#ifndef ENETRESET
|
|
312
|
+
#define ENETRESET (-5102)
|
|
313
|
+
#endif
|
|
314
|
+
#ifndef ECONNABORTED
|
|
315
|
+
#define ECONNABORTED (-5103)
|
|
316
|
+
#endif
|
|
317
|
+
#ifndef ECONNRESET
|
|
318
|
+
#define ECONNRESET (-5104)
|
|
319
|
+
#endif
|
|
320
|
+
#ifndef ENOBUFS
|
|
321
|
+
#define ENOBUFS (-5105)
|
|
322
|
+
#endif
|
|
323
|
+
#ifndef EISCONN
|
|
324
|
+
#define EISCONN (-5106)
|
|
325
|
+
#endif
|
|
326
|
+
#ifndef ENOTCONN
|
|
327
|
+
#define ENOTCONN (-5107)
|
|
328
|
+
#endif
|
|
329
|
+
#ifndef ESHUTDOWN
|
|
330
|
+
#define ESHUTDOWN (-5108)
|
|
331
|
+
#endif
|
|
332
|
+
#ifndef ETOOMANYREFS
|
|
333
|
+
#define ETOOMANYREFS (-5109)
|
|
334
|
+
#endif
|
|
335
|
+
#ifndef ETIMEDOUT
|
|
336
|
+
#define ETIMEDOUT (-5110)
|
|
337
|
+
#endif
|
|
338
|
+
#ifndef ECONNREFUSED
|
|
339
|
+
#define ECONNREFUSED (-5111)
|
|
340
|
+
#endif
|
|
341
|
+
#ifndef EHOSTDOWN
|
|
342
|
+
#define EHOSTDOWN (-5112)
|
|
343
|
+
#endif
|
|
344
|
+
#ifndef EHOSTUNREACH
|
|
345
|
+
#define EHOSTUNREACH (-5113)
|
|
346
|
+
#endif
|
|
347
|
+
#ifndef EALREADY
|
|
348
|
+
#define EALREADY (-5114)
|
|
349
|
+
#endif
|
|
350
|
+
#ifndef EINPROGRESS
|
|
351
|
+
#define EINPROGRESS (-5115)
|
|
352
|
+
#endif
|
|
353
|
+
#ifndef ESTALE
|
|
354
|
+
#define ESTALE (-5116)
|
|
355
|
+
#endif
|
|
356
|
+
#ifndef EUCLEAN
|
|
357
|
+
#define EUCLEAN (-5117)
|
|
358
|
+
#endif
|
|
359
|
+
#ifndef ENOTNAM
|
|
360
|
+
#define ENOTNAM (-5118)
|
|
361
|
+
#endif
|
|
362
|
+
#ifndef ENAVAIL
|
|
363
|
+
#define ENAVAIL (-5119)
|
|
364
|
+
#endif
|
|
365
|
+
#ifndef EISNAM
|
|
366
|
+
#define EISNAM (-5120)
|
|
367
|
+
#endif
|
|
368
|
+
#ifndef EREMOTEIO
|
|
369
|
+
#define EREMOTEIO (-5121)
|
|
370
|
+
#endif
|
|
371
|
+
#ifndef EDQUOT
|
|
372
|
+
#define EDQUOT (-5122)
|
|
373
|
+
#endif
|
|
374
|
+
#ifndef ENOMEDIUM
|
|
375
|
+
#define ENOMEDIUM (-5123)
|
|
376
|
+
#endif
|
|
377
|
+
#ifndef EMEDIUMTYPE
|
|
378
|
+
#define EMEDIUMTYPE (-5124)
|
|
379
|
+
#endif
|
|
380
|
+
#ifndef ECANCELED
|
|
381
|
+
#define ECANCELED (-5125)
|
|
382
|
+
#endif
|
|
383
|
+
#ifndef ENOKEY
|
|
384
|
+
#define ENOKEY (-5126)
|
|
385
|
+
#endif
|
|
386
|
+
#ifndef EKEYEXPIRED
|
|
387
|
+
#define EKEYEXPIRED (-5127)
|
|
388
|
+
#endif
|
|
389
|
+
#ifndef EKEYREVOKED
|
|
390
|
+
#define EKEYREVOKED (-5128)
|
|
391
|
+
#endif
|
|
392
|
+
#ifndef EKEYREJECTED
|
|
393
|
+
#define EKEYREJECTED (-5129)
|
|
394
|
+
#endif
|
|
395
|
+
#ifndef EOWNERDEAD
|
|
396
|
+
#define EOWNERDEAD (-5130)
|
|
397
|
+
#endif
|
|
398
|
+
#ifndef ENOTRECOVERABLE
|
|
399
|
+
#define ENOTRECOVERABLE (-5131)
|
|
400
|
+
#endif
|
|
401
|
+
#ifndef ERFKILL
|
|
402
|
+
#define ERFKILL (-5132)
|
|
403
|
+
#endif
|
|
404
|
+
#ifndef EPROCLIM
|
|
405
|
+
#define EPROCLIM (-6067)
|
|
406
|
+
#endif
|
|
407
|
+
#ifndef EBADRPC
|
|
408
|
+
#define EBADRPC (-6072)
|
|
409
|
+
#endif
|
|
410
|
+
#ifndef ERPCMISMATCH
|
|
411
|
+
#define ERPCMISMATCH (-6073)
|
|
412
|
+
#endif
|
|
413
|
+
#ifndef EPROGUNAVAIL
|
|
414
|
+
#define EPROGUNAVAIL (-6074)
|
|
415
|
+
#endif
|
|
416
|
+
#ifndef EPROGMISMATCH
|
|
417
|
+
#define EPROGMISMATCH (-6075)
|
|
418
|
+
#endif
|
|
419
|
+
#ifndef EPROCUNAVAIL
|
|
420
|
+
#define EPROCUNAVAIL (-6076)
|
|
421
|
+
#endif
|
|
422
|
+
#ifndef EFTYPE
|
|
423
|
+
#define EFTYPE (-6079)
|
|
424
|
+
#endif
|
|
425
|
+
#ifndef EAUTH
|
|
426
|
+
#define EAUTH (-6080)
|
|
427
|
+
#endif
|
|
428
|
+
#ifndef ENEEDAUTH
|
|
429
|
+
#define ENEEDAUTH (-6081)
|
|
430
|
+
#endif
|
|
431
|
+
#ifndef ENOATTR
|
|
432
|
+
#define ENOATTR (-6087)
|
|
433
|
+
#endif
|
|
434
|
+
#ifndef ENOTCAPABLE
|
|
435
|
+
#define ENOTCAPABLE (-6093)
|
|
436
|
+
#endif
|
|
437
|
+
|
|
438
|
+
#endif
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#include "hexparse.h"
|
|
2
|
+
|
|
3
|
+
static int hexdigit(char x)
|
|
4
|
+
{
|
|
5
|
+
if (x >= '0' && x <= '9') return x - '0';
|
|
6
|
+
if (x >= 'a' && x <= 'f') return 10 + (x - 'a');
|
|
7
|
+
if (x >= 'A' && x <= 'F') return 10 + (x - 'A');
|
|
8
|
+
return -1;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
int hexparse(unsigned char *y,long long len,const char *x)
|
|
12
|
+
{
|
|
13
|
+
if (!x) return 0;
|
|
14
|
+
while (len > 0) {
|
|
15
|
+
int digit0;
|
|
16
|
+
int digit1;
|
|
17
|
+
digit0 = hexdigit(x[0]); if (digit0 == -1) return 0;
|
|
18
|
+
digit1 = hexdigit(x[1]); if (digit1 == -1) return 0;
|
|
19
|
+
*y++ = digit1 + 16 * digit0;
|
|
20
|
+
--len;
|
|
21
|
+
x += 2;
|
|
22
|
+
}
|
|
23
|
+
if (x[0]) return 0;
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#include <unistd.h>
|
|
2
|
+
#include "open.h"
|
|
3
|
+
#include "e.h"
|
|
4
|
+
#include "load.h"
|
|
5
|
+
|
|
6
|
+
static int readall(int fd,void *x,long long xlen)
|
|
7
|
+
{
|
|
8
|
+
long long r;
|
|
9
|
+
while (xlen > 0) {
|
|
10
|
+
r = xlen;
|
|
11
|
+
if (r > 1048576) r = 1048576;
|
|
12
|
+
r = read(fd,x,r);
|
|
13
|
+
if (r == 0) errno = EPROTO;
|
|
14
|
+
if (r <= 0) {
|
|
15
|
+
if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK) continue;
|
|
16
|
+
return -1;
|
|
17
|
+
}
|
|
18
|
+
x += r;
|
|
19
|
+
xlen -= r;
|
|
20
|
+
}
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
int load(const char *fn,void *x,long long xlen)
|
|
25
|
+
{
|
|
26
|
+
int fd;
|
|
27
|
+
int r;
|
|
28
|
+
fd = open_read(fn);
|
|
29
|
+
if (fd == -1) return -1;
|
|
30
|
+
r = readall(fd,x,xlen);
|
|
31
|
+
close(fd);
|
|
32
|
+
return r;
|
|
33
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#include "nameparse.h"
|
|
2
|
+
|
|
3
|
+
int nameparse(unsigned char *s,const char *x)
|
|
4
|
+
{
|
|
5
|
+
long long pos;
|
|
6
|
+
long long j;
|
|
7
|
+
if (!x) return 0;
|
|
8
|
+
for (pos = 0;pos < 256;++pos) s[pos] = 0;
|
|
9
|
+
pos = 0;
|
|
10
|
+
while (*x) {
|
|
11
|
+
if (*x == '.') { ++x; continue; }
|
|
12
|
+
for (j = 0;x[j];++j) if (x[j] == '.') break;
|
|
13
|
+
if (j > 63) return 0;
|
|
14
|
+
if (pos < 0 || pos >= 256) return 0; s[pos++] = j;
|
|
15
|
+
while (j > 0) { if (pos < 0 || pos >= 256) return 0; s[pos++] = *x++; --j; }
|
|
16
|
+
}
|
|
17
|
+
if (pos < 0 || pos >= 256) return 0; s[pos++] = 0;
|
|
18
|
+
return 1;
|
|
19
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#include <time.h>
|
|
2
|
+
#ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time
|
|
3
|
+
#include <mach/clock.h>
|
|
4
|
+
#include <mach/mach.h>
|
|
5
|
+
#endif
|
|
6
|
+
#include "nanoseconds.h"
|
|
7
|
+
|
|
8
|
+
/* XXX: Y2036 problems; should upgrade to a 128-bit type for this */
|
|
9
|
+
/* XXX: nanosecond granularity limits users to 1 terabyte per second */
|
|
10
|
+
|
|
11
|
+
long long nanoseconds(void)
|
|
12
|
+
{
|
|
13
|
+
struct timespec t;
|
|
14
|
+
|
|
15
|
+
#ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time
|
|
16
|
+
clock_serv_t cclock;
|
|
17
|
+
mach_timespec_t mts;
|
|
18
|
+
host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
|
|
19
|
+
clock_get_time(cclock, &mts);
|
|
20
|
+
mach_port_deallocate(mach_task_self(), cclock);
|
|
21
|
+
t.tv_sec = mts.tv_sec;
|
|
22
|
+
t.tv_nsec = mts.tv_nsec;
|
|
23
|
+
#else
|
|
24
|
+
if (clock_gettime(CLOCK_REALTIME,&t) != 0) return -1;
|
|
25
|
+
#endif
|
|
26
|
+
return t.tv_sec * 1000000000LL + t.tv_nsec;
|
|
27
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#include <sys/types.h>
|
|
2
|
+
#include <sys/stat.h>
|
|
3
|
+
#include <unistd.h>
|
|
4
|
+
#include <fcntl.h>
|
|
5
|
+
#include "open.h"
|
|
6
|
+
|
|
7
|
+
int open_lock(const char *fn)
|
|
8
|
+
{
|
|
9
|
+
#ifdef O_CLOEXEC
|
|
10
|
+
int fd = open(fn,O_RDWR | O_CLOEXEC);
|
|
11
|
+
if (fd == -1) return -1;
|
|
12
|
+
#else
|
|
13
|
+
int fd = open(fn,O_RDWR);
|
|
14
|
+
if (fd == -1) return -1;
|
|
15
|
+
fcntl(fd,F_SETFD,1);
|
|
16
|
+
#endif
|
|
17
|
+
if (lockf(fd,F_LOCK,0) == -1) { close(fd); return -1; }
|
|
18
|
+
return fd;
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#include <unistd.h>
|
|
2
|
+
#include <fcntl.h>
|
|
3
|
+
#include "open.h"
|
|
4
|
+
#include "blocking.h"
|
|
5
|
+
|
|
6
|
+
int open_pipe(int *fd)
|
|
7
|
+
{
|
|
8
|
+
int i;
|
|
9
|
+
if (pipe(fd) == -1) return -1;
|
|
10
|
+
for (i = 0;i < 2;++i) {
|
|
11
|
+
fcntl(fd[i],F_SETFD,1);
|
|
12
|
+
blocking_disable(fd[i]);
|
|
13
|
+
}
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#include <sys/types.h>
|
|
2
|
+
#include <sys/stat.h>
|
|
3
|
+
#include <unistd.h>
|
|
4
|
+
#include <fcntl.h>
|
|
5
|
+
#include "open.h"
|
|
6
|
+
|
|
7
|
+
int open_read(const char *fn)
|
|
8
|
+
{
|
|
9
|
+
#ifdef O_CLOEXEC
|
|
10
|
+
return open(fn,O_RDONLY | O_NONBLOCK | O_CLOEXEC);
|
|
11
|
+
#else
|
|
12
|
+
int fd = open(fn,O_RDONLY | O_NONBLOCK);
|
|
13
|
+
if (fd == -1) return -1;
|
|
14
|
+
fcntl(fd,F_SETFD,1);
|
|
15
|
+
return fd;
|
|
16
|
+
#endif
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#include <sys/types.h>
|
|
2
|
+
#include <sys/stat.h>
|
|
3
|
+
#include <unistd.h>
|
|
4
|
+
#include <fcntl.h>
|
|
5
|
+
#include "open.h"
|
|
6
|
+
|
|
7
|
+
int open_write(const char *fn)
|
|
8
|
+
{
|
|
9
|
+
#ifdef O_CLOEXEC
|
|
10
|
+
return open(fn,O_CREAT | O_WRONLY | O_NONBLOCK | O_CLOEXEC,0644);
|
|
11
|
+
#else
|
|
12
|
+
int fd = open(fn,O_CREAT | O_WRONLY | O_NONBLOCK,0644);
|
|
13
|
+
if (fd == -1) return -1;
|
|
14
|
+
fcntl(fd,F_SETFD,1);
|
|
15
|
+
return fd;
|
|
16
|
+
#endif
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#include "portparse.h"
|
|
2
|
+
|
|
3
|
+
int portparse(unsigned char *y,const char *x)
|
|
4
|
+
{
|
|
5
|
+
long long d = 0;
|
|
6
|
+
long long j;
|
|
7
|
+
for (j = 0;j < 5 && x[j] >= '0' && x[j] <= '9';++j)
|
|
8
|
+
d = d * 10 + (x[j] - '0');
|
|
9
|
+
if (j == 0) return 0;
|
|
10
|
+
if (x[j]) return 0;
|
|
11
|
+
y[0] = d >> 8;
|
|
12
|
+
y[1] = d;
|
|
13
|
+
return 1;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#include "randombytes.h"
|
|
2
|
+
|
|
3
|
+
/* XXX: current implementation is limited to n<2^55 */
|
|
4
|
+
|
|
5
|
+
long long randommod(long long n)
|
|
6
|
+
{
|
|
7
|
+
long long result = 0;
|
|
8
|
+
long long j;
|
|
9
|
+
unsigned char r[32];
|
|
10
|
+
if (n <= 1) return 0;
|
|
11
|
+
randombytes(r,32);
|
|
12
|
+
for (j = 0;j < 32;++j) result = (result * 256 + (unsigned long long) r[j]) % n;
|
|
13
|
+
return result;
|
|
14
|
+
}
|