// Automatically generated from TypeScript type definitions provided by
// DefinitelyTyped (https://github.com/DefinitelyTyped/DefinitelyTyped),
// which is licensed under the MIT license; see file DefinitelyTyped-LICENSE
// in parent directory.
// Type definitions for Node.js 10.5.x
// Project: http://nodejs.org/
// Definitions by: Microsoft TypeScript <http://typescriptlang.org>
//                 DefinitelyTyped <https://github.com/DefinitelyTyped/DefinitelyTyped>
//                 Parambir Singh <https://github.com/parambirs>
//                 Christian Vaagland Tellnes <https://github.com/tellnes>
//                 Wilco Bakker <https://github.com/WilcoBakker>
//                 Nicolas Voigt <https://github.com/octo-sniffle>
//                 Chigozirim C. <https://github.com/smac89>
//                 Flarna <https://github.com/Flarna>
//                 Mariusz Wiktorczyk <https://github.com/mwiktorczyk>
//                 wwwy3y3 <https://github.com/wwwy3y3>
//                 Deividas Bakanas <https://github.com/DeividasBakanas>
//                 Kelvin Jin <https://github.com/kjin>
//                 Alvis HT Tang <https://github.com/alvis>
//                 Sebastian Silbermann <https://github.com/eps1lon>
//                 Hannes Magnusson <https://github.com/Hannes-Magnusson-CK>
//                 Alberto Schiabel <https://github.com/jkomyno>
//                 Klaus Meinhardt <https://github.com/ajafff>
//                 Huw <https://github.com/hoo29>
//                 Nicolas Even <https://github.com/n-e>
//                 Bruno Scheufler <https://github.com/brunoscheufler>
//                 Mohsen Azimi <https://github.com/mohsen1>
//                 Hoàng Văn Khải <https://github.com/KSXGitHub>
//                 Alexander T. <https://github.com/a-tarasyuk>
//                 Lishude <https://github.com/islishude>
//                 Andrew Makarov <https://github.com/r3nya>
//                 Zane Hannan AU <https://github.com/ZaneHannanAU>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped

/**
 * @externs
 * @fileoverview Definitions for module "constants"
 */

var constants = {};

/**
 * @type {number}
 */
constants.E2BIG;

/**
 * @type {number}
 */
constants.EACCES;

/**
 * @type {number}
 */
constants.EADDRINUSE;

/**
 * @type {number}
 */
constants.EADDRNOTAVAIL;

/**
 * @type {number}
 */
constants.EAFNOSUPPORT;

/**
 * @type {number}
 */
constants.EAGAIN;

/**
 * @type {number}
 */
constants.EALREADY;

/**
 * @type {number}
 */
constants.EBADF;

/**
 * @type {number}
 */
constants.EBADMSG;

/**
 * @type {number}
 */
constants.EBUSY;

/**
 * @type {number}
 */
constants.ECANCELED;

/**
 * @type {number}
 */
constants.ECHILD;

/**
 * @type {number}
 */
constants.ECONNABORTED;

/**
 * @type {number}
 */
constants.ECONNREFUSED;

/**
 * @type {number}
 */
constants.ECONNRESET;

/**
 * @type {number}
 */
constants.EDEADLK;

/**
 * @type {number}
 */
constants.EDESTADDRREQ;

/**
 * @type {number}
 */
constants.EDOM;

/**
 * @type {number}
 */
constants.EEXIST;

/**
 * @type {number}
 */
constants.EFAULT;

/**
 * @type {number}
 */
constants.EFBIG;

/**
 * @type {number}
 */
constants.EHOSTUNREACH;

/**
 * @type {number}
 */
constants.EIDRM;

/**
 * @type {number}
 */
constants.EILSEQ;

/**
 * @type {number}
 */
constants.EINPROGRESS;

/**
 * @type {number}
 */
constants.EINTR;

/**
 * @type {number}
 */
constants.EINVAL;

/**
 * @type {number}
 */
constants.EIO;

/**
 * @type {number}
 */
constants.EISCONN;

/**
 * @type {number}
 */
constants.EISDIR;

/**
 * @type {number}
 */
constants.ELOOP;

/**
 * @type {number}
 */
constants.EMFILE;

/**
 * @type {number}
 */
constants.EMLINK;

/**
 * @type {number}
 */
constants.EMSGSIZE;

/**
 * @type {number}
 */
constants.ENAMETOOLONG;

/**
 * @type {number}
 */
constants.ENETDOWN;

/**
 * @type {number}
 */
constants.ENETRESET;

/**
 * @type {number}
 */
constants.ENETUNREACH;

/**
 * @type {number}
 */
constants.ENFILE;

/**
 * @type {number}
 */
constants.ENOBUFS;

/**
 * @type {number}
 */
constants.ENODATA;

/**
 * @type {number}
 */
constants.ENODEV;

/**
 * @type {number}
 */
constants.ENOENT;

/**
 * @type {number}
 */
constants.ENOEXEC;

/**
 * @type {number}
 */
constants.ENOLCK;

/**
 * @type {number}
 */
constants.ENOLINK;

/**
 * @type {number}
 */
constants.ENOMEM;

/**
 * @type {number}
 */
constants.ENOMSG;

/**
 * @type {number}
 */
constants.ENOPROTOOPT;

/**
 * @type {number}
 */
constants.ENOSPC;

/**
 * @type {number}
 */
constants.ENOSR;

/**
 * @type {number}
 */
constants.ENOSTR;

/**
 * @type {number}
 */
constants.ENOSYS;

/**
 * @type {number}
 */
constants.ENOTCONN;

/**
 * @type {number}
 */
