1 // Copyright Joyent, Inc. and other Node contributors.
3 // Permission is hereby granted, free of charge, to any person obtaining a
4 // copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to permit
8 // persons to whom the Software is furnished to do so, subject to the
9 // following conditions:
11 // The above copyright notice and this permission notice shall be included
12 // in all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17 // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20 // USE OR OTHER DEALINGS IN THE SOFTWARE.
22 #include "node_constants.h"
27 #if !defined(_MSC_VER)
32 #include <sys/types.h>
36 # include <openssl/ssl.h>
37 # ifndef OPENSSL_NO_ENGINE
38 # include <openssl/engine.h>
39 # endif // !OPENSSL_NO_ENGINE
47 void DefineErrnoConstants(Handle<Object> target) {
49 NODE_DEFINE_CONSTANT(target, E2BIG);
53 NODE_DEFINE_CONSTANT(target, EACCES);
57 NODE_DEFINE_CONSTANT(target, EADDRINUSE);
61 NODE_DEFINE_CONSTANT(target, EADDRNOTAVAIL);
65 NODE_DEFINE_CONSTANT(target, EAFNOSUPPORT);
69 NODE_DEFINE_CONSTANT(target, EAGAIN);
73 NODE_DEFINE_CONSTANT(target, EALREADY);
77 NODE_DEFINE_CONSTANT(target, EBADF);
81 NODE_DEFINE_CONSTANT(target, EBADMSG);
85 NODE_DEFINE_CONSTANT(target, EBUSY);
89 NODE_DEFINE_CONSTANT(target, ECANCELED);
93 NODE_DEFINE_CONSTANT(target, ECHILD);
97 NODE_DEFINE_CONSTANT(target, ECONNABORTED);
101 NODE_DEFINE_CONSTANT(target, ECONNREFUSED);
105 NODE_DEFINE_CONSTANT(target, ECONNRESET);
109 NODE_DEFINE_CONSTANT(target, EDEADLK);
113 NODE_DEFINE_CONSTANT(target, EDESTADDRREQ);
117 NODE_DEFINE_CONSTANT(target, EDOM);
121 NODE_DEFINE_CONSTANT(target, EDQUOT);
125 NODE_DEFINE_CONSTANT(target, EEXIST);
129 NODE_DEFINE_CONSTANT(target, EFAULT);
133 NODE_DEFINE_CONSTANT(target, EFBIG);
137 NODE_DEFINE_CONSTANT(target, EHOSTUNREACH);
141 NODE_DEFINE_CONSTANT(target, EIDRM);
145 NODE_DEFINE_CONSTANT(target, EILSEQ);
149 NODE_DEFINE_CONSTANT(target, EINPROGRESS);
153 NODE_DEFINE_CONSTANT(target, EINTR);
157 NODE_DEFINE_CONSTANT(target, EINVAL);
161 NODE_DEFINE_CONSTANT(target, EIO);
165 NODE_DEFINE_CONSTANT(target, EISCONN);
169 NODE_DEFINE_CONSTANT(target, EISDIR);
173 NODE_DEFINE_CONSTANT(target, ELOOP);
177 NODE_DEFINE_CONSTANT(target, EMFILE);
181 NODE_DEFINE_CONSTANT(target, EMLINK);
185 NODE_DEFINE_CONSTANT(target, EMSGSIZE);
189 NODE_DEFINE_CONSTANT(target, EMULTIHOP);
193 NODE_DEFINE_CONSTANT(target, ENAMETOOLONG);
197 NODE_DEFINE_CONSTANT(target, ENETDOWN);
201 NODE_DEFINE_CONSTANT(target, ENETRESET);
205 NODE_DEFINE_CONSTANT(target, ENETUNREACH);
209 NODE_DEFINE_CONSTANT(target, ENFILE);
213 NODE_DEFINE_CONSTANT(target, ENOBUFS);
217 NODE_DEFINE_CONSTANT(target, ENODATA);
221 NODE_DEFINE_CONSTANT(target, ENODEV);
225 NODE_DEFINE_CONSTANT(target, ENOENT);
229 NODE_DEFINE_CONSTANT(target, ENOEXEC);
233 NODE_DEFINE_CONSTANT(target, ENOLCK);
237 NODE_DEFINE_CONSTANT(target, ENOLINK);
241 NODE_DEFINE_CONSTANT(target, ENOMEM);
245 NODE_DEFINE_CONSTANT(target, ENOMSG);
249 NODE_DEFINE_CONSTANT(target, ENOPROTOOPT);
253 NODE_DEFINE_CONSTANT(target, ENOSPC);
257 NODE_DEFINE_CONSTANT(target, ENOSR);
261 NODE_DEFINE_CONSTANT(target, ENOSTR);
265 NODE_DEFINE_CONSTANT(target, ENOSYS);
269 NODE_DEFINE_CONSTANT(target, ENOTCONN);
273 NODE_DEFINE_CONSTANT(target, ENOTDIR);
277 NODE_DEFINE_CONSTANT(target, ENOTEMPTY);
281 NODE_DEFINE_CONSTANT(target, ENOTSOCK);
285 NODE_DEFINE_CONSTANT(target, ENOTSUP);
289 NODE_DEFINE_CONSTANT(target, ENOTTY);
293 NODE_DEFINE_CONSTANT(target, ENXIO);
297 NODE_DEFINE_CONSTANT(target, EOPNOTSUPP);
301 NODE_DEFINE_CONSTANT(target, EOVERFLOW);
305 NODE_DEFINE_CONSTANT(target, EPERM);
309 NODE_DEFINE_CONSTANT(target, EPIPE);
313 NODE_DEFINE_CONSTANT(target, EPROTO);
316 #ifdef EPROTONOSUPPORT
317 NODE_DEFINE_CONSTANT(target, EPROTONOSUPPORT);
321 NODE_DEFINE_CONSTANT(target, EPROTOTYPE);
325 NODE_DEFINE_CONSTANT(target, ERANGE);
329 NODE_DEFINE_CONSTANT(target, EROFS);
333 NODE_DEFINE_CONSTANT(target, ESPIPE);
337 NODE_DEFINE_CONSTANT(target, ESRCH);
341 NODE_DEFINE_CONSTANT(target, ESTALE);
345 NODE_DEFINE_CONSTANT(target, ETIME);
349 NODE_DEFINE_CONSTANT(target, ETIMEDOUT);
353 NODE_DEFINE_CONSTANT(target, ETXTBSY);
357 NODE_DEFINE_CONSTANT(target, EWOULDBLOCK);
361 NODE_DEFINE_CONSTANT(target, EXDEV);
365 void DefineWindowsErrorConstants(Handle<Object> target) {
367 NODE_DEFINE_CONSTANT(target, WSAEINTR);
371 NODE_DEFINE_CONSTANT(target, WSAEBADF);
375 NODE_DEFINE_CONSTANT(target, WSAEACCES);
379 NODE_DEFINE_CONSTANT(target, WSAEFAULT);
383 NODE_DEFINE_CONSTANT(target, WSAEINVAL);
387 NODE_DEFINE_CONSTANT(target, WSAEMFILE);
390 #ifdef WSAEWOULDBLOCK
391 NODE_DEFINE_CONSTANT(target, WSAEWOULDBLOCK);
394 #ifdef WSAEINPROGRESS
395 NODE_DEFINE_CONSTANT(target, WSAEINPROGRESS);
399 NODE_DEFINE_CONSTANT(target, WSAEALREADY);
403 NODE_DEFINE_CONSTANT(target, WSAENOTSOCK);
406 #ifdef WSAEDESTADDRREQ
407 NODE_DEFINE_CONSTANT(target, WSAEDESTADDRREQ);
411 NODE_DEFINE_CONSTANT(target, WSAEMSGSIZE);
415 NODE_DEFINE_CONSTANT(target, WSAEPROTOTYPE);
418 #ifdef WSAENOPROTOOPT
419 NODE_DEFINE_CONSTANT(target, WSAENOPROTOOPT);
422 #ifdef WSAEPROTONOSUPPORT
423 NODE_DEFINE_CONSTANT(target, WSAEPROTONOSUPPORT);
426 #ifdef WSAESOCKTNOSUPPORT
427 NODE_DEFINE_CONSTANT(target, WSAESOCKTNOSUPPORT);
431 NODE_DEFINE_CONSTANT(target, WSAEOPNOTSUPP);
434 #ifdef WSAEPFNOSUPPORT
435 NODE_DEFINE_CONSTANT(target, WSAEPFNOSUPPORT);
438 #ifdef WSAEAFNOSUPPORT
439 NODE_DEFINE_CONSTANT(target, WSAEAFNOSUPPORT);
443 NODE_DEFINE_CONSTANT(target, WSAEADDRINUSE);
446 #ifdef WSAEADDRNOTAVAIL
447 NODE_DEFINE_CONSTANT(target, WSAEADDRNOTAVAIL);
451 NODE_DEFINE_CONSTANT(target, WSAENETDOWN);
454 #ifdef WSAENETUNREACH
455 NODE_DEFINE_CONSTANT(target, WSAENETUNREACH);
459 NODE_DEFINE_CONSTANT(target, WSAENETRESET);
462 #ifdef WSAECONNABORTED
463 NODE_DEFINE_CONSTANT(target, WSAECONNABORTED);
467 NODE_DEFINE_CONSTANT(target, WSAECONNRESET);
471 NODE_DEFINE_CONSTANT(target, WSAENOBUFS);
475 NODE_DEFINE_CONSTANT(target, WSAEISCONN);
479 NODE_DEFINE_CONSTANT(target, WSAENOTCONN);
483 NODE_DEFINE_CONSTANT(target, WSAESHUTDOWN);
486 #ifdef WSAETOOMANYREFS
487 NODE_DEFINE_CONSTANT(target, WSAETOOMANYREFS);
491 NODE_DEFINE_CONSTANT(target, WSAETIMEDOUT);
494 #ifdef WSAECONNREFUSED
495 NODE_DEFINE_CONSTANT(target, WSAECONNREFUSED);
499 NODE_DEFINE_CONSTANT(target, WSAELOOP);
502 #ifdef WSAENAMETOOLONG
503 NODE_DEFINE_CONSTANT(target, WSAENAMETOOLONG);
507 NODE_DEFINE_CONSTANT(target, WSAEHOSTDOWN);
510 #ifdef WSAEHOSTUNREACH
511 NODE_DEFINE_CONSTANT(target, WSAEHOSTUNREACH);
515 NODE_DEFINE_CONSTANT(target, WSAENOTEMPTY);
519 NODE_DEFINE_CONSTANT(target, WSAEPROCLIM);
523 NODE_DEFINE_CONSTANT(target, WSAEUSERS);
527 NODE_DEFINE_CONSTANT(target, WSAEDQUOT);
531 NODE_DEFINE_CONSTANT(target, WSAESTALE);
535 NODE_DEFINE_CONSTANT(target, WSAEREMOTE);
538 #ifdef WSASYSNOTREADY
539 NODE_DEFINE_CONSTANT(target, WSASYSNOTREADY);
542 #ifdef WSAVERNOTSUPPORTED
543 NODE_DEFINE_CONSTANT(target, WSAVERNOTSUPPORTED);
546 #ifdef WSANOTINITIALISED
547 NODE_DEFINE_CONSTANT(target, WSANOTINITIALISED);
551 NODE_DEFINE_CONSTANT(target, WSAEDISCON);
555 NODE_DEFINE_CONSTANT(target, WSAENOMORE);
559 NODE_DEFINE_CONSTANT(target, WSAECANCELLED);
562 #ifdef WSAEINVALIDPROCTABLE
563 NODE_DEFINE_CONSTANT(target, WSAEINVALIDPROCTABLE);
566 #ifdef WSAEINVALIDPROVIDER
567 NODE_DEFINE_CONSTANT(target, WSAEINVALIDPROVIDER);
570 #ifdef WSAEPROVIDERFAILEDINIT
571 NODE_DEFINE_CONSTANT(target, WSAEPROVIDERFAILEDINIT);
574 #ifdef WSASYSCALLFAILURE
575 NODE_DEFINE_CONSTANT(target, WSASYSCALLFAILURE);
578 #ifdef WSASERVICE_NOT_FOUND
579 NODE_DEFINE_CONSTANT(target, WSASERVICE_NOT_FOUND);
582 #ifdef WSATYPE_NOT_FOUND
583 NODE_DEFINE_CONSTANT(target, WSATYPE_NOT_FOUND);
587 NODE_DEFINE_CONSTANT(target, WSA_E_NO_MORE);
590 #ifdef WSA_E_CANCELLED
591 NODE_DEFINE_CONSTANT(target, WSA_E_CANCELLED);
595 NODE_DEFINE_CONSTANT(target, WSAEREFUSED);
599 void DefineSignalConstants(Handle<Object> target) {
601 NODE_DEFINE_CONSTANT(target, SIGHUP);
605 NODE_DEFINE_CONSTANT(target, SIGINT);
609 NODE_DEFINE_CONSTANT(target, SIGQUIT);
613 NODE_DEFINE_CONSTANT(target, SIGILL);
617 NODE_DEFINE_CONSTANT(target, SIGTRAP);
621 NODE_DEFINE_CONSTANT(target, SIGABRT);
625 NODE_DEFINE_CONSTANT(target, SIGIOT);
629 NODE_DEFINE_CONSTANT(target, SIGBUS);
633 NODE_DEFINE_CONSTANT(target, SIGFPE);
637 NODE_DEFINE_CONSTANT(target, SIGKILL);
641 NODE_DEFINE_CONSTANT(target, SIGUSR1);
645 NODE_DEFINE_CONSTANT(target, SIGSEGV);
649 NODE_DEFINE_CONSTANT(target, SIGUSR2);
653 NODE_DEFINE_CONSTANT(target, SIGPIPE);
657 NODE_DEFINE_CONSTANT(target, SIGALRM);
660 NODE_DEFINE_CONSTANT(target, SIGTERM);
663 NODE_DEFINE_CONSTANT(target, SIGCHLD);
667 NODE_DEFINE_CONSTANT(target, SIGSTKFLT);
672 NODE_DEFINE_CONSTANT(target, SIGCONT);
676 NODE_DEFINE_CONSTANT(target, SIGSTOP);
680 NODE_DEFINE_CONSTANT(target, SIGTSTP);
684 NODE_DEFINE_CONSTANT(target, SIGBREAK);
688 NODE_DEFINE_CONSTANT(target, SIGTTIN);
692 NODE_DEFINE_CONSTANT(target, SIGTTOU);
696 NODE_DEFINE_CONSTANT(target, SIGURG);
700 NODE_DEFINE_CONSTANT(target, SIGXCPU);
704 NODE_DEFINE_CONSTANT(target, SIGXFSZ);
708 NODE_DEFINE_CONSTANT(target, SIGVTALRM);
712 NODE_DEFINE_CONSTANT(target, SIGPROF);
716 NODE_DEFINE_CONSTANT(target, SIGWINCH);
720 NODE_DEFINE_CONSTANT(target, SIGIO);
724 NODE_DEFINE_CONSTANT(target, SIGPOLL);
728 NODE_DEFINE_CONSTANT(target, SIGLOST);
732 NODE_DEFINE_CONSTANT(target, SIGPWR);
736 NODE_DEFINE_CONSTANT(target, SIGSYS);
740 NODE_DEFINE_CONSTANT(target, SIGUNUSED);
744 void DefineOpenSSLConstants(Handle<Object> target) {
746 NODE_DEFINE_CONSTANT(target, SSL_OP_ALL);
749 #ifdef SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION
750 NODE_DEFINE_CONSTANT(target, SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION);
753 #ifdef SSL_OP_CIPHER_SERVER_PREFERENCE
754 NODE_DEFINE_CONSTANT(target, SSL_OP_CIPHER_SERVER_PREFERENCE);
757 #ifdef SSL_OP_CISCO_ANYCONNECT
758 NODE_DEFINE_CONSTANT(target, SSL_OP_CISCO_ANYCONNECT);
761 #ifdef SSL_OP_COOKIE_EXCHANGE
762 NODE_DEFINE_CONSTANT(target, SSL_OP_COOKIE_EXCHANGE);
765 #ifdef SSL_OP_CRYPTOPRO_TLSEXT_BUG
766 NODE_DEFINE_CONSTANT(target, SSL_OP_CRYPTOPRO_TLSEXT_BUG);
769 #ifdef SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
770 NODE_DEFINE_CONSTANT(target, SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS);
773 #ifdef SSL_OP_EPHEMERAL_RSA
774 NODE_DEFINE_CONSTANT(target, SSL_OP_EPHEMERAL_RSA);
777 #ifdef SSL_OP_LEGACY_SERVER_CONNECT
778 NODE_DEFINE_CONSTANT(target, SSL_OP_LEGACY_SERVER_CONNECT);
781 #ifdef SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER
782 NODE_DEFINE_CONSTANT(target, SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER);
785 #ifdef SSL_OP_MICROSOFT_SESS_ID_BUG
786 NODE_DEFINE_CONSTANT(target, SSL_OP_MICROSOFT_SESS_ID_BUG);
789 #ifdef SSL_OP_MSIE_SSLV2_RSA_PADDING
790 NODE_DEFINE_CONSTANT(target, SSL_OP_MSIE_SSLV2_RSA_PADDING);
793 #ifdef SSL_OP_NETSCAPE_CA_DN_BUG
794 NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_CA_DN_BUG);
797 #ifdef SSL_OP_NETSCAPE_CHALLENGE_BUG
798 NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_CHALLENGE_BUG);
801 #ifdef SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
802 NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
805 #ifdef SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
806 NODE_DEFINE_CONSTANT(target, SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG);
809 #ifdef SSL_OP_NO_COMPRESSION
810 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_COMPRESSION);
813 #ifdef SSL_OP_NO_QUERY_MTU
814 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_QUERY_MTU);
817 #ifdef SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
818 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
821 #ifdef SSL_OP_NO_SSLv2
822 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_SSLv2);
825 #ifdef SSL_OP_NO_SSLv3
826 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_SSLv3);
829 #ifdef SSL_OP_NO_TICKET
830 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_TICKET);
833 #ifdef SSL_OP_NO_TLSv1
834 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_TLSv1);
837 #ifdef SSL_OP_NO_TLSv1_1
838 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_TLSv1_1);
841 #ifdef SSL_OP_NO_TLSv1_2
842 NODE_DEFINE_CONSTANT(target, SSL_OP_NO_TLSv1_2);
845 #ifdef SSL_OP_PKCS1_CHECK_1
846 NODE_DEFINE_CONSTANT(target, SSL_OP_PKCS1_CHECK_1);
849 #ifdef SSL_OP_PKCS1_CHECK_2
850 NODE_DEFINE_CONSTANT(target, SSL_OP_PKCS1_CHECK_2);
853 #ifdef SSL_OP_SINGLE_DH_USE
854 NODE_DEFINE_CONSTANT(target, SSL_OP_SINGLE_DH_USE);
857 #ifdef SSL_OP_SINGLE_ECDH_USE
858 NODE_DEFINE_CONSTANT(target, SSL_OP_SINGLE_ECDH_USE);
861 #ifdef SSL_OP_SSLEAY_080_CLIENT_DH_BUG
862 NODE_DEFINE_CONSTANT(target, SSL_OP_SSLEAY_080_CLIENT_DH_BUG);
865 #ifdef SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG
866 NODE_DEFINE_CONSTANT(target, SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG);
869 #ifdef SSL_OP_TLS_BLOCK_PADDING_BUG
870 NODE_DEFINE_CONSTANT(target, SSL_OP_TLS_BLOCK_PADDING_BUG);
873 #ifdef SSL_OP_TLS_D5_BUG
874 NODE_DEFINE_CONSTANT(target, SSL_OP_TLS_D5_BUG);
877 #ifdef SSL_OP_TLS_ROLLBACK_BUG
878 NODE_DEFINE_CONSTANT(target, SSL_OP_TLS_ROLLBACK_BUG);
881 # ifndef OPENSSL_NO_ENGINE
883 # ifdef ENGINE_METHOD_DSA
884 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_DSA);
887 # ifdef ENGINE_METHOD_DH
888 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_DH);
891 # ifdef ENGINE_METHOD_RAND
892 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_RAND);
895 # ifdef ENGINE_METHOD_ECDH
896 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_ECDH);
899 # ifdef ENGINE_METHOD_ECDSA
900 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_ECDSA);
903 # ifdef ENGINE_METHOD_CIPHERS
904 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_CIPHERS);
907 # ifdef ENGINE_METHOD_DIGESTS
908 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_DIGESTS);
911 # ifdef ENGINE_METHOD_STORE
912 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_STORE);
915 # ifdef ENGINE_METHOD_PKEY_METHS
916 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_PKEY_METHS);
919 # ifdef ENGINE_METHOD_PKEY_ASN1_METHS
920 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_PKEY_ASN1_METHS);
923 # ifdef ENGINE_METHOD_ALL
924 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_ALL);
927 # ifdef ENGINE_METHOD_NONE
928 NODE_DEFINE_CONSTANT(target, ENGINE_METHOD_NONE);
931 # endif // !OPENSSL_NO_ENGINE
933 #ifdef DH_CHECK_P_NOT_SAFE_PRIME
934 NODE_DEFINE_CONSTANT(target, DH_CHECK_P_NOT_SAFE_PRIME);
937 #ifdef DH_CHECK_P_NOT_PRIME
938 NODE_DEFINE_CONSTANT(target, DH_CHECK_P_NOT_PRIME);
941 #ifdef DH_UNABLE_TO_CHECK_GENERATOR
942 NODE_DEFINE_CONSTANT(target, DH_UNABLE_TO_CHECK_GENERATOR);
945 #ifdef DH_NOT_SUITABLE_GENERATOR
946 NODE_DEFINE_CONSTANT(target, DH_NOT_SUITABLE_GENERATOR);
949 #ifdef OPENSSL_NPN_NEGOTIATED
950 #define NPN_ENABLED 1
951 NODE_DEFINE_CONSTANT(target, NPN_ENABLED);
955 void DefineSystemConstants(Handle<Object> target) {
957 NODE_DEFINE_CONSTANT(target, O_RDONLY);
958 NODE_DEFINE_CONSTANT(target, O_WRONLY);
959 NODE_DEFINE_CONSTANT(target, O_RDWR);
961 NODE_DEFINE_CONSTANT(target, S_IFMT);
962 NODE_DEFINE_CONSTANT(target, S_IFREG);
963 NODE_DEFINE_CONSTANT(target, S_IFDIR);
964 NODE_DEFINE_CONSTANT(target, S_IFCHR);
966 NODE_DEFINE_CONSTANT(target, S_IFBLK);
970 NODE_DEFINE_CONSTANT(target, S_IFIFO);
974 NODE_DEFINE_CONSTANT(target, S_IFLNK);
978 NODE_DEFINE_CONSTANT(target, S_IFSOCK);
982 NODE_DEFINE_CONSTANT(target, O_CREAT);
986 NODE_DEFINE_CONSTANT(target, O_EXCL);
990 NODE_DEFINE_CONSTANT(target, O_NOCTTY);
994 NODE_DEFINE_CONSTANT(target, O_TRUNC);
998 NODE_DEFINE_CONSTANT(target, O_APPEND);
1002 NODE_DEFINE_CONSTANT(target, O_DIRECTORY);
1006 NODE_DEFINE_CONSTANT(target, O_EXCL);
1010 NODE_DEFINE_CONSTANT(target, O_NOFOLLOW);
1014 NODE_DEFINE_CONSTANT(target, O_SYNC);
1018 NODE_DEFINE_CONSTANT(target, O_SYMLINK);
1022 NODE_DEFINE_CONSTANT(target, O_DIRECT);
1026 NODE_DEFINE_CONSTANT(target, O_NONBLOCK);
1030 NODE_DEFINE_CONSTANT(target, S_IRWXU);
1034 NODE_DEFINE_CONSTANT(target, S_IRUSR);
1038 NODE_DEFINE_CONSTANT(target, S_IWUSR);
1042 NODE_DEFINE_CONSTANT(target, S_IXUSR);
1046 NODE_DEFINE_CONSTANT(target, S_IRWXG);
1050 NODE_DEFINE_CONSTANT(target, S_IRGRP);
1054 NODE_DEFINE_CONSTANT(target, S_IWGRP);
1058 NODE_DEFINE_CONSTANT(target, S_IXGRP);
1062 NODE_DEFINE_CONSTANT(target, S_IRWXO);
1066 NODE_DEFINE_CONSTANT(target, S_IROTH);
1070 NODE_DEFINE_CONSTANT(target, S_IWOTH);
1074 NODE_DEFINE_CONSTANT(target, S_IXOTH);
1078 void DefineUVConstants(Handle<Object> target) {
1079 NODE_DEFINE_CONSTANT(target, UV_UDP_REUSEADDR);
1082 void DefineConstants(Handle<Object> target) {
1083 DefineErrnoConstants(target);
1084 DefineWindowsErrorConstants(target);
1085 DefineSignalConstants(target);
1086 DefineOpenSSLConstants(target);
1087 DefineSystemConstants(target);
1088 DefineUVConstants(target);