1 /*  =========================================================================
2     CZMQ Node.js binding header file
3 
4     Copyright (c) the Contributors as noted in the AUTHORS file.
5     This file is part of CZMQ, the high-level C binding for 0MQ:
6     http://czmq.zeromq.org.
7 
8     This Source Code Form is subject to the terms of the Mozilla Public
9     License, v. 2.0. If a copy of the MPL was not distributed with this
10     file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 
12 ################################################################################
13 #  THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY  #
14 #  Read the zproject/README.md for information about making permanent changes. #
15 ################################################################################
16     =========================================================================
17 */
18 
19 #ifndef CZMQ_BINDING_H_INCLUDED
20 #define CZMQ_BINDING_H_INCLUDED
21 
22 #define CZMQ_BUILD_DRAFT_API
23 
24 #include "czmq.h"
25 #include "nan.h"
26 
27 using namespace v8;
28 using namespace Nan;
29 
30 class Zargs: public Nan::ObjectWrap {
31     public:
32         static NAN_MODULE_INIT (Init);
33         explicit Zargs (int argc, char **argv);
34         explicit Zargs (zargs_t *self);
35         zargs_t *self;
36     private:
37         ~Zargs ();
38     static Nan::Persistent <Function> &constructor ();
39 
40     static NAN_METHOD (New);
41     static NAN_METHOD (destroy);
42     static NAN_METHOD (defined);
43     static NAN_METHOD (_progname);
44     static NAN_METHOD (_arguments);
45     static NAN_METHOD (_first);
46     static NAN_METHOD (_next);
47     static NAN_METHOD (_param_first);
48     static NAN_METHOD (_param_next);
49     static NAN_METHOD (_param_name);
50     static NAN_METHOD (_param_lookup);
51     static NAN_METHOD (_param_lookupx);
52     static NAN_METHOD (_has_help);
53     static NAN_METHOD (_param_empty);
54     static NAN_METHOD (_print);
55     static NAN_METHOD (_test);
56 };
57 
58 class Zarmour: public Nan::ObjectWrap {
59     public:
60         static NAN_MODULE_INIT (Init);
61         explicit Zarmour (void);
62         explicit Zarmour (zarmour_t *self);
63         zarmour_t *self;
64     private:
65         ~Zarmour ();
66     static Nan::Persistent <Function> &constructor ();
67 
68     static NAN_METHOD (New);
69     static NAN_METHOD (destroy);
70     static NAN_METHOD (defined);
71     static NAN_METHOD (_encode);
72     static NAN_METHOD (_decode);
73     static NAN_METHOD (_mode);
74     static NAN_METHOD (_mode_str);
75     static NAN_METHOD (_set_mode);
76     static NAN_METHOD (_pad);
77     static NAN_METHOD (_set_pad);
78     static NAN_METHOD (_pad_char);
79     static NAN_METHOD (_set_pad_char);
80     static NAN_METHOD (_line_breaks);
81     static NAN_METHOD (_set_line_breaks);
82     static NAN_METHOD (_line_length);
83     static NAN_METHOD (_set_line_length);
84     static NAN_METHOD (_print);
85     static NAN_METHOD (_test);
86 };
87 
88 class Zcert: public Nan::ObjectWrap {
89     public:
90         static NAN_MODULE_INIT (Init);
91         explicit Zcert (void);
92         explicit Zcert (zcert_t *self);
93         zcert_t *self;
94     private:
95         ~Zcert ();
96     static Nan::Persistent <Function> &constructor ();
97 
98     static NAN_METHOD (New);
99     static NAN_METHOD (destroy);
100     static NAN_METHOD (defined);
101     static NAN_METHOD (_public_key);
102     static NAN_METHOD (_secret_key);
103     static NAN_METHOD (_public_txt);
104     static NAN_METHOD (_secret_txt);
105     static NAN_METHOD (_set_meta);
106     static NAN_METHOD (_unset_meta);
107     static NAN_METHOD (_meta);
108     static NAN_METHOD (_meta_keys);
109     static NAN_METHOD (_save);
110     static NAN_METHOD (_save_public);
111     static NAN_METHOD (_save_secret);
112     static NAN_METHOD (_apply);
113     static NAN_METHOD (_dup);
114     static NAN_METHOD (_eq);
115     static NAN_METHOD (_print);
116     static NAN_METHOD (_test);
117 };
118 
119 class Zcertstore: public Nan::ObjectWrap {
120     public:
121         static NAN_MODULE_INIT (Init);
122         explicit Zcertstore (const char *location);
123         explicit Zcertstore (zcertstore_t *self);
124         zcertstore_t *self;
125     private:
126         ~Zcertstore ();
127     static Nan::Persistent <Function> &constructor ();
128 
129     static NAN_METHOD (New);
130     static NAN_METHOD (destroy);
131     static NAN_METHOD (defined);
132     static NAN_METHOD (_lookup);
133     static NAN_METHOD (_insert);
134     static NAN_METHOD (_empty);
135     static NAN_METHOD (_print);
136     static NAN_METHOD (_certs);
137     static NAN_METHOD (_test);
138 };
139 
140 class Zchunk: public Nan::ObjectWrap {
141     public:
142         static NAN_MODULE_INIT (Init);
143         explicit Zchunk (const void *data, size_t size);
144         explicit Zchunk (zchunk_t *self);
145         zchunk_t *self;
146     private:
147         ~Zchunk ();
148     static Nan::Persistent <Function> &constructor ();
149 
150     static NAN_METHOD (New);
151     static NAN_METHOD (destroy);
152     static NAN_METHOD (defined);
153     static NAN_METHOD (_resize);
154     static NAN_METHOD (_size);
155     static NAN_METHOD (_max_size);
156     static NAN_METHOD (_data);
157     static NAN_METHOD (_set);
158     static NAN_METHOD (_append);
159     static NAN_METHOD (_extend);
160     static NAN_METHOD (_consume);
161     static NAN_METHOD (_exhausted);
162     static NAN_METHOD (_slurp);
163     static NAN_METHOD (_dup);
164     static NAN_METHOD (_strhex);
165     static NAN_METHOD (_strdup);
166     static NAN_METHOD (_streq);
167     static NAN_METHOD (_pack);
168     static NAN_METHOD (_unpack);
169     static NAN_METHOD (_digest);
170     static NAN_METHOD (_print);
171     static NAN_METHOD (_test);
172 };
173 
174 class Zclock: public Nan::ObjectWrap {
175     public:
176         static NAN_MODULE_INIT (Init);
177         explicit Zclock ();
178     private:
179         ~Zclock ();
180     static Nan::Persistent <Function> &constructor ();
181 
182     static NAN_METHOD (New);
183     static NAN_METHOD (_sleep);
184     static NAN_METHOD (_time);
185     static NAN_METHOD (_mono);
186     static NAN_METHOD (_usecs);
187     static NAN_METHOD (_timestr);
188     static NAN_METHOD (_test);
189 };
190 
191 class Zconfig: public Nan::ObjectWrap {
192     public:
193         static NAN_MODULE_INIT (Init);
194         explicit Zconfig (const char *name, zconfig_t *parent);
195         explicit Zconfig (zconfig_t *self);
196         zconfig_t *self;
197     private:
198         ~Zconfig ();
199     static Nan::Persistent <Function> &constructor ();
200 
201     static NAN_METHOD (New);
202     static NAN_METHOD (destroy);
203     static NAN_METHOD (defined);
204     static NAN_METHOD (_name);
205     static NAN_METHOD (_value);
206     static NAN_METHOD (_put);
207     static NAN_METHOD (_putf);
208     static NAN_METHOD (_get);
209     static NAN_METHOD (_set_name);
210     static NAN_METHOD (_set_value);
211     static NAN_METHOD (_child);
212     static NAN_METHOD (_next);
213     static NAN_METHOD (_locate);
214     static NAN_METHOD (_at_depth);
215     static NAN_METHOD (_set_comment);
216     static NAN_METHOD (_comments);
217     static NAN_METHOD (_save);
218     static NAN_METHOD (_savef);
219     static NAN_METHOD (_filename);
220     static NAN_METHOD (_reload);
221     static NAN_METHOD (_chunk_load);
222     static NAN_METHOD (_chunk_save);
223     static NAN_METHOD (_str_load);
224     static NAN_METHOD (_str_save);
225     static NAN_METHOD (_has_changed);
226     static NAN_METHOD (_remove_subtree);
227     static NAN_METHOD (_remove);
228     static NAN_METHOD (_print);
229     static NAN_METHOD (_test);
230 };
231 
232 class Zdigest: public Nan::ObjectWrap {
233     public:
234         static NAN_MODULE_INIT (Init);
235         explicit Zdigest (void);
236         explicit Zdigest (zdigest_t *self);
237         zdigest_t *self;
238     private:
239         ~Zdigest ();
240     static Nan::Persistent <Function> &constructor ();
241 
242     static NAN_METHOD (New);
243     static NAN_METHOD (destroy);
244     static NAN_METHOD (defined);
245     static NAN_METHOD (_update);
246     static NAN_METHOD (_data);
247     static NAN_METHOD (_size);
248     static NAN_METHOD (_string);
249     static NAN_METHOD (_test);
250 };
251 
252 class Zdir: public Nan::ObjectWrap {
253     public:
254         static NAN_MODULE_INIT (Init);
255         explicit Zdir (const char *path, const char *parent);
256         explicit Zdir (zdir_t *self);
257         zdir_t *self;
258     private:
259         ~Zdir ();
260     static Nan::Persistent <Function> &constructor ();
261 
262     static NAN_METHOD (New);
263     static NAN_METHOD (destroy);
264     static NAN_METHOD (defined);
265     static NAN_METHOD (_path);
266     static NAN_METHOD (_modified);
267     static NAN_METHOD (_cursize);
268     static NAN_METHOD (_count);
269     static NAN_METHOD (_list);
270     static NAN_METHOD (_remove);
271     static NAN_METHOD (_diff);
272     static NAN_METHOD (_resync);
273     static NAN_METHOD (_cache);
274     static NAN_METHOD (_print);
275     static NAN_METHOD (_test);
276 };
277 
278 class ZdirPatch: public Nan::ObjectWrap {
279     public:
280         static NAN_MODULE_INIT (Init);
281         explicit ZdirPatch (const char *path, zfile_t *file, int op, const char *alias);
282         explicit ZdirPatch (zdir_patch_t *self);
283         zdir_patch_t *self;
284     private:
285         ~ZdirPatch ();
286     static Nan::Persistent <Function> &constructor ();
287 
288     static NAN_METHOD (New);
289     static NAN_METHOD (destroy);
290     static NAN_METHOD (defined);
291     static NAN_METHOD (_dup);
292     static NAN_METHOD (_path);
293     static NAN_METHOD (_file);
294     static NAN_METHOD (_op);
295     static NAN_METHOD (_vpath);
296     static NAN_METHOD (_digest_set);
297     static NAN_METHOD (_digest);
298     static NAN_METHOD (_test);
299 };
300 
301 class Zfile: public Nan::ObjectWrap {
302     public:
303         static NAN_MODULE_INIT (Init);
304         explicit Zfile (const char *path, const char *name);
305         explicit Zfile (zfile_t *self);
306         zfile_t *self;
307     private:
308         ~Zfile ();
309     static Nan::Persistent <Function> &constructor ();
310 
311     static NAN_METHOD (New);
312     static NAN_METHOD (destroy);
313     static NAN_METHOD (defined);
314     static NAN_METHOD (_dup);
315     static NAN_METHOD (_filename);
316     static NAN_METHOD (_restat);
317     static NAN_METHOD (_modified);
318     static NAN_METHOD (_cursize);
319     static NAN_METHOD (_is_directory);
320     static NAN_METHOD (_is_regular);
321     static NAN_METHOD (_is_readable);
322     static NAN_METHOD (_is_writeable);
323     static NAN_METHOD (_is_stable);
324     static NAN_METHOD (_has_changed);
325     static NAN_METHOD (_remove);
326     static NAN_METHOD (_input);
327     static NAN_METHOD (_output);
328     static NAN_METHOD (_read);
329     static NAN_METHOD (_eof);
330     static NAN_METHOD (_write);
331     static NAN_METHOD (_readln);
332     static NAN_METHOD (_close);
333     static NAN_METHOD (_digest);
334     static NAN_METHOD (_test);
335 };
336 
337 class Zframe: public Nan::ObjectWrap {
338     public:
339         static NAN_MODULE_INIT (Init);
340         explicit Zframe (const void *data, size_t size);
341         explicit Zframe (zframe_t *self);
342         zframe_t *self;
343     private:
344         ~Zframe ();
345     static Nan::Persistent <Function> &constructor ();
346 
347     static NAN_METHOD (New);
348     static NAN_METHOD (destroy);
349     static NAN_METHOD (defined);
350     static NAN_METHOD (_send);
351     static NAN_METHOD (_size);
352     static NAN_METHOD (_data);
353     static NAN_METHOD (_meta);
354     static NAN_METHOD (_dup);
355     static NAN_METHOD (_strhex);
356     static NAN_METHOD (_strdup);
357     static NAN_METHOD (_streq);
358     static NAN_METHOD (_more);
359     static NAN_METHOD (_set_more);
360     static NAN_METHOD (_routing_id);
361     static NAN_METHOD (_set_routing_id);
362     static NAN_METHOD (_group);
363     static NAN_METHOD (_set_group);
364     static NAN_METHOD (_eq);
365     static NAN_METHOD (_reset);
366     static NAN_METHOD (_print);
367     static NAN_METHOD (_test);
368 };
369 
370 class Zhash: public Nan::ObjectWrap {
371     public:
372         static NAN_MODULE_INIT (Init);
373         explicit Zhash (void);
374         explicit Zhash (zhash_t *self);
375         zhash_t *self;
376     private:
377         ~Zhash ();
378     static Nan::Persistent <Function> &constructor ();
379 
380     static NAN_METHOD (New);
381     static NAN_METHOD (destroy);
382     static NAN_METHOD (defined);
383     static NAN_METHOD (_delete);
384     static NAN_METHOD (_rename);
385     static NAN_METHOD (_size);
386     static NAN_METHOD (_dup);
387     static NAN_METHOD (_keys);
388     static NAN_METHOD (_cursor);
389     static NAN_METHOD (_comment);
390     static NAN_METHOD (_pack);
391     static NAN_METHOD (_save);
392     static NAN_METHOD (_load);
393     static NAN_METHOD (_refresh);
394     static NAN_METHOD (_autofree);
395     static NAN_METHOD (_test);
396 };
397 
398 class Zhashx: public Nan::ObjectWrap {
399     public:
400         static NAN_MODULE_INIT (Init);
401         explicit Zhashx (void);
402         explicit Zhashx (zhashx_t *self);
403         zhashx_t *self;
404     private:
405         ~Zhashx ();
406     static Nan::Persistent <Function> &constructor ();
407 
408     static NAN_METHOD (New);
409     static NAN_METHOD (destroy);
410     static NAN_METHOD (defined);
411     static NAN_METHOD (_purge);
412     static NAN_METHOD (_size);
413     static NAN_METHOD (_keys);
414     static NAN_METHOD (_values);
415     static NAN_METHOD (_comment);
416     static NAN_METHOD (_save);
417     static NAN_METHOD (_load);
418     static NAN_METHOD (_refresh);
419     static NAN_METHOD (_pack);
420     static NAN_METHOD (_dup);
421     static NAN_METHOD (_dup_v2);
422     static NAN_METHOD (_test);
423 };
424 
425 class Ziflist: public Nan::ObjectWrap {
426     public:
427         static NAN_MODULE_INIT (Init);
428         explicit Ziflist (void);
429         explicit Ziflist (ziflist_t *self);
430         ziflist_t *self;
431     private:
432         ~Ziflist ();
433     static Nan::Persistent <Function> &constructor ();
434 
435     static NAN_METHOD (New);
436     static NAN_METHOD (destroy);
437     static NAN_METHOD (defined);
438     static NAN_METHOD (_reload);
439     static NAN_METHOD (_size);
440     static NAN_METHOD (_first);
441     static NAN_METHOD (_next);
442     static NAN_METHOD (_address);
443     static NAN_METHOD (_broadcast);
444     static NAN_METHOD (_netmask);
445     static NAN_METHOD (_print);
446     static NAN_METHOD (_new_ipv6);
447     static NAN_METHOD (_reload_ipv6);
448     static NAN_METHOD (_is_ipv6);
449     static NAN_METHOD (_test);
450 };
451 
452 class Zlist: public Nan::ObjectWrap {
453     public:
454         static NAN_MODULE_INIT (Init);
455         explicit Zlist (void);
456         explicit Zlist (zlist_t *self);
457         zlist_t *self;
458     private:
459         ~Zlist ();
460     static Nan::Persistent <Function> &constructor ();
461 
462     static NAN_METHOD (New);
463     static NAN_METHOD (destroy);
464     static NAN_METHOD (defined);
465     static NAN_METHOD (_dup);
466     static NAN_METHOD (_purge);
467     static NAN_METHOD (_size);
468     static NAN_METHOD (_autofree);
469     static NAN_METHOD (_test);
470 };
471 
472 class Zlistx: public Nan::ObjectWrap {
473     public:
474         static NAN_MODULE_INIT (Init);
475         explicit Zlistx (void);
476         explicit Zlistx (zlistx_t *self);
477         zlistx_t *self;
478     private:
479         ~Zlistx ();
480     static Nan::Persistent <Function> &constructor ();
481 
482     static NAN_METHOD (New);
483     static NAN_METHOD (destroy);
484     static NAN_METHOD (defined);
485     static NAN_METHOD (_size);
486     static NAN_METHOD (_purge);
487     static NAN_METHOD (_sort);
488     static NAN_METHOD (_dup);
489     static NAN_METHOD (_test);
490 };
491 
492 class Zloop: public Nan::ObjectWrap {
493     public:
494         static NAN_MODULE_INIT (Init);
495         explicit Zloop (void);
496         explicit Zloop (zloop_t *self);
497         zloop_t *self;
498     private:
499         ~Zloop ();
500     static Nan::Persistent <Function> &constructor ();
501 
502     static NAN_METHOD (New);
503     static NAN_METHOD (destroy);
504     static NAN_METHOD (defined);
505     static NAN_METHOD (_reader_end);
506     static NAN_METHOD (_reader_set_tolerant);
507     static NAN_METHOD (_timer_end);
508     static NAN_METHOD (_set_ticket_delay);
509     static NAN_METHOD (_set_max_timers);
510     static NAN_METHOD (_set_verbose);
511     static NAN_METHOD (_set_nonstop);
512     static NAN_METHOD (_start);
513     static NAN_METHOD (_test);
514 };
515 
516 class Zmsg: public Nan::ObjectWrap {
517     public:
518         static NAN_MODULE_INIT (Init);
519         explicit Zmsg (void);
520         explicit Zmsg (zmsg_t *self);
521         zmsg_t *self;
522     private:
523         ~Zmsg ();
524     static Nan::Persistent <Function> &constructor ();
525 
526     static NAN_METHOD (New);
527     static NAN_METHOD (destroy);
528     static NAN_METHOD (defined);
529     static NAN_METHOD (_send);
530     static NAN_METHOD (_sendm);
531     static NAN_METHOD (_size);
532     static NAN_METHOD (_content_size);
533     static NAN_METHOD (_routing_id);
534     static NAN_METHOD (_set_routing_id);
535     static NAN_METHOD (_prepend);
536     static NAN_METHOD (_append);
537     static NAN_METHOD (_pop);
538     static NAN_METHOD (_pushmem);
539     static NAN_METHOD (_addmem);
540     static NAN_METHOD (_pushstr);
541     static NAN_METHOD (_addstr);
542     static NAN_METHOD (_pushstrf);
543     static NAN_METHOD (_addstrf);
544     static NAN_METHOD (_popstr);
545     static NAN_METHOD (_addmsg);
546     static NAN_METHOD (_popmsg);
547     static NAN_METHOD (_remove);
548     static NAN_METHOD (_first);
549     static NAN_METHOD (_next);
550     static NAN_METHOD (_last);
551     static NAN_METHOD (_encode);
552     static NAN_METHOD (_dup);
553     static NAN_METHOD (_print);
554     static NAN_METHOD (_eq);
555     static NAN_METHOD (_signal);
556     static NAN_METHOD (_test);
557 };
558 
559 class Zpoller: public Nan::ObjectWrap {
560     public:
561         static NAN_MODULE_INIT (Init);
562         explicit Zpoller (zsock_t *reader);
563         explicit Zpoller (zpoller_t *self);
564         zpoller_t *self;
565     private:
566         ~Zpoller ();
567     static Nan::Persistent <Function> &constructor ();
568 
569     static NAN_METHOD (New);
570     static NAN_METHOD (destroy);
571     static NAN_METHOD (defined);
572     static NAN_METHOD (_add);
573     static NAN_METHOD (_set_nonstop);
574     static NAN_METHOD (_expired);
575     static NAN_METHOD (_terminated);
576     static NAN_METHOD (_test);
577 };
578 
579 class Zproc: public Nan::ObjectWrap {
580     public:
581         static NAN_MODULE_INIT (Init);
582         explicit Zproc (void);
583         explicit Zproc (zproc_t *self);
584         zproc_t *self;
585     private:
586         ~Zproc ();
587     static Nan::Persistent <Function> &constructor ();
588 
589     static NAN_METHOD (New);
590     static NAN_METHOD (destroy);
591     static NAN_METHOD (defined);
592     static NAN_METHOD (_args);
593     static NAN_METHOD (_set_args);
594     static NAN_METHOD (_set_argsx);
595     static NAN_METHOD (_set_env);
596     static NAN_METHOD (_run);
597     static NAN_METHOD (_returncode);
598     static NAN_METHOD (_pid);
599     static NAN_METHOD (_running);
600     static NAN_METHOD (_wait);
601     static NAN_METHOD (_kill);
602     static NAN_METHOD (_set_verbose);
603     static NAN_METHOD (_test);
604 };
605 
606 class Zsock: public Nan::ObjectWrap {
607     public:
608         static NAN_MODULE_INIT (Init);
609         explicit Zsock (int type);
610         explicit Zsock (zsock_t *self);
611         zsock_t *self;
612     private:
613         ~Zsock ();
614     static Nan::Persistent <Function> &constructor ();
615 
616     static NAN_METHOD (New);
617     static NAN_METHOD (destroy);
618     static NAN_METHOD (defined);
619     static NAN_METHOD (_bind);
620     static NAN_METHOD (_endpoint);
621     static NAN_METHOD (_unbind);
622     static NAN_METHOD (_connect);
623     static NAN_METHOD (_disconnect);
624     static NAN_METHOD (_attach);
625     static NAN_METHOD (_type_str);
626     static NAN_METHOD (_send);
627     static NAN_METHOD (_recv);
628     static NAN_METHOD (_bsend);
629     static NAN_METHOD (_brecv);
630     static NAN_METHOD (_routing_id);
631     static NAN_METHOD (_set_routing_id);
632     static NAN_METHOD (_set_unbounded);
633     static NAN_METHOD (_wait);
634     static NAN_METHOD (_flush);
635     static NAN_METHOD (_join);
636     static NAN_METHOD (_leave);
637     static NAN_METHOD (_heartbeat_ivl);
638     static NAN_METHOD (_set_heartbeat_ivl);
639     static NAN_METHOD (_heartbeat_ttl);
640     static NAN_METHOD (_set_heartbeat_ttl);
641     static NAN_METHOD (_heartbeat_timeout);
642     static NAN_METHOD (_set_heartbeat_timeout);
643     static NAN_METHOD (_use_fd);
644     static NAN_METHOD (_set_use_fd);
645     static NAN_METHOD (_set_xpub_manual);
646     static NAN_METHOD (_set_xpub_welcome_msg);
647     static NAN_METHOD (_set_stream_notify);
648     static NAN_METHOD (_invert_matching);
649     static NAN_METHOD (_set_invert_matching);
650     static NAN_METHOD (_set_xpub_verboser);
651     static NAN_METHOD (_connect_timeout);
652     static NAN_METHOD (_set_connect_timeout);
653     static NAN_METHOD (_tcp_maxrt);
654     static NAN_METHOD (_set_tcp_maxrt);
655     static NAN_METHOD (_thread_safe);
656     static NAN_METHOD (_multicast_maxtpdu);
657     static NAN_METHOD (_set_multicast_maxtpdu);
658     static NAN_METHOD (_vmci_buffer_size);
659     static NAN_METHOD (_set_vmci_buffer_size);
660     static NAN_METHOD (_vmci_buffer_min_size);
661     static NAN_METHOD (_set_vmci_buffer_min_size);
662     static NAN_METHOD (_vmci_buffer_max_size);
663     static NAN_METHOD (_set_vmci_buffer_max_size);
664     static NAN_METHOD (_vmci_connect_timeout);
665     static NAN_METHOD (_set_vmci_connect_timeout);
666     static NAN_METHOD (_tos);
667     static NAN_METHOD (_set_tos);
668     static NAN_METHOD (_set_router_handover);
669     static NAN_METHOD (_set_connect_rid);
670     static NAN_METHOD (_set_connect_rid_bin);
671     static NAN_METHOD (_handshake_ivl);
672     static NAN_METHOD (_set_handshake_ivl);
673     static NAN_METHOD (_socks_proxy);
674     static NAN_METHOD (_set_socks_proxy);
675     static NAN_METHOD (_set_xpub_nodrop);
676     static NAN_METHOD (_set_router_mandatory);
677     static NAN_METHOD (_set_probe_router);
678     static NAN_METHOD (_set_req_relaxed);
679     static NAN_METHOD (_set_req_correlate);
680     static NAN_METHOD (_set_conflate);
681     static NAN_METHOD (_zap_domain);
682     static NAN_METHOD (_set_zap_domain);
683     static NAN_METHOD (_mechanism);
684     static NAN_METHOD (_plain_server);
685     static NAN_METHOD (_set_plain_server);
686     static NAN_METHOD (_plain_username);
687     static NAN_METHOD (_set_plain_username);
688     static NAN_METHOD (_plain_password);
689     static NAN_METHOD (_set_plain_password);
690     static NAN_METHOD (_curve_server);
691     static NAN_METHOD (_set_curve_server);
692     static NAN_METHOD (_curve_publickey);
693     static NAN_METHOD (_set_curve_publickey);
694     static NAN_METHOD (_set_curve_publickey_bin);
695     static NAN_METHOD (_curve_secretkey);
696     static NAN_METHOD (_set_curve_secretkey);
697     static NAN_METHOD (_set_curve_secretkey_bin);
698     static NAN_METHOD (_curve_serverkey);
699     static NAN_METHOD (_set_curve_serverkey);
700     static NAN_METHOD (_set_curve_serverkey_bin);
701     static NAN_METHOD (_gssapi_server);
702     static NAN_METHOD (_set_gssapi_server);
703     static NAN_METHOD (_gssapi_plaintext);
704     static NAN_METHOD (_set_gssapi_plaintext);
705     static NAN_METHOD (_gssapi_principal);
706     static NAN_METHOD (_set_gssapi_principal);
707     static NAN_METHOD (_gssapi_service_principal);
708     static NAN_METHOD (_set_gssapi_service_principal);
709     static NAN_METHOD (_ipv6);
710     static NAN_METHOD (_set_ipv6);
711     static NAN_METHOD (_immediate);
712     static NAN_METHOD (_set_immediate);
713     static NAN_METHOD (_sndhwm);
714     static NAN_METHOD (_set_sndhwm);
715     static NAN_METHOD (_rcvhwm);
716     static NAN_METHOD (_set_rcvhwm);
717     static NAN_METHOD (_maxmsgsize);
718     static NAN_METHOD (_set_maxmsgsize);
719     static NAN_METHOD (_multicast_hops);
720     static NAN_METHOD (_set_multicast_hops);
721     static NAN_METHOD (_set_xpub_verbose);
722     static NAN_METHOD (_tcp_keepalive);
723     static NAN_METHOD (_set_tcp_keepalive);
724     static NAN_METHOD (_tcp_keepalive_idle);
725     static NAN_METHOD (_set_tcp_keepalive_idle);
726     static NAN_METHOD (_tcp_keepalive_cnt);
727     static NAN_METHOD (_set_tcp_keepalive_cnt);
728     static NAN_METHOD (_tcp_keepalive_intvl);
729     static NAN_METHOD (_set_tcp_keepalive_intvl);
730     static NAN_METHOD (_tcp_accept_filter);
731     static NAN_METHOD (_set_tcp_accept_filter);
732     static NAN_METHOD (_last_endpoint);
733     static NAN_METHOD (_set_router_raw);
734     static NAN_METHOD (_ipv4only);
735     static NAN_METHOD (_set_ipv4only);
736     static NAN_METHOD (_set_delay_attach_on_connect);
737     static NAN_METHOD (_hwm);
738     static NAN_METHOD (_set_hwm);
739     static NAN_METHOD (_swap);
740     static NAN_METHOD (_set_swap);
741     static NAN_METHOD (_affinity);
742     static NAN_METHOD (_set_affinity);
743     static NAN_METHOD (_identity);
744     static NAN_METHOD (_set_identity);
745     static NAN_METHOD (_rate);
746     static NAN_METHOD (_set_rate);
747     static NAN_METHOD (_recovery_ivl);
748     static NAN_METHOD (_set_recovery_ivl);
749     static NAN_METHOD (_recovery_ivl_msec);
750     static NAN_METHOD (_set_recovery_ivl_msec);
751     static NAN_METHOD (_mcast_loop);
752     static NAN_METHOD (_set_mcast_loop);
753     static NAN_METHOD (_rcvtimeo);
754     static NAN_METHOD (_set_rcvtimeo);
755     static NAN_METHOD (_sndtimeo);
756     static NAN_METHOD (_set_sndtimeo);
757     static NAN_METHOD (_sndbuf);
758     static NAN_METHOD (_set_sndbuf);
759     static NAN_METHOD (_rcvbuf);
760     static NAN_METHOD (_set_rcvbuf);
761     static NAN_METHOD (_linger);
762     static NAN_METHOD (_set_linger);
763     static NAN_METHOD (_reconnect_ivl);
764     static NAN_METHOD (_set_reconnect_ivl);
765     static NAN_METHOD (_reconnect_ivl_max);
766     static NAN_METHOD (_set_reconnect_ivl_max);
767     static NAN_METHOD (_backlog);
768     static NAN_METHOD (_set_backlog);
769     static NAN_METHOD (_set_subscribe);
770     static NAN_METHOD (_set_unsubscribe);
771     static NAN_METHOD (_type);
772     static NAN_METHOD (_rcvmore);
773     static NAN_METHOD (_events);
774     static NAN_METHOD (_test);
775 };
776 
777 class Zstr: public Nan::ObjectWrap {
778     public:
779         static NAN_MODULE_INIT (Init);
780         explicit Zstr ();
781     private:
782         ~Zstr ();
783     static Nan::Persistent <Function> &constructor ();
784 
785     static NAN_METHOD (New);
786     static NAN_METHOD (_recv);
787     static NAN_METHOD (_recvx);
788     static NAN_METHOD (_recv_compress);
789     static NAN_METHOD (_send);
790     static NAN_METHOD (_sendm);
791     static NAN_METHOD (_sendf);
792     static NAN_METHOD (_sendfm);
793     static NAN_METHOD (_sendx);
794     static NAN_METHOD (_send_compress);
795     static NAN_METHOD (_sendm_compress);
796     static NAN_METHOD (_str);
797     static NAN_METHOD (_free);
798     static NAN_METHOD (_test);
799 };
800 
801 class Zsys: public Nan::ObjectWrap {
802     public:
803         static NAN_MODULE_INIT (Init);
804         explicit Zsys ();
805     private:
806         ~Zsys ();
807     static Nan::Persistent <Function> &constructor ();
808 
809     static NAN_METHOD (New);
810     static NAN_METHOD (_shutdown);
811     static NAN_METHOD (_sockname);
812     static NAN_METHOD (_create_pipe);
813     static NAN_METHOD (_handler_reset);
814     static NAN_METHOD (_catch_interrupts);
815     static NAN_METHOD (_is_interrupted);
816     static NAN_METHOD (_set_interrupted);
817     static NAN_METHOD (_file_exists);
818     static NAN_METHOD (_file_modified);
819     static NAN_METHOD (_file_mode);
820     static NAN_METHOD (_file_delete);
821     static NAN_METHOD (_file_stable);
822     static NAN_METHOD (_dir_create);
823     static NAN_METHOD (_dir_delete);
824     static NAN_METHOD (_dir_change);
825     static NAN_METHOD (_file_mode_private);
826     static NAN_METHOD (_file_mode_default);
827     static NAN_METHOD (_version);
828     static NAN_METHOD (_sprintf);
829     static NAN_METHOD (_socket_error);
830     static NAN_METHOD (_hostname);
831     static NAN_METHOD (_daemonize);
832     static NAN_METHOD (_run_as);
833     static NAN_METHOD (_has_curve);
834     static NAN_METHOD (_set_io_threads);
835     static NAN_METHOD (_set_thread_sched_policy);
836     static NAN_METHOD (_set_thread_priority);
837     static NAN_METHOD (_set_max_sockets);
838     static NAN_METHOD (_socket_limit);
839     static NAN_METHOD (_set_max_msgsz);
840     static NAN_METHOD (_max_msgsz);
841     static NAN_METHOD (_set_zero_copy_recv);
842     static NAN_METHOD (_zero_copy_recv);
843     static NAN_METHOD (_set_file_stable_age_msec);
844     static NAN_METHOD (_file_stable_age_msec);
845     static NAN_METHOD (_set_linger);
846     static NAN_METHOD (_set_sndhwm);
847     static NAN_METHOD (_set_rcvhwm);
848     static NAN_METHOD (_set_pipehwm);
849     static NAN_METHOD (_pipehwm);
850     static NAN_METHOD (_set_ipv6);
851     static NAN_METHOD (_ipv6);
852     static NAN_METHOD (_set_interface);
853     static NAN_METHOD (_interface);
854     static NAN_METHOD (_set_ipv6_address);
855     static NAN_METHOD (_ipv6_address);
856     static NAN_METHOD (_set_ipv6_mcast_address);
857     static NAN_METHOD (_ipv6_mcast_address);
858     static NAN_METHOD (_set_auto_use_fd);
859     static NAN_METHOD (_auto_use_fd);
860     static NAN_METHOD (_set_logident);
861     static NAN_METHOD (_set_logsender);
862     static NAN_METHOD (_set_logsystem);
863     static NAN_METHOD (_error);
864     static NAN_METHOD (_warning);
865     static NAN_METHOD (_notice);
866     static NAN_METHOD (_info);
867     static NAN_METHOD (_debug);
868     static NAN_METHOD (_test);
869 };
870 
871 class Ztimerset: public Nan::ObjectWrap {
872     public:
873         static NAN_MODULE_INIT (Init);
874         explicit Ztimerset (void);
875         explicit Ztimerset (ztimerset_t *self);
876         ztimerset_t *self;
877     private:
878         ~Ztimerset ();
879     static Nan::Persistent <Function> &constructor ();
880 
881     static NAN_METHOD (New);
882     static NAN_METHOD (destroy);
883     static NAN_METHOD (defined);
884     static NAN_METHOD (_cancel);
885     static NAN_METHOD (_set_interval);
886     static NAN_METHOD (_reset);
887     static NAN_METHOD (_timeout);
888     static NAN_METHOD (_execute);
889     static NAN_METHOD (_test);
890 };
891 
892 class Ztrie: public Nan::ObjectWrap {
893     public:
894         static NAN_MODULE_INIT (Init);
895         explicit Ztrie (char delimiter);
896         explicit Ztrie (ztrie_t *self);
897         ztrie_t *self;
898     private:
899         ~Ztrie ();
900     static Nan::Persistent <Function> &constructor ();
901 
902     static NAN_METHOD (New);
903     static NAN_METHOD (destroy);
904     static NAN_METHOD (defined);
905     static NAN_METHOD (_remove_route);
906     static NAN_METHOD (_matches);
907     static NAN_METHOD (_hit_parameter_count);
908     static NAN_METHOD (_hit_parameters);
909     static NAN_METHOD (_hit_asterisk_match);
910     static NAN_METHOD (_print);
911     static NAN_METHOD (_test);
912 };
913 
914 class Zuuid: public Nan::ObjectWrap {
915     public:
916         static NAN_MODULE_INIT (Init);
917         explicit Zuuid (void);
918         explicit Zuuid (zuuid_t *self);
919         zuuid_t *self;
920     private:
921         ~Zuuid ();
922     static Nan::Persistent <Function> &constructor ();
923 
924     static NAN_METHOD (New);
925     static NAN_METHOD (destroy);
926     static NAN_METHOD (defined);
927     static NAN_METHOD (_set);
928     static NAN_METHOD (_set_str);
929     static NAN_METHOD (_data);
930     static NAN_METHOD (_size);
931     static NAN_METHOD (_str);
932     static NAN_METHOD (_str_canonical);
933     static NAN_METHOD (_export);
934     static NAN_METHOD (_eq);
935     static NAN_METHOD (_neq);
936     static NAN_METHOD (_dup);
937     static NAN_METHOD (_test);
938 };
939 
940 #endif
941