constants.ENOTDIR;

/**
 * @type {number}
 */
constants.ENOTEMPTY;

/**
 * @type {number}
 */
constants.ENOTSOCK;

/**
 * @type {number}
 */
constants.ENOTSUP;

/**
 * @type {number}
 */
constants.ENOTTY;

/**
 * @type {number}
 */
constants.ENXIO;

/**
 * @type {number}
 */
constants.EOPNOTSUPP;

/**
 * @type {number}
 */
constants.EOVERFLOW;

/**
 * @type {number}
 */
constants.EPERM;

/**
 * @type {number}
 */
constants.EPIPE;

/**
 * @type {number}
 */
constants.EPROTO;

/**
 * @type {number}
 */
constants.EPROTONOSUPPORT;

/**
 * @type {number}
 */
constants.EPROTOTYPE;

/**
 * @type {number}
 */
constants.ERANGE;

/**
 * @type {number}
 */
constants.EROFS;

/**
 * @type {number}
 */
constants.ESPIPE;

/**
 * @type {number}
 */
constants.ESRCH;

/**
 * @type {number}
 */
constants.ETIME;

/**
 * @type {number}
 */
constants.ETIMEDOUT;

/**
 * @type {number}
 */
constants.ETXTBSY;

/**
 * @type {number}
 */
constants.EWOULDBLOCK;

/**
 * @type {number}
 */
constants.EXDEV;

/**
 * @type {number}
 */
constants.WSAEINTR;

/**
 * @type {number}
 */
constants.WSAEBADF;

/**
 * @type {number}
 */
constants.WSAEACCES;

/**
 * @type {number}
 */
constants.WSAEFAULT;

/**
 * @type {number}
 */
constants.WSAEINVAL;

/**
 * @type {number}
 */
constants.WSAEMFILE;

/**
 * @type {number}
 */
constants.WSAEWOULDBLOCK;

/**
 * @type {number}
 */
constants.WSAEINPROGRESS;

/**
 * @type {number}
 */
constants.WSAEALREADY;

/**
 * @type {number}
 */
constants.WSAENOTSOCK;

/**
 * @type {number}
 */
constants.WSAEDESTADDRREQ;

/**
 * @type {number}
 */
constants.WSAEMSGSIZE;

/**
 * @type {number}
 */
constants.WSAEPROTOTYPE;

/**
 * @type {number}
 */
constants.WSAENOPROTOOPT;

/**
 * @type {number}
 */
constants.WSAEPROTONOSUPPORT;

/**
 * @type {number}
 */
constants.WSAESOCKTNOSUPPORT;

/**
 * @type {number}
 */
constants.WSAEOPNOTSUPP;

/**
 * @type {number}
 */
constants.WSAEPFNOSUPPORT;

/**
 * @type {number}
 */
constants.WSAEAFNOSUPPORT;

/**
 * @type {number}
 */
constants.WSAEADDRINUSE;

/**
 * @type {number}
 */
constants.WSAEADDRNOTAVAIL;

/**
 * @type {number}
 */
constants.WSAENETDOWN;

/**
 * @type {number}
 */
constants.WSAENETUNREACH;

/**
 * @type {number}
 */
constants.WSAENETRESET;

/**
 * @type {number}
 */
constants.WSAECONNABORTED;

/**
 * @type {number}
 */
constants.WSAECONNRESET;

/**
 * @type {number}
 */
constants.WSAENOBUFS;

/**
 * @type {number}
 */
constants.WSAEISCONN;

/**
 * @type {number}
 */
constants.WSAENOTCONN;

/**
 * @type {number}
 */
constants.WSAESHUTDOWN;

/**
 * @type {number}
 */
constants.WSAETOOMANYREFS;

/**
 * @type {number}
 */
constants.WSAETIMEDOUT;

/**
 * @type {number}
 */
constants.WSAECONNREFUSED;

/**
 * @type {number}
 */
constants.WSAELOOP;

/**
 * @type {number}
 */
constants.WSAENAMETOOLONG;

/**
 * @type {number}
 */
constants.WSAEHOSTDOWN;

/**
 * @type {number}
 */
constants.WSAEHOSTUNREACH;

/**
 * @type {number}
 */
constants.WSAENOTEMPTY;

/**
 * @type {number}
 */
constants.WSAEPROCLIM;

/**
 * @type {number}
 */
constants.WSAEUSERS;

/**
 * @type {number}
 */
constants.WSAEDQUOT;

/**
 * @type {number}
 */
constants.WSAESTALE;

/**
 * @type {number}
 */
constants.WSAEREMOTE;

/**
 * @type {number}
 */
constants.WSASYSNOTREADY;

/**
 * @type {number}
 */
constants.WSAVERNOTSUPPORTED;

/**
 * @type {number}
 */
constants.WSANOTINITIALISED;

/**
 * @type {number}
 */
constants.WSAEDISCON;

/**
 * @type {number}
 */
constants.WSAENOMORE;

/**
 * @type {number}
 */
constants.WSAECANCELLED;

/**
 * @type {number}
 */
constants.WSAEINVALIDPROCTABLE;

/**
 * @type {number}
 */
constants.WSAEINVALIDPROVIDER;

/**
 * @type {number}
 */
constants.WSAEPROVIDERFAILEDINIT;

/**
 * @type {number}
 */
constants.WSASYSCALLFAILURE;

/**
 * @type {number}
 */
constants.WSASERVICE_NOT_FOUND;

/**
 * @type {number}
 */
constants.WSATYPE_NOT_FOUND;

/**
 * @type {number}
 */
constants.WSA_E_NO_MORE;

/**
 * @type {number}
 */
constants.WSA_E_CANCELLED;

/**
 * @type {number}
 */
constants.WSAEREFUSED;

/**
 * @type {number}
 */
constants.SIGHUP;

/**
 * @type {number}
 */
constants.SIGINT;

/**
 * @type {number}
 */
constants.SIGILL;

/**
 * @type {number}
 */
constants.SIGABRT;

/**
 * @type {number}
 */
constants.SIGFPE;

/**
 * @type {number}
 */
constants.SIGKILL;

/**
 * @type {number}
 */
constants.SIGSEGV;

/**
 * @type {number}
 */
constants.SIGTERM;

/**
 * @type {number}
 */
constants.SIGBREAK;

/**
 * @type {number}
 */
constants.SIGWINCH;

/**
 * @type {number}
 */
constants.SSL_OP_ALL;

/**
 * @type {number}
 */
constants.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION;

/**
 * @type {number}
 */
constants.SSL_OP_CIPHER_SERVER_PREFERENCE;

/**
 * @type {number}
 */
constants.SSL_OP_CISCO_ANYCONNECT;

/**
 * @type {number}
 */
constants.SSL_OP_COOKIE_EXCHANGE;

/**
 * @type {number}
 */
constants.SSL_OP_CRYPTOPRO_TLSEXT_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS;

/**
 * @type {number}
 */
constants.SSL_OP_EPHEMERAL_RSA;

/**
 * @type {number}
 */
constants.SSL_OP_LEGACY_SERVER_CONNECT;

/**
 * @type {number}
 */
constants.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER;

/**
 * @type {number}
 */
constants.SSL_OP_MICROSOFT_SESS_ID_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_MSIE_SSLV2_RSA_PADDING;

/**
 * @type {number}
 */
constants.SSL_OP_NETSCAPE_CA_DN_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_NETSCAPE_CHALLENGE_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_NO_COMPRESSION;

/**
 * @type {number}
 */
constants.SSL_OP_NO_QUERY_MTU;

/**
 * @type {number}
 */
constants.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION;

/**
 * @type {number}
 */
constants.SSL_OP_NO_SSLv2;

/**
 * @type {number}
 */
constants.SSL_OP_NO_SSLv3;

/**
 * @type {number}
 */
constants.SSL_OP_NO_TICKET;

/**
 * @type {number}
 */
constants.SSL_OP_NO_TLSv1;

/**
 * @type {number}
 */
constants.SSL_OP_NO_TLSv1_1;

/**
 * @type {number}
 */
constants.SSL_OP_NO_TLSv1_2;

/**
 * @type {number}
 */
constants.SSL_OP_PKCS1_CHECK_1;

/**
 * @type {number}
 */
constants.SSL_OP_PKCS1_CHECK_2;

/**
 * @type {number}
 */
constants.SSL_OP_SINGLE_DH_USE;

/**
 * @type {number}
 */
constants.SSL_OP_SINGLE_ECDH_USE;

/**
 * @type {number}
 */
constants.SSL_OP_SSLEAY_080_CLIENT_DH_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_TLS_BLOCK_PADDING_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_TLS_D5_BUG;

/**
 * @type {number}
 */
constants.SSL_OP_TLS_ROLLBACK_BUG;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_DSA;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_DH;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_RAND;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_ECDH;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_ECDSA;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_CIPHERS;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_DIGESTS;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_STORE;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_PKEY_METHS;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_PKEY_ASN1_METHS;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_ALL;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_NONE;

/**
 * @type {number}
 */
constants.DH_CHECK_P_NOT_SAFE_PRIME;

/**
 * @type {number}
 */
constants.DH_CHECK_P_NOT_PRIME;

/**
 * @type {number}
 */
constants.DH_UNABLE_TO_CHECK_GENERATOR;

/**
 * @type {number}
 */
constants.DH_NOT_SUITABLE_GENERATOR;

/**
 * @type {number}
 */
constants.NPN_ENABLED;

/**
 * @type {number}
 */
constants.RSA_PKCS1_PADDING;

/**
 * @type {number}
 */
constants.RSA_SSLV23_PADDING;

/**
 * @type {number}
 */
constants.RSA_NO_PADDING;

/**
 * @type {number}
 */
constants.RSA_PKCS1_OAEP_PADDING;

/**
 * @type {number}
 */
constants.RSA_X931_PADDING;

/**
 * @type {number}
 */
constants.RSA_PKCS1_PSS_PADDING;

/**
 * @type {number}
 */
constants.POINT_CONVERSION_COMPRESSED;

/**
 * @type {number}
 */
constants.POINT_CONVERSION_UNCOMPRESSED;

/**
 * @type {number}
 */
constants.POINT_CONVERSION_HYBRID;

/**
 * @type {number}
 */
constants.O_RDONLY;

/**
 * @type {number}
 */
constants.O_WRONLY;

/**
 * @type {number}
 */
constants.O_RDWR;

/**
 * @type {number}
 */
constants.S_IFMT;

/**
 * @type {number}
 */
constants.S_IFREG;

/**
 * @type {number}
 */
constants.S_IFDIR;

/**
 * @type {number}
 */
constants.S_IFCHR;

/**
 * @type {number}
 */
constants.S_IFBLK;

/**
 * @type {number}
 */
constants.S_IFIFO;

/**
 * @type {number}
 */
constants.S_IFSOCK;

/**
 * @type {number}
 */
constants.S_IRWXU;

/**
 * @type {number}
 */
constants.S_IRUSR;

/**
 * @type {number}
 */
constants.S_IWUSR;

/**
 * @type {number}
 */
constants.S_IXUSR;

/**
 * @type {number}
 */
constants.S_IRWXG;

/**
 * @type {number}
 */
constants.S_IRGRP;

/**
 * @type {number}
 */
constants.S_IWGRP;

/**
 * @type {number}
 */
constants.S_IXGRP;

/**
 * @type {number}
 */
constants.S_IRWXO;

/**
 * @type {number}
 */
constants.S_IROTH;

/**
 * @type {number}
 */
constants.S_IWOTH;

/**
 * @type {number}
 */
constants.S_IXOTH;

/**
 * @type {number}
 */
constants.S_IFLNK;

/**
 * @type {number}
 */
constants.O_CREAT;

/**
 * @type {number}
 */
constants.O_EXCL;

/**
 * @type {number}
 */
constants.O_NOCTTY;

/**
 * @type {number}
 */
constants.O_DIRECTORY;

/**
 * @type {number}
 */
constants.O_NOATIME;

/**
 * @type {number}
 */
constants.O_NOFOLLOW;

/**
 * @type {number}
 */
constants.O_SYNC;

/**
 * @type {number}
 */
constants.O_SYMLINK;

/**
 * @type {number}
 */
constants.O_DIRECT;

/**
 * @type {number}
 */
constants.O_NONBLOCK;

/**
 * @type {number}
 */
constants.O_TRUNC;

/**
 * @type {number}
 */
constants.O_APPEND;

/**
 * @type {number}
 */
constants.F_OK;

/**
 * @type {number}
 */
constants.R_OK;

/**
 * @type {number}
 */
constants.W_OK;

/**
 * @type {number}
 */
constants.X_OK;

/**
 * @type {number}
 */
constants.UV_UDP_REUSEADDR;

/**
 * @type {number}
 */
constants.SIGQUIT;

/**
 * @type {number}
 */
constants.SIGTRAP;

/**
 * @type {number}
 */
constants.SIGIOT;

/**
 * @type {number}
 */
constants.SIGBUS;

/**
 * @type {number}
 */
constants.SIGUSR1;

/**
 * @type {number}
 */
constants.SIGUSR2;

/**
 * @type {number}
 */
constants.SIGPIPE;

/**
 * @type {number}
 */
constants.SIGALRM;

/**
 * @type {number}
 */
constants.SIGCHLD;

/**
 * @type {number}
 */
constants.SIGSTKFLT;

/**
 * @type {number}
 */
constants.SIGCONT;

/**
 * @type {number}
 */
constants.SIGSTOP;

/**
 * @type {number}
 */
constants.SIGTSTP;

/**
 * @type {number}
 */
constants.SIGTTIN;

/**
 * @type {number}
 */
constants.SIGTTOU;

/**
 * @type {number}
 */
constants.SIGURG;

/**
 * @type {number}
 */
constants.SIGXCPU;

/**
 * @type {number}
 */
constants.SIGXFSZ;

/**
 * @type {number}
 */
constants.SIGVTALRM;

/**
 * @type {number}
 */
constants.SIGPROF;

/**
 * @type {number}
 */
constants.SIGIO;

/**
 * @type {number}
 */
constants.SIGPOLL;

/**
 * @type {number}
 */
constants.SIGPWR;

/**
 * @type {number}
 */
constants.SIGSYS;

/**
 * @type {number}
 */
constants.SIGUNUSED;

/**
 * @type {string}
 */
constants.defaultCoreCipherList;

/**
 * @type {string}
 */
constants.defaultCipherList;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_RSA;

/**
 * @type {number}
 */
constants.ALPN_ENABLED;

module.exports.E2BIG = constants.E2BIG;

module.exports.EACCES = constants.EACCES;

module.exports.EADDRINUSE = constants.EADDRINUSE;

module.exports.EADDRNOTAVAIL = constants.EADDRNOTAVAIL;

module.exports.EAFNOSUPPORT = constants.EAFNOSUPPORT;

module.exports.EAGAIN = constants.EAGAIN;

module.exports.EALREADY = constants.EALREADY;

module.exports.EBADF = constants.EBADF;

module.exports.EBADMSG = constants.EBADMSG;

module.exports.EBUSY = constants.EBUSY;

module.exports.ECANCELED = constants.ECANCELED;

module.exports.ECHILD = constants.ECHILD;

module.exports.ECONNABORTED = constants.ECONNABORTED;

module.exports.ECONNREFUSED = constants.ECONNREFUSED;

module.exports.ECONNRESET = constants.ECONNRESET;

module.exports.EDEADLK = constants.EDEADLK;

module.exports.EDESTADDRREQ = constants.EDESTADDRREQ;

module.exports.EDOM = constants.EDOM;

module.exports.EEXIST = constants.EEXIST;

module.exports.EFAULT = constants.EFAULT;

module.exports.EFBIG = constants.EFBIG;

module.exports.EHOSTUNREACH = constants.EHOSTUNREACH;

module.exports.EIDRM = constants.EIDRM;

module.exports.EILSEQ = constants.EILSEQ;

module.exports.EINPROGRESS = constants.EINPROGRESS;

module.exports.EINTR = constants.EINTR;

module.exports.EINVAL = constants.EINVAL;

module.exports.EIO = constants.EIO;

module.exports.EISCONN = constants.EISCONN;

module.exports.EISDIR = constants.EISDIR;

module.exports.ELOOP = constants.ELOOP;

module.exports.EMFILE = constants.EMFILE;

module.exports.EMLINK = constants.EMLINK;

module.exports.EMSGSIZE = constants.EMSGSIZE;

module.exports.ENAMETOOLONG = constants.ENAMETOOLONG;

module.exports.ENETDOWN = constants.ENETDOWN;

module.exports.ENETRESET = constants.ENETRESET;

module.exports.ENETUNREACH = constants.ENETUNREACH;

module.exports.ENFILE = constants.ENFILE;

module.exports.ENOBUFS = constants.ENOBUFS;

module.exports.ENODATA = constants.ENODATA;

module.exports.ENODEV = constants.ENODEV;

module.exports.ENOENT = constants.ENOENT;

module.exports.ENOEXEC = constants.ENOEXEC;

module.exports.ENOLCK = constants.ENOLCK;

module.exports.ENOLINK = constants.ENOLINK;

module.exports.ENOMEM = constants.ENOMEM;

module.exports.ENOMSG = constants.ENOMSG;

module.exports.ENOPROTOOPT = constants.ENOPROTOOPT;

module.exports.ENOSPC = constants.ENOSPC;

module.exports.ENOSR = constants.ENOSR;

module.exports.ENOSTR = constants.ENOSTR;

module.exports.ENOSYS = constants.ENOSYS;

module.exports.ENOTCONN = constants.ENOTCONN;

module.exports.ENOTDIR = constants.ENOTDIR;

module.exports.ENOTEMPTY = constants.ENOTEMPTY;

module.exports.ENOTSOCK = constants.ENOTSOCK;

module.exports.ENOTSUP = constants.ENOTSUP;

module.exports.ENOTTY = constants.ENOTTY;

module.exports.ENXIO = constants.ENXIO;

module.exports.EOPNOTSUPP = constants.EOPNOTSUPP;

module.exports.EOVERFLOW = constants.EOVERFLOW;

module.exports.EPERM = constants.EPERM;

module.exports.EPIPE = constants.EPIPE;

module.exports.EPROTO = constants.EPROTO;

module.exports.EPROTONOSUPPORT = constants.EPROTONOSUPPORT;

module.exports.EPROTOTYPE = constants.EPROTOTYPE;

module.exports.ERANGE = constants.ERANGE;

module.exports.EROFS = constants.EROFS;

module.exports.ESPIPE = constants.ESPIPE;

module.exports.ESRCH = constants.ESRCH;

module.exports.ETIME = constants.ETIME;

module.exports.ETIMEDOUT = constants.ETIMEDOUT;

module.exports.ETXTBSY = constants.ETXTBSY;

module.exports.EWOULDBLOCK = constants.EWOULDBLOCK;

module.exports.EXDEV = constants.EXDEV;

module.exports.WSAEINTR = constants.WSAEINTR;

module.exports.WSAEBADF = constants.WSAEBADF;

module.exports.WSAEACCES = constants.WSAEACCES;

module.exports.WSAEFAULT = constants.WSAEFAULT;

module.exports.WSAEINVAL = constants.WSAEINVAL;

module.exports.WSAEMFILE = constants.WSAEMFILE;

module.exports.WSAEWOULDBLOCK = constants.WSAEWOULDBLOCK;

module.exports.WSAEINPROGRESS = constants.WSAEINPROGRESS;

module.exports.WSAEALREADY = constants.WSAEALREADY;

module.exports.WSAENOTSOCK = constants.WSAENOTSOCK;

module.exports.WSAEDESTADDRREQ = constants.WSAEDESTADDRREQ;

module.exports.WSAEMSGSIZE = constants.WSAEMSGSIZE;

module.exports.WSAEPROTOTYPE = constants.WSAEPROTOTYPE;

module.exports.WSAENOPROTOOPT = constants.WSAENOPROTOOPT;

module.exports.WSAEPROTONOSUPPORT = constants.WSAEPROTONOSUPPORT;

module.exports.WSAESOCKTNOSUPPORT = constants.WSAESOCKTNOSUPPORT;

module.exports.WSAEOPNOTSUPP = constants.WSAEOPNOTSUPP;

module.exports.WSAEPFNOSUPPORT = constants.WSAEPFNOSUPPORT;

module.exports.WSAEAFNOSUPPORT = constants.WSAEAFNOSUPPORT;

module.exports.WSAEADDRINUSE = constants.WSAEADDRINUSE;

module.exports.WSAEADDRNOTAVAIL = constants.WSAEADDRNOTAVAIL;

module.exports.WSAENETDOWN = constants.WSAENETDOWN;

module.exports.WSAENETUNREACH = constants.WSAENETUNREACH;

module.exports.WSAENETRESET = constants.WSAENETRESET;

module.exports.WSAECONNABORTED = constants.WSAECONNABORTED;

module.exports.WSAECONNRESET = constants.WSAECONNRESET;

module.exports.WSAENOBUFS = constants.WSAENOBUFS;

module.exports.WSAEISCONN = constants.WSAEISCONN;

module.exports.WSAENOTCONN = constants.WSAENOTCONN;

module.exports.WSAESHUTDOWN = constants.WSAESHUTDOWN;

module.exports.WSAETOOMANYREFS = constants.WSAETOOMANYREFS;

module.exports.WSAETIMEDOUT = constants.WSAETIMEDOUT;

module.exports.WSAECONNREFUSED = constants.WSAECONNREFUSED;

module.exports.WSAELOOP = constants.WSAELOOP;

module.exports.WSAENAMETOOLONG = constants.WSAENAMETOOLONG;

module.exports.WSAEHOSTDOWN = constants.WSAEHOSTDOWN;

module.exports.WSAEHOSTUNREACH = constants.WSAEHOSTUNREACH;

module.exports.WSAENOTEMPTY = constants.WSAENOTEMPTY;

module.exports.WSAEPROCLIM = constants.WSAEPROCLIM;

module.exports.WSAEUSERS = constants.WSAEUSERS;

module.exports.WSAEDQUOT = constants.WSAEDQUOT;

module.exports.WSAESTALE = constants.WSAESTALE;

module.exports.WSAEREMOTE = constants.WSAEREMOTE;

module.exports.WSASYSNOTREADY = constants.WSASYSNOTREADY;

module.exports.WSAVERNOTSUPPORTED = constants.WSAVERNOTSUPPORTED;

module.exports.WSANOTINITIALISED = constants.WSANOTINITIALISED;

module.exports.WSAEDISCON = constants.WSAEDISCON;

module.exports.WSAENOMORE = constants.WSAENOMORE;

module.exports.WSAECANCELLED = constants.WSAECANCELLED;

module.exports.WSAEINVALIDPROCTABLE = constants.WSAEINVALIDPROCTABLE;

module.exports.WSAEINVALIDPROVIDER = constants.WSAEINVALIDPROVIDER;

module.exports.WSAEPROVIDERFAILEDINIT = constants.WSAEPROVIDERFAILEDINIT;

module.exports.WSASYSCALLFAILURE = constants.WSASYSCALLFAILURE;

module.exports.WSASERVICE_NOT_FOUND = constants.WSASERVICE_NOT_FOUND;

module.exports.WSATYPE_NOT_FOUND = constants.WSATYPE_NOT_FOUND;

module.exports.WSA_E_NO_MORE = constants.WSA_E_NO_MORE;

module.exports.WSA_E_CANCELLED = constants.WSA_E_CANCELLED;

module.exports.WSAEREFUSED = constants.WSAEREFUSED;

module.exports.SIGHUP = constants.SIGHUP;

module.exports.SIGINT = constants.SIGINT;

module.exports.SIGILL = constants.SIGILL;

module.exports.SIGABRT = constants.SIGABRT;

module.exports.SIGFPE = constants.SIGFPE;

module.exports.SIGKILL = constants.SIGKILL;

module.exports.SIGSEGV = constants.SIGSEGV;

module.exports.SIGTERM = constants.SIGTERM;

module.exports.SIGBREAK = constants.SIGBREAK;

module.exports.SIGWINCH = constants.SIGWINCH;

module.exports.SSL_OP_ALL = constants.SSL_OP_ALL;

module.exports.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = constants.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION;

module.exports.SSL_OP_CIPHER_SERVER_PREFERENCE = constants.SSL_OP_CIPHER_SERVER_PREFERENCE;

module.exports.SSL_OP_CISCO_ANYCONNECT = constants.SSL_OP_CISCO_ANYCONNECT;

module.exports.SSL_OP_COOKIE_EXCHANGE = constants.SSL_OP_COOKIE_EXCHANGE;

module.exports.SSL_OP_CRYPTOPRO_TLSEXT_BUG = constants.SSL_OP_CRYPTOPRO_TLSEXT_BUG;

module.exports.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS = constants.SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS;

module.exports.SSL_OP_EPHEMERAL_RSA = constants.SSL_OP_EPHEMERAL_RSA;

module.exports.SSL_OP_LEGACY_SERVER_CONNECT = constants.SSL_OP_LEGACY_SERVER_CONNECT;

module.exports.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER = constants.SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER;

module.exports.SSL_OP_MICROSOFT_SESS_ID_BUG = constants.SSL_OP_MICROSOFT_SESS_ID_BUG;

module.exports.SSL_OP_MSIE_SSLV2_RSA_PADDING = constants.SSL_OP_MSIE_SSLV2_RSA_PADDING;

module.exports.SSL_OP_NETSCAPE_CA_DN_BUG = constants.SSL_OP_NETSCAPE_CA_DN_BUG;

module.exports.SSL_OP_NETSCAPE_CHALLENGE_BUG = constants.SSL_OP_NETSCAPE_CHALLENGE_BUG;

module.exports.SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG = constants.SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG;

module.exports.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG = constants.SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG;

module.exports.SSL_OP_NO_COMPRESSION = constants.SSL_OP_NO_COMPRESSION;

module.exports.SSL_OP_NO_QUERY_MTU = constants.SSL_OP_NO_QUERY_MTU;

module.exports.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION = constants.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION;

module.exports.SSL_OP_NO_SSLv2 = constants.SSL_OP_NO_SSLv2;

module.exports.SSL_OP_NO_SSLv3 = constants.SSL_OP_NO_SSLv3;

module.exports.SSL_OP_NO_TICKET = constants.SSL_OP_NO_TICKET;

module.exports.SSL_OP_NO_TLSv1 = constants.SSL_OP_NO_TLSv1;

module.exports.SSL_OP_NO_TLSv1_1 = constants.SSL_OP_NO_TLSv1_1;

module.exports.SSL_OP_NO_TLSv1_2 = constants.SSL_OP_NO_TLSv1_2;

module.exports.SSL_OP_PKCS1_CHECK_1 = constants.SSL_OP_PKCS1_CHECK_1;

module.exports.SSL_OP_PKCS1_CHECK_2 = constants.SSL_OP_PKCS1_CHECK_2;

module.exports.SSL_OP_SINGLE_DH_USE = constants.SSL_OP_SINGLE_DH_USE;

module.exports.SSL_OP_SINGLE_ECDH_USE = constants.SSL_OP_SINGLE_ECDH_USE;

module.exports.SSL_OP_SSLEAY_080_CLIENT_DH_BUG = constants.SSL_OP_SSLEAY_080_CLIENT_DH_BUG;

module.exports.SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG = constants.SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG;

module.exports.SSL_OP_TLS_BLOCK_PADDING_BUG = constants.SSL_OP_TLS_BLOCK_PADDING_BUG;

module.exports.SSL_OP_TLS_D5_BUG = constants.SSL_OP_TLS_D5_BUG;

module.exports.SSL_OP_TLS_ROLLBACK_BUG = constants.SSL_OP_TLS_ROLLBACK_BUG;

module.exports.ENGINE_METHOD_DSA = constants.ENGINE_METHOD_DSA;

module.exports.ENGINE_METHOD_DH = constants.ENGINE_METHOD_DH;

module.exports.ENGINE_METHOD_RAND = constants.ENGINE_METHOD_RAND;

module.exports.ENGINE_METHOD_ECDH = constants.ENGINE_METHOD_ECDH;

module.exports.ENGINE_METHOD_ECDSA = constants.ENGINE_METHOD_ECDSA;

module.exports.ENGINE_METHOD_CIPHERS = constants.ENGINE_METHOD_CIPHERS;

module.exports.ENGINE_METHOD_DIGESTS = constants.ENGINE_METHOD_DIGESTS;

module.exports.ENGINE_METHOD_STORE = constants.ENGINE_METHOD_STORE;

module.exports.ENGINE_METHOD_PKEY_METHS = constants.ENGINE_METHOD_PKEY_METHS;

module.exports.ENGINE_METHOD_PKEY_ASN1_METHS = constants.ENGINE_METHOD_PKEY_ASN1_METHS;

module.exports.ENGINE_METHOD_ALL = constants.ENGINE_METHOD_ALL;

module.exports.ENGINE_METHOD_NONE = constants.ENGINE_METHOD_NONE;

module.exports.DH_CHECK_P_NOT_SAFE_PRIME = constants.DH_CHECK_P_NOT_SAFE_PRIME;

module.exports.DH_CHECK_P_NOT_PRIME = constants.DH_CHECK_P_NOT_PRIME;

module.exports.DH_UNABLE_TO_CHECK_GENERATOR = constants.DH_UNABLE_TO_CHECK_GENERATOR;

module.exports.DH_NOT_SUITABLE_GENERATOR = constants.DH_NOT_SUITABLE_GENERATOR;

module.exports.NPN_ENABLED = constants.NPN_ENABLED;

module.exports.RSA_PKCS1_PADDING = constants.RSA_PKCS1_PADDING;

module.exports.RSA_SSLV23_PADDING = constants.RSA_SSLV23_PADDING;

module.exports.RSA_NO_PADDING = constants.RSA_NO_PADDING;

module.exports.RSA_PKCS1_OAEP_PADDING = constants.RSA_PKCS1_OAEP_PADDING;

module.exports.RSA_X931_PADDING = constants.RSA_X931_PADDING;

module.exports.RSA_PKCS1_PSS_PADDING = constants.RSA_PKCS1_PSS_PADDING;

module.exports.POINT_CONVERSION_COMPRESSED = constants.POINT_CONVERSION_COMPRESSED;

module.exports.POINT_CONVERSION_UNCOMPRESSED = constants.POINT_CONVERSION_UNCOMPRESSED;

module.exports.POINT_CONVERSION_HYBRID = constants.POINT_CONVERSION_HYBRID;

module.exports.O_RDONLY = constants.O_RDONLY;

module.exports.O_WRONLY = constants.O_WRONLY;

module.exports.O_RDWR = constants.O_RDWR;

module.exports.S_IFMT = constants.S_IFMT;

module.exports.S_IFREG = constants.S_IFREG;

module.exports.S_IFDIR = constants.S_IFDIR;

module.exports.S_IFCHR = constants.S_IFCHR;

module.exports.S_IFBLK = constants.S_IFBLK;

module.exports.S_IFIFO = constants.S_IFIFO;

module.exports.S_IFSOCK = constants.S_IFSOCK;

module.exports.S_IRWXU = constants.S_IRWXU;

module.exports.S_IRUSR = constants.S_IRUSR;

module.exports.S_IWUSR = constants.S_IWUSR;

module.exports.S_IXUSR = constants.S_IXUSR;

module.exports.S_IRWXG = constants.S_IRWXG;

module.exports.S_IRGRP = constants.S_IRGRP;

module.exports.S_IWGRP = constants.S_IWGRP;

module.exports.S_IXGRP = constants.S_IXGRP;

module.exports.S_IRWXO = constants.S_IRWXO;

module.exports.S_IROTH = constants.S_IROTH;

module.exports.S_IWOTH = constants.S_IWOTH;

module.exports.S_IXOTH = constants.S_IXOTH;

module.exports.S_IFLNK = constants.S_IFLNK;

module.exports.O_CREAT = constants.O_CREAT;

module.exports.O_EXCL = constants.O_EXCL;

module.exports.O_NOCTTY = constants.O_NOCTTY;

module.exports.O_DIRECTORY = constants.O_DIRECTORY;

module.exports.O_NOATIME = constants.O_NOATIME;

module.exports.O_NOFOLLOW = constants.O_NOFOLLOW;

module.exports.O_SYNC = constants.O_SYNC;

module.exports.O_SYMLINK = constants.O_SYMLINK;

module.exports.O_DIRECT = constants.O_DIRECT;

module.exports.O_NONBLOCK = constants.O_NONBLOCK;

module.exports.O_TRUNC = constants.O_TRUNC;

module.exports.O_APPEND = constants.O_APPEND;

module.exports.F_OK = constants.F_OK;

module.exports.R_OK = constants.R_OK;

module.exports.W_OK = constants.W_OK;

module.exports.X_OK = constants.X_OK;

module.exports.UV_UDP_REUSEADDR = constants.UV_UDP_REUSEADDR;

module.exports.SIGQUIT = constants.SIGQUIT;

module.exports.SIGTRAP = constants.SIGTRAP;

module.exports.SIGIOT = constants.SIGIOT;

module.exports.SIGBUS = constants.SIGBUS;

module.exports.SIGUSR1 = constants.SIGUSR1;

module.exports.SIGUSR2 = constants.SIGUSR2;

module.exports.SIGPIPE = constants.SIGPIPE;

module.exports.SIGALRM = constants.SIGALRM;

module.exports.SIGCHLD = constants.SIGCHLD;

module.exports.SIGSTKFLT = constants.SIGSTKFLT;

module.exports.SIGCONT = constants.SIGCONT;

module.exports.SIGSTOP = constants.SIGSTOP;

module.exports.SIGTSTP = constants.SIGTSTP;

module.exports.SIGTTIN = constants.SIGTTIN;

module.exports.SIGTTOU = constants.SIGTTOU;

module.exports.SIGURG = constants.SIGURG;

module.exports.SIGXCPU = constants.SIGXCPU;

module.exports.SIGXFSZ = constants.SIGXFSZ;

module.exports.SIGVTALRM = constants.SIGVTALRM;

module.exports.SIGPROF = constants.SIGPROF;

module.exports.SIGIO = constants.SIGIO;

module.exports.SIGPOLL = constants.SIGPOLL;

module.exports.SIGPWR = constants.SIGPWR;

module.exports.SIGSYS = constants.SIGSYS;

module.exports.SIGUNUSED = constants.SIGUNUSED;

module.exports.defaultCoreCipherList = constants.defaultCoreCipherList;

module.exports.defaultCipherList = constants.defaultCipherList;

module.exports.ENGINE_METHOD_RSA = constants.ENGINE_METHOD_RSA;

module.exports.ALPN_ENABLED = constants.ALPN_ENABLED;

/**
 * @type {number}
 */
constants.O_SYMLINK;

/**
 * @type {number}
 */
constants.AT_SYMLINK_NOFOLLOW;

/**
 * @type {number}
 */
constants.EDQUOT;

/**
 * @type {number}
 */
constants.EMULTIHOP;

/**
 * @type {number}
 */
constants.ESTALE;

/**
 * @type {number}
 */
constants.ENGINE_METHOD_RSA;

/**
 * @type {number}
 */
constants.ALPN_ENABLED;

/**
 * @type {number}
 */
constants.S_IFBLK;

/**
 * @type {number}
 */
constants.S_IFIFO;

/**
 * @type {number}
 */
constants.S_IFSOCK;

/**
 * @type {number}
 */
constants.O_NOCTTY;

/**
 * @type {number}
 */
constants.O_DIRECTORY;

/**
 * @type {number}
 */
constants.O_NOFOLLOW;

/**
 * @type {number}
 */
constants.O_SYNC;

/**
 * @type {number}
 */
constants.O_DIRECT;

/**
 * @type {number}
 */
constants.O_NONBLOCK;

/**
 * @type {number}
 */
constants.S_IRWXU;

/**
 * @type {number}
 */
constants.S_IRUSR;

/**
 * @type {number}
 */
constants.S_IWUSR;

/**
 * @type {number}
 */
constants.S_IXUSR;

/**
 * @type {number}
 */
constants.S_IRWXG;

/**
 * @type {number}
 */
constants.S_IRGRP;

/**
 * @type {number}
 */
constants.S_WRGRP;

/**
 * @type {number}
 */
constants.S_IXGRP;

/**
 * @type {number}
 */
constants.S_IRWXO;

/**
 * @type {number}
 */
constants.S_IROTH;

/**
 * @type {number}
 */
constants.S_IWOTH;

/**
 * @type {number}
 */
constants.S_IXOTH;

module.exports.O_SYMLINK = constants.O_SYMLINK;

module.exports.AT_SYMLINK_NOFOLLOW = constants.AT_SYMLINK_NOFOLLOW;

module.exports.EDQUOT = constants.EDQUOT;

module.exports.EMULTIHOP = constants.EMULTIHOP;

module.exports.ESTALE = constants.ESTALE;

module.exports.ENGINE_METHOD_RSA = constants.ENGINE_METHOD_RSA;

module.exports.ALPN_ENABLED = constants.ALPN_ENABLED;

module.exports.S_IFBLK = constants.S_IFBLK;

module.exports.S_IFIFO = constants.S_IFIFO;

module.exports.S_IFSOCK = constants.S_IFSOCK;

module.exports.O_NOCTTY = constants.O_NOCTTY;

module.exports.O_DIRECTORY = constants.O_DIRECTORY;

module.exports.O_NOFOLLOW = constants.O_NOFOLLOW;

module.exports.O_SYNC = constants.O_SYNC;

module.exports.O_DIRECT = constants.O_DIRECT;

module.exports.O_NONBLOCK = constants.O_NONBLOCK;

module.exports.S_IRWXU = constants.S_IRWXU;

module.exports.S_IRUSR = constants.S_IRUSR;

module.exports.S_IWUSR = constants.S_IWUSR;

module.exports.S_IXUSR = constants.S_IXUSR;

module.exports.S_IRWXG = constants.S_IRWXG;

module.exports.S_IRGRP = constants.S_IRGRP;

module.exports.S_WRGRP = constants.S_WRGRP;

module.exports.S_IXGRP = constants.S_IXGRP;

module.exports.S_IRWXO = constants.S_IRWXO;

module.exports.S_IROTH = constants.S_IROTH;

module.exports.S_IWOTH = constants.S_IWOTH;

module.exports.S_IXOTH = constants.S_IXOTH;

