1#define PERL_constant_NOTFOUND	1
2#define PERL_constant_NOTDEF	2
3#define PERL_constant_ISIV	3
4#define PERL_constant_ISNO	4
5#define PERL_constant_ISNV	5
6#define PERL_constant_ISPV	6
7#define PERL_constant_ISPVN	7
8#define PERL_constant_ISSV	8
9#define PERL_constant_ISUNDEF	9
10#define PERL_constant_ISUV	10
11#define PERL_constant_ISYES	11
12
13#ifndef NVTYPE
14typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it.  */
15#endif
16#ifndef aTHX_
17#define aTHX_ /* 5.6 or later define this for threading support.  */
18#endif
19#ifndef pTHX_
20#define pTHX_ /* 5.6 or later define this for threading support.  */
21#endif
22
23static int
24constant_17 (pTHX_ const char *name, IV *iv_return) {
25  /* When generated this function returned values for the list of names given
26     here.  However, subsequent manual editing may have added or removed some.
27     LIBSSH2_FXF_CREAT LIBSSH2_FXF_TRUNC LIBSSH2_FXF_WRITE LIBSSH2_SFTP_STAT
28     LIBSSH2_TRACE_KEX LIBSSH2_TRACE_SCP */
29  /* Offset 14 gives the best switch position.  */
30  switch (name[14]) {
31  case 'E':
32    if (memEQ(name, "LIBSSH2_FXF_CREAT", 17)) {
33    /*                             ^         */
34#ifdef LIBSSH2_FXF_CREAT
35      *iv_return = LIBSSH2_FXF_CREAT;
36      return PERL_constant_ISIV;
37#else
38      return PERL_constant_NOTDEF;
39#endif
40    }
41    break;
42  case 'I':
43    if (memEQ(name, "LIBSSH2_FXF_WRITE", 17)) {
44    /*                             ^         */
45#ifdef LIBSSH2_FXF_WRITE
46      *iv_return = LIBSSH2_FXF_WRITE;
47      return PERL_constant_ISIV;
48#else
49      return PERL_constant_NOTDEF;
50#endif
51    }
52    break;
53  case 'K':
54    if (memEQ(name, "LIBSSH2_TRACE_KEX", 17)) {
55    /*                             ^         */
56#ifdef LIBSSH2_TRACE_KEX
57      *iv_return = LIBSSH2_TRACE_KEX;
58      return PERL_constant_ISIV;
59#else
60      return PERL_constant_NOTDEF;
61#endif
62    }
63    break;
64  case 'S':
65    if (memEQ(name, "LIBSSH2_TRACE_SCP", 17)) {
66    /*                             ^         */
67#ifdef LIBSSH2_TRACE_SCP
68      *iv_return = LIBSSH2_TRACE_SCP;
69      return PERL_constant_ISIV;
70#else
71      return PERL_constant_NOTDEF;
72#endif
73    }
74    break;
75  case 'T':
76    if (memEQ(name, "LIBSSH2_SFTP_STAT", 17)) {
77    /*                             ^         */
78#ifdef LIBSSH2_SFTP_STAT
79      *iv_return = LIBSSH2_SFTP_STAT;
80      return PERL_constant_ISIV;
81#else
82      return PERL_constant_NOTDEF;
83#endif
84    }
85    break;
86  case 'U':
87    if (memEQ(name, "LIBSSH2_FXF_TRUNC", 17)) {
88    /*                             ^         */
89#ifdef LIBSSH2_FXF_TRUNC
90      *iv_return = LIBSSH2_FXF_TRUNC;
91      return PERL_constant_ISIV;
92#else
93      return PERL_constant_NOTDEF;
94#endif
95    }
96    break;
97  }
98  return PERL_constant_NOTFOUND;
99}
100
101static int
102constant_18 (pTHX_ const char *name, IV *iv_return) {
103  /* When generated this function returned values for the list of names given
104     here.  However, subsequent manual editing may have added or removed some.
105     LIBSSH2_ERROR_FILE LIBSSH2_ERROR_NONE LIBSSH2_ERROR_ZLIB
106     LIBSSH2_FXF_APPEND LIBSSH2_FX_FAILURE LIBSSH2_METHOD_KEX
107     LIBSSH2_SFTP_LSTAT LIBSSH2_TERM_WIDTH LIBSSH2_TRACE_AUTH
108     LIBSSH2_TRACE_CONN LIBSSH2_TRACE_SFTP */
109  /* Offset 14 gives the best switch position.  */
110  switch (name[14]) {
111  case 'A':
112    if (memEQ(name, "LIBSSH2_TRACE_AUTH", 18)) {
113    /*                             ^          */
114#ifdef LIBSSH2_TRACE_AUTH
115      *iv_return = LIBSSH2_TRACE_AUTH;
116      return PERL_constant_ISIV;
117#else
118      return PERL_constant_NOTDEF;
119#endif
120    }
121    break;
122  case 'C':
123    if (memEQ(name, "LIBSSH2_TRACE_CONN", 18)) {
124    /*                             ^          */
125#ifdef LIBSSH2_TRACE_CONN
126      *iv_return = LIBSSH2_TRACE_CONN;
127      return PERL_constant_ISIV;
128#else
129      return PERL_constant_NOTDEF;
130#endif
131    }
132    break;
133  case 'F':
134    if (memEQ(name, "LIBSSH2_ERROR_FILE", 18)) {
135    /*                             ^          */
136#ifdef LIBSSH2_ERROR_FILE
137      *iv_return = LIBSSH2_ERROR_FILE;
138      return PERL_constant_ISIV;
139#else
140      return PERL_constant_NOTDEF;
141#endif
142    }
143    break;
144  case 'I':
145    if (memEQ(name, "LIBSSH2_TERM_WIDTH", 18)) {
146    /*                             ^          */
147#ifdef LIBSSH2_TERM_WIDTH
148      *iv_return = LIBSSH2_TERM_WIDTH;
149      return PERL_constant_ISIV;
150#else
151      return PERL_constant_NOTDEF;
152#endif
153    }
154    break;
155  case 'L':
156    if (memEQ(name, "LIBSSH2_FX_FAILURE", 18)) {
157    /*                             ^          */
158#ifdef LIBSSH2_FX_FAILURE
159      *iv_return = LIBSSH2_FX_FAILURE;
160      return PERL_constant_ISIV;
161#else
162      return PERL_constant_NOTDEF;
163#endif
164    }
165    break;
166  case 'N':
167    if (memEQ(name, "LIBSSH2_ERROR_NONE", 18)) {
168    /*                             ^          */
169#ifdef LIBSSH2_ERROR_NONE
170      *iv_return = LIBSSH2_ERROR_NONE;
171      return PERL_constant_ISIV;
172#else
173      return PERL_constant_NOTDEF;
174#endif
175    }
176    break;
177  case 'P':
178    if (memEQ(name, "LIBSSH2_FXF_APPEND", 18)) {
179    /*                             ^          */
180#ifdef LIBSSH2_FXF_APPEND
181      *iv_return = LIBSSH2_FXF_APPEND;
182      return PERL_constant_ISIV;
183#else
184      return PERL_constant_NOTDEF;
185#endif
186    }
187    break;
188  case 'S':
189    if (memEQ(name, "LIBSSH2_SFTP_LSTAT", 18)) {
190    /*                             ^          */
191#ifdef LIBSSH2_SFTP_LSTAT
192      *iv_return = LIBSSH2_SFTP_LSTAT;
193      return PERL_constant_ISIV;
194#else
195      return PERL_constant_NOTDEF;
196#endif
197    }
198    if (memEQ(name, "LIBSSH2_TRACE_SFTP", 18)) {
199    /*                             ^          */
200#ifdef LIBSSH2_TRACE_SFTP
201      *iv_return = LIBSSH2_TRACE_SFTP;
202      return PERL_constant_ISIV;
203#else
204      return PERL_constant_NOTDEF;
205#endif
206    }
207    break;
208  case 'Z':
209    if (memEQ(name, "LIBSSH2_ERROR_ZLIB", 18)) {
210    /*                             ^          */
211#ifdef LIBSSH2_ERROR_ZLIB
212      *iv_return = LIBSSH2_ERROR_ZLIB;
213      return PERL_constant_ISIV;
214#else
215      return PERL_constant_NOTDEF;
216#endif
217    }
218    break;
219  case '_':
220    if (memEQ(name, "LIBSSH2_METHOD_KEX", 18)) {
221    /*                             ^          */
222#ifdef LIBSSH2_METHOD_KEX
223      *iv_return = LIBSSH2_METHOD_KEX;
224      return PERL_constant_ISIV;
225#else
226      return PERL_constant_NOTDEF;
227#endif
228    }
229    break;
230  }
231  return PERL_constant_NOTFOUND;
232}
233
234static int
235constant_19 (pTHX_ const char *name, IV *iv_return) {
236  /* When generated this function returned values for the list of names given
237     here.  However, subsequent manual editing may have added or removed some.
238     LIBSSH2_ERROR_ALLOC LIBSSH2_ERROR_INVAL LIBSSH2_ERROR_PROTO
239     LIBSSH2_FX_NO_MEDIA LIBSSH2_TERM_HEIGHT LIBSSH2_TRACE_ERROR
240     LIBSSH2_TRACE_TRANS */
241  /* Offset 18 gives the best switch position.  */
242  switch (name[18]) {
243  case 'A':
244    if (memEQ(name, "LIBSSH2_FX_NO_MEDI", 18)) {
245    /*                                 A      */
246#ifdef LIBSSH2_FX_NO_MEDIA
247      *iv_return = LIBSSH2_FX_NO_MEDIA;
248      return PERL_constant_ISIV;
249#else
250      return PERL_constant_NOTDEF;
251#endif
252    }
253    break;
254  case 'C':
255    if (memEQ(name, "LIBSSH2_ERROR_ALLO", 18)) {
256    /*                                 C      */
257#ifdef LIBSSH2_ERROR_ALLOC
258      *iv_return = LIBSSH2_ERROR_ALLOC;
259      return PERL_constant_ISIV;
260#else
261      return PERL_constant_NOTDEF;
262#endif
263    }
264    break;
265  case 'L':
266    if (memEQ(name, "LIBSSH2_ERROR_INVA", 18)) {
267    /*                                 L      */
268#ifdef LIBSSH2_ERROR_INVAL
269      *iv_return = LIBSSH2_ERROR_INVAL;
270      return PERL_constant_ISIV;
271#else
272      return PERL_constant_NOTDEF;
273#endif
274    }
275    break;
276  case 'O':
277    if (memEQ(name, "LIBSSH2_ERROR_PROT", 18)) {
278    /*                                 O      */
279#ifdef LIBSSH2_ERROR_PROTO
280      *iv_return = LIBSSH2_ERROR_PROTO;
281      return PERL_constant_ISIV;
282#else
283      return PERL_constant_NOTDEF;
284#endif
285    }
286    break;
287  case 'R':
288    if (memEQ(name, "LIBSSH2_TRACE_ERRO", 18)) {
289    /*                                 R      */
290#ifdef LIBSSH2_TRACE_ERROR
291      *iv_return = LIBSSH2_TRACE_ERROR;
292      return PERL_constant_ISIV;
293#else
294      return PERL_constant_NOTDEF;
295#endif
296    }
297    break;
298  case 'S':
299    if (memEQ(name, "LIBSSH2_TRACE_TRAN", 18)) {
300    /*                                 S      */
301#ifdef LIBSSH2_TRACE_TRANS
302      *iv_return = LIBSSH2_TRACE_TRANS;
303      return PERL_constant_ISIV;
304#else
305      return PERL_constant_NOTDEF;
306#endif
307    }
308    break;
309  case 'T':
310    if (memEQ(name, "LIBSSH2_TERM_HEIGH", 18)) {
311    /*                                 T      */
312#ifdef LIBSSH2_TERM_HEIGHT
313      *iv_return = LIBSSH2_TERM_HEIGHT;
314      return PERL_constant_ISIV;
315#else
316      return PERL_constant_NOTDEF;
317#endif
318    }
319    break;
320  }
321  return PERL_constant_NOTFOUND;
322}
323
324static int
325constant_20 (pTHX_ const char *name, IV *iv_return) {
326  /* When generated this function returned values for the list of names given
327     here.  However, subsequent manual editing may have added or removed some.
328     LIBSSH2_CALLBACK_X11 LIBSSH2_ERROR_EAGAIN LIBSSH2_FLAG_SIGPIPE
329     LIBSSH2_FX_LINK_LOOP LIBSSH2_SFTP_OPENDIR LIBSSH2_SFTP_SETSTAT
330     LIBSSH2_SFTP_SYMLINK LIBSSH2_SFTP_VERSION LIBSSH2_TRACE_SOCKET */
331  /* Offset 15 gives the best switch position.  */
332  switch (name[15]) {
333  case 'A':
334    if (memEQ(name, "LIBSSH2_ERROR_EAGAIN", 20)) {
335    /*                              ^           */
336#ifdef LIBSSH2_ERROR_EAGAIN
337      *iv_return = LIBSSH2_ERROR_EAGAIN;
338      return PERL_constant_ISIV;
339#else
340      return PERL_constant_NOTDEF;
341#endif
342    }
343    break;
344  case 'E':
345    if (memEQ(name, "LIBSSH2_SFTP_OPENDIR", 20)) {
346    /*                              ^           */
347#ifdef LIBSSH2_SFTP_OPENDIR
348      *iv_return = LIBSSH2_SFTP_OPENDIR;
349      return PERL_constant_ISIV;
350#else
351      return PERL_constant_NOTDEF;
352#endif
353    }
354    break;
355  case 'G':
356    if (memEQ(name, "LIBSSH2_FLAG_SIGPIPE", 20)) {
357    /*                              ^           */
358#ifdef LIBSSH2_FLAG_SIGPIPE
359      *iv_return = LIBSSH2_FLAG_SIGPIPE;
360      return PERL_constant_ISIV;
361#else
362      return PERL_constant_NOTDEF;
363#endif
364    }
365    break;
366  case 'K':
367    if (memEQ(name, "LIBSSH2_CALLBACK_X11", 20)) {
368    /*                              ^           */
369#ifdef LIBSSH2_CALLBACK_X11
370      *iv_return = LIBSSH2_CALLBACK_X11;
371      return PERL_constant_ISIV;
372#else
373      return PERL_constant_NOTDEF;
374#endif
375    }
376    break;
377  case 'M':
378    if (memEQ(name, "LIBSSH2_SFTP_SYMLINK", 20)) {
379    /*                              ^           */
380#ifdef LIBSSH2_SFTP_SYMLINK
381      *iv_return = LIBSSH2_SFTP_SYMLINK;
382      return PERL_constant_ISIV;
383#else
384      return PERL_constant_NOTDEF;
385#endif
386    }
387    break;
388  case 'O':
389    if (memEQ(name, "LIBSSH2_TRACE_SOCKET", 20)) {
390    /*                              ^           */
391#ifdef LIBSSH2_TRACE_SOCKET
392      *iv_return = LIBSSH2_TRACE_SOCKET;
393      return PERL_constant_ISIV;
394#else
395      return PERL_constant_NOTDEF;
396#endif
397    }
398    break;
399  case 'R':
400    if (memEQ(name, "LIBSSH2_SFTP_VERSION", 20)) {
401    /*                              ^           */
402#ifdef LIBSSH2_SFTP_VERSION
403      *iv_return = LIBSSH2_SFTP_VERSION;
404      return PERL_constant_ISIV;
405#else
406      return PERL_constant_NOTDEF;
407#endif
408    }
409    break;
410  case 'T':
411    if (memEQ(name, "LIBSSH2_SFTP_SETSTAT", 20)) {
412    /*                              ^           */
413#ifdef LIBSSH2_SFTP_SETSTAT
414      *iv_return = LIBSSH2_SFTP_SETSTAT;
415      return PERL_constant_ISIV;
416#else
417      return PERL_constant_NOTDEF;
418#endif
419    }
420    break;
421  case '_':
422    if (memEQ(name, "LIBSSH2_FX_LINK_LOOP", 20)) {
423    /*                              ^           */
424#ifdef LIBSSH2_FX_LINK_LOOP
425      *iv_return = LIBSSH2_FX_LINK_LOOP;
426      return PERL_constant_ISIV;
427#else
428      return PERL_constant_NOTDEF;
429#endif
430    }
431    break;
432  }
433  return PERL_constant_NOTFOUND;
434}
435
436static int
437constant_21 (pTHX_ const char *name, IV *iv_return) {
438  /* When generated this function returned values for the list of names given
439     here.  However, subsequent manual editing may have added or removed some.
440     LIBSSH2_ERROR_DECRYPT LIBSSH2_ERROR_TIMEOUT LIBSSH2_FLAG_COMPRESS
441     LIBSSH2_METHOD_MAC_CS LIBSSH2_METHOD_MAC_SC LIBSSH2_POLLFD_POLLEX
442     LIBSSH2_POLLFD_POLLIN LIBSSH2_POLLFD_SOCKET LIBSSH2_SFTP_OPENFILE
443     LIBSSH2_SFTP_READLINK LIBSSH2_SFTP_REALPATH LIBSSH2_TERM_WIDTH_PX */
444  /* Offset 19 gives the best switch position.  */
445  switch (name[19]) {
446  case 'C':
447    if (memEQ(name, "LIBSSH2_METHOD_MAC_CS", 21)) {
448    /*                                  ^        */
449#ifdef LIBSSH2_METHOD_MAC_CS
450      *iv_return = LIBSSH2_METHOD_MAC_CS;
451      return PERL_constant_ISIV;
452#else
453      return PERL_constant_NOTDEF;
454#endif
455    }
456    break;
457  case 'E':
458    if (memEQ(name, "LIBSSH2_POLLFD_POLLEX", 21)) {
459    /*                                  ^        */
460#ifdef LIBSSH2_POLLFD_POLLEX
461      *iv_return = LIBSSH2_POLLFD_POLLEX;
462      return PERL_constant_ISIV;
463#else
464      return PERL_constant_NOTDEF;
465#endif
466    }
467    if (memEQ(name, "LIBSSH2_POLLFD_SOCKET", 21)) {
468    /*                                  ^        */
469#ifdef LIBSSH2_POLLFD_SOCKET
470      *iv_return = LIBSSH2_POLLFD_SOCKET;
471      return PERL_constant_ISIV;
472#else
473      return PERL_constant_NOTDEF;
474#endif
475    }
476    break;
477  case 'I':
478    if (memEQ(name, "LIBSSH2_POLLFD_POLLIN", 21)) {
479    /*                                  ^        */
480#ifdef LIBSSH2_POLLFD_POLLIN
481      *iv_return = LIBSSH2_POLLFD_POLLIN;
482      return PERL_constant_ISIV;
483#else
484      return PERL_constant_NOTDEF;
485#endif
486    }
487    break;
488  case 'L':
489    if (memEQ(name, "LIBSSH2_SFTP_OPENFILE", 21)) {
490    /*                                  ^        */
491#ifdef LIBSSH2_SFTP_OPENFILE
492      *iv_return = LIBSSH2_SFTP_OPENFILE;
493      return PERL_constant_ISIV;
494#else
495      return PERL_constant_NOTDEF;
496#endif
497    }
498    break;
499  case 'N':
500    if (memEQ(name, "LIBSSH2_SFTP_READLINK", 21)) {
501    /*                                  ^        */
502#ifdef LIBSSH2_SFTP_READLINK
503      *iv_return = LIBSSH2_SFTP_READLINK;
504      return PERL_constant_ISIV;
505#else
506      return PERL_constant_NOTDEF;
507#endif
508    }
509    break;
510  case 'P':
511    if (memEQ(name, "LIBSSH2_ERROR_DECRYPT", 21)) {
512    /*                                  ^        */
513#ifdef LIBSSH2_ERROR_DECRYPT
514      *iv_return = LIBSSH2_ERROR_DECRYPT;
515      return PERL_constant_ISIV;
516#else
517      return PERL_constant_NOTDEF;
518#endif
519    }
520    if (memEQ(name, "LIBSSH2_TERM_WIDTH_PX", 21)) {
521    /*                                  ^        */
522#ifdef LIBSSH2_TERM_WIDTH_PX
523      *iv_return = LIBSSH2_TERM_WIDTH_PX;
524      return PERL_constant_ISIV;
525#else
526      return PERL_constant_NOTDEF;
527#endif
528    }
529    break;
530  case 'S':
531    if (memEQ(name, "LIBSSH2_FLAG_COMPRESS", 21)) {
532    /*                                  ^        */
533#ifdef LIBSSH2_FLAG_COMPRESS
534      *iv_return = LIBSSH2_FLAG_COMPRESS;
535      return PERL_constant_ISIV;
536#else
537      return PERL_constant_NOTDEF;
538#endif
539    }
540    if (memEQ(name, "LIBSSH2_METHOD_MAC_SC", 21)) {
541    /*                                  ^        */
542#ifdef LIBSSH2_METHOD_MAC_SC
543      *iv_return = LIBSSH2_METHOD_MAC_SC;
544      return PERL_constant_ISIV;
545#else
546      return PERL_constant_NOTDEF;
547#endif
548    }
549    break;
550  case 'T':
551    if (memEQ(name, "LIBSSH2_SFTP_REALPATH", 21)) {
552    /*                                  ^        */
553#ifdef LIBSSH2_SFTP_REALPATH
554      *iv_return = LIBSSH2_SFTP_REALPATH;
555      return PERL_constant_ISIV;
556#else
557      return PERL_constant_NOTDEF;
558#endif
559    }
560    break;
561  case 'U':
562    if (memEQ(name, "LIBSSH2_ERROR_TIMEOUT", 21)) {
563    /*                                  ^        */
564#ifdef LIBSSH2_ERROR_TIMEOUT
565      *iv_return = LIBSSH2_ERROR_TIMEOUT;
566      return PERL_constant_ISIV;
567#else
568      return PERL_constant_NOTDEF;
569#endif
570    }
571    break;
572  }
573  return PERL_constant_NOTFOUND;
574}
575
576static int
577constant_22 (pTHX_ const char *name, IV *iv_return) {
578  /* When generated this function returned values for the list of names given
579     here.  However, subsequent manual editing may have added or removed some.
580     LIBSSH2_CALLBACK_DEBUG LIBSSH2_FX_BAD_MESSAGE LIBSSH2_METHOD_COMP_CS
581     LIBSSH2_METHOD_COMP_SC LIBSSH2_METHOD_HOSTKEY LIBSSH2_METHOD_LANG_CS
582     LIBSSH2_METHOD_LANG_SC LIBSSH2_PACKET_MAXCOMP LIBSSH2_POLLFD_CHANNEL
583     LIBSSH2_POLLFD_POLLERR LIBSSH2_POLLFD_POLLEXT LIBSSH2_POLLFD_POLLHUP
584     LIBSSH2_POLLFD_POLLOUT LIBSSH2_POLLFD_POLLPRI LIBSSH2_SFTP_ATTR_SIZE
585     LIBSSH2_SFTP_TYPE_FIFO LIBSSH2_TERM_HEIGHT_PX */
586  /* Offset 21 gives the best switch position.  */
587  switch (name[21]) {
588  case 'C':
589    if (memEQ(name, "LIBSSH2_METHOD_COMP_S", 21)) {
590    /*                                    C      */
591#ifdef LIBSSH2_METHOD_COMP_SC
592      *iv_return = LIBSSH2_METHOD_COMP_SC;
593      return PERL_constant_ISIV;
594#else
595      return PERL_constant_NOTDEF;
596#endif
597    }
598    if (memEQ(name, "LIBSSH2_METHOD_LANG_S", 21)) {
599    /*                                    C      */
600#ifdef LIBSSH2_METHOD_LANG_SC
601      *iv_return = LIBSSH2_METHOD_LANG_SC;
602      return PERL_constant_ISIV;
603#else
604      return PERL_constant_NOTDEF;
605#endif
606    }
607    break;
608  case 'E':
609    if (memEQ(name, "LIBSSH2_FX_BAD_MESSAG", 21)) {
610    /*                                    E      */
611#ifdef LIBSSH2_FX_BAD_MESSAGE
612      *iv_return = LIBSSH2_FX_BAD_MESSAGE;
613      return PERL_constant_ISIV;
614#else
615      return PERL_constant_NOTDEF;
616#endif
617    }
618    if (memEQ(name, "LIBSSH2_SFTP_ATTR_SIZ", 21)) {
619    /*                                    E      */
620#ifdef LIBSSH2_SFTP_ATTR_SIZE
621      *iv_return = LIBSSH2_SFTP_ATTR_SIZE;
622      return PERL_constant_ISIV;
623#else
624      return PERL_constant_NOTDEF;
625#endif
626    }
627    break;
628  case 'G':
629    if (memEQ(name, "LIBSSH2_CALLBACK_DEBU", 21)) {
630    /*                                    G      */
631#ifdef LIBSSH2_CALLBACK_DEBUG
632      *iv_return = LIBSSH2_CALLBACK_DEBUG;
633      return PERL_constant_ISIV;
634#else
635      return PERL_constant_NOTDEF;
636#endif
637    }
638    break;
639  case 'I':
640    if (memEQ(name, "LIBSSH2_POLLFD_POLLPR", 21)) {
641    /*                                    I      */
642#ifdef LIBSSH2_POLLFD_POLLPRI
643      *iv_return = LIBSSH2_POLLFD_POLLPRI;
644      return PERL_constant_ISIV;
645#else
646      return PERL_constant_NOTDEF;
647#endif
648    }
649    break;
650  case 'L':
651    if (memEQ(name, "LIBSSH2_POLLFD_CHANNE", 21)) {
652    /*                                    L      */
653#ifdef LIBSSH2_POLLFD_CHANNEL
654      *iv_return = LIBSSH2_POLLFD_CHANNEL;
655      return PERL_constant_ISIV;
656#else
657      return PERL_constant_NOTDEF;
658#endif
659    }
660    break;
661  case 'O':
662    if (memEQ(name, "LIBSSH2_SFTP_TYPE_FIF", 21)) {
663    /*                                    O      */
664#ifdef LIBSSH2_SFTP_TYPE_FIFO
665      *iv_return = LIBSSH2_SFTP_TYPE_FIFO;
666      return PERL_constant_ISIV;
667#else
668      return PERL_constant_NOTDEF;
669#endif
670    }
671    break;
672  case 'P':
673    if (memEQ(name, "LIBSSH2_PACKET_MAXCOM", 21)) {
674    /*                                    P      */
675#ifdef LIBSSH2_PACKET_MAXCOMP
676      *iv_return = LIBSSH2_PACKET_MAXCOMP;
677      return PERL_constant_ISIV;
678#else
679      return PERL_constant_NOTDEF;
680#endif
681    }
682    if (memEQ(name, "LIBSSH2_POLLFD_POLLHU", 21)) {
683    /*                                    P      */
684#ifdef LIBSSH2_POLLFD_POLLHUP
685      *iv_return = LIBSSH2_POLLFD_POLLHUP;
686      return PERL_constant_ISIV;
687#else
688      return PERL_constant_NOTDEF;
689#endif
690    }
691    break;
692  case 'R':
693    if (memEQ(name, "LIBSSH2_POLLFD_POLLER", 21)) {
694    /*                                    R      */
695#ifdef LIBSSH2_POLLFD_POLLERR
696      *iv_return = LIBSSH2_POLLFD_POLLERR;
697      return PERL_constant_ISIV;
698#else
699      return PERL_constant_NOTDEF;
700#endif
701    }
702    break;
703  case 'S':
704    if (memEQ(name, "LIBSSH2_METHOD_COMP_C", 21)) {
705    /*                                    S      */
706#ifdef LIBSSH2_METHOD_COMP_CS
707      *iv_return = LIBSSH2_METHOD_COMP_CS;
708      return PERL_constant_ISIV;
709#else
710      return PERL_constant_NOTDEF;
711#endif
712    }
713    if (memEQ(name, "LIBSSH2_METHOD_LANG_C", 21)) {
714    /*                                    S      */
715#ifdef LIBSSH2_METHOD_LANG_CS
716      *iv_return = LIBSSH2_METHOD_LANG_CS;
717      return PERL_constant_ISIV;
718#else
719      return PERL_constant_NOTDEF;
720#endif
721    }
722    break;
723  case 'T':
724    if (memEQ(name, "LIBSSH2_POLLFD_POLLEX", 21)) {
725    /*                                    T      */
726#ifdef LIBSSH2_POLLFD_POLLEXT
727      *iv_return = LIBSSH2_POLLFD_POLLEXT;
728      return PERL_constant_ISIV;
729#else
730      return PERL_constant_NOTDEF;
731#endif
732    }
733    if (memEQ(name, "LIBSSH2_POLLFD_POLLOU", 21)) {
734    /*                                    T      */
735#ifdef LIBSSH2_POLLFD_POLLOUT
736      *iv_return = LIBSSH2_POLLFD_POLLOUT;
737      return PERL_constant_ISIV;
738#else
739      return PERL_constant_NOTDEF;
740#endif
741    }
742    break;
743  case 'X':
744    if (memEQ(name, "LIBSSH2_TERM_HEIGHT_P", 21)) {
745    /*                                    X      */
746#ifdef LIBSSH2_TERM_HEIGHT_PX
747      *iv_return = LIBSSH2_TERM_HEIGHT_PX;
748      return PERL_constant_ISIV;
749#else
750      return PERL_constant_NOTDEF;
751#endif
752    }
753    break;
754  case 'Y':
755    if (memEQ(name, "LIBSSH2_METHOD_HOSTKE", 21)) {
756    /*                                    Y      */
757#ifdef LIBSSH2_METHOD_HOSTKEY
758      *iv_return = LIBSSH2_METHOD_HOSTKEY;
759      return PERL_constant_ISIV;
760#else
761      return PERL_constant_NOTDEF;
762#endif
763    }
764    break;
765  }
766  return PERL_constant_NOTFOUND;
767}
768
769static int
770constant_23 (pTHX_ const char *name, IV *iv_return) {
771  /* When generated this function returned values for the list of names given
772     here.  However, subsequent manual editing may have added or removed some.
773     LIBSSH2_CALLBACK_IGNORE LIBSSH2_DH_GEX_MAXGROUP LIBSSH2_DH_GEX_MINGROUP
774     LIBSSH2_DH_GEX_OPTGROUP LIBSSH2_FX_NO_SUCH_FILE LIBSSH2_FX_NO_SUCH_PATH
775     LIBSSH2_METHOD_CRYPT_CS LIBSSH2_METHOD_CRYPT_SC LIBSSH2_POLLFD_LISTENER
776     LIBSSH2_POLLFD_POLLNVAL LIBSSH2_TRACE_PUBLICKEY */
777  /* Offset 17 gives the best switch position.  */
778  switch (name[17]) {
779  case 'H':
780    if (memEQ(name, "LIBSSH2_FX_NO_SUCH_FILE", 23)) {
781    /*                                ^            */
782#ifdef LIBSSH2_FX_NO_SUCH_FILE
783      *iv_return = LIBSSH2_FX_NO_SUCH_FILE;
784      return PERL_constant_ISIV;
785#else
786      return PERL_constant_NOTDEF;
787#endif
788    }
789    if (memEQ(name, "LIBSSH2_FX_NO_SUCH_PATH", 23)) {
790    /*                                ^            */
791#ifdef LIBSSH2_FX_NO_SUCH_PATH
792      *iv_return = LIBSSH2_FX_NO_SUCH_PATH;
793      return PERL_constant_ISIV;
794#else
795      return PERL_constant_NOTDEF;
796#endif
797    }
798    break;
799  case 'I':
800    if (memEQ(name, "LIBSSH2_CALLBACK_IGNORE", 23)) {
801    /*                                ^            */
802#ifdef LIBSSH2_CALLBACK_IGNORE
803      *iv_return = LIBSSH2_CALLBACK_IGNORE;
804      return PERL_constant_ISIV;
805#else
806      return PERL_constant_NOTDEF;
807#endif
808    }
809    break;
810  case 'L':
811    if (memEQ(name, "LIBSSH2_POLLFD_POLLNVAL", 23)) {
812    /*                                ^            */
813#ifdef LIBSSH2_POLLFD_POLLNVAL
814      *iv_return = LIBSSH2_POLLFD_POLLNVAL;
815      return PERL_constant_ISIV;
816#else
817      return PERL_constant_NOTDEF;
818#endif
819    }
820    if (memEQ(name, "LIBSSH2_TRACE_PUBLICKEY", 23)) {
821    /*                                ^            */
822#ifdef LIBSSH2_TRACE_PUBLICKEY
823      *iv_return = LIBSSH2_TRACE_PUBLICKEY;
824      return PERL_constant_ISIV;
825#else
826      return PERL_constant_NOTDEF;
827#endif
828    }
829    break;
830  case 'N':
831    if (memEQ(name, "LIBSSH2_DH_GEX_MINGROUP", 23)) {
832    /*                                ^            */
833#ifdef LIBSSH2_DH_GEX_MINGROUP
834      *iv_return = LIBSSH2_DH_GEX_MINGROUP;
835      return PERL_constant_ISIV;
836#else
837      return PERL_constant_NOTDEF;
838#endif
839    }
840    break;
841  case 'S':
842    if (memEQ(name, "LIBSSH2_POLLFD_LISTENER", 23)) {
843    /*                                ^            */
844#ifdef LIBSSH2_POLLFD_LISTENER
845      *iv_return = LIBSSH2_POLLFD_LISTENER;
846      return PERL_constant_ISIV;
847#else
848      return PERL_constant_NOTDEF;
849#endif
850    }
851    break;
852  case 'T':
853    if (memEQ(name, "LIBSSH2_DH_GEX_OPTGROUP", 23)) {
854    /*                                ^            */
855#ifdef LIBSSH2_DH_GEX_OPTGROUP
856      *iv_return = LIBSSH2_DH_GEX_OPTGROUP;
857      return PERL_constant_ISIV;
858#else
859      return PERL_constant_NOTDEF;
860#endif
861    }
862    break;
863  case 'X':
864    if (memEQ(name, "LIBSSH2_DH_GEX_MAXGROUP", 23)) {
865    /*                                ^            */
866#ifdef LIBSSH2_DH_GEX_MAXGROUP
867      *iv_return = LIBSSH2_DH_GEX_MAXGROUP;
868      return PERL_constant_ISIV;
869#else
870      return PERL_constant_NOTDEF;
871#endif
872    }
873    break;
874  case 'Y':
875    if (memEQ(name, "LIBSSH2_METHOD_CRYPT_CS", 23)) {
876    /*                                ^            */
877#ifdef LIBSSH2_METHOD_CRYPT_CS
878      *iv_return = LIBSSH2_METHOD_CRYPT_CS;
879      return PERL_constant_ISIV;
880#else
881      return PERL_constant_NOTDEF;
882#endif
883    }
884    if (memEQ(name, "LIBSSH2_METHOD_CRYPT_SC", 23)) {
885    /*                                ^            */
886#ifdef LIBSSH2_METHOD_CRYPT_SC
887      *iv_return = LIBSSH2_METHOD_CRYPT_SC;
888      return PERL_constant_ISIV;
889#else
890      return PERL_constant_NOTDEF;
891#endif
892    }
893    break;
894  }
895  return PERL_constant_NOTFOUND;
896}
897
898static int
899constant_24 (pTHX_ const char *name, IV *iv_return) {
900  /* When generated this function returned values for the list of names given
901     here.  However, subsequent manual editing may have added or removed some.
902     LIBSSH2_FX_DIR_NOT_EMPTY LIBSSH2_FX_LOCK_CONFlICT LIBSSH2_FX_NO_CONNECTION
903     LIBSSH2_FX_WRITE_PROTECT LIBSSH2_HOSTKEY_HASH_MD5 LIBSSH2_PACKET_MAXDECOMP
904     LIBSSH2_SFTP_ATTR_UIDGID LIBSSH2_SFTP_TYPE_SOCKET SSH_EXTENDED_DATA_STDERR
905     */
906  /* Offset 22 gives the best switch position.  */
907  switch (name[22]) {
908  case 'C':
909    if (memEQ(name, "LIBSSH2_FX_LOCK_CONFlICT", 24)) {
910    /*                                     ^        */
911#ifdef LIBSSH2_FX_LOCK_CONFlICT
912      *iv_return = LIBSSH2_FX_LOCK_CONFlICT;
913      return PERL_constant_ISIV;
914#else
915      return PERL_constant_NOTDEF;
916#endif
917    }
918    if (memEQ(name, "LIBSSH2_FX_WRITE_PROTECT", 24)) {
919    /*                                     ^        */
920#ifdef LIBSSH2_FX_WRITE_PROTECT
921      *iv_return = LIBSSH2_FX_WRITE_PROTECT;
922      return PERL_constant_ISIV;
923#else
924      return PERL_constant_NOTDEF;
925#endif
926    }
927    break;
928  case 'D':
929    if (memEQ(name, "LIBSSH2_HOSTKEY_HASH_MD5", 24)) {
930    /*                                     ^        */
931#ifdef LIBSSH2_HOSTKEY_HASH_MD5
932      *iv_return = LIBSSH2_HOSTKEY_HASH_MD5;
933      return PERL_constant_ISIV;
934#else
935      return PERL_constant_NOTDEF;
936#endif
937    }
938    break;
939  case 'E':
940    if (memEQ(name, "LIBSSH2_SFTP_TYPE_SOCKET", 24)) {
941    /*                                     ^        */
942#ifdef LIBSSH2_SFTP_TYPE_SOCKET
943      *iv_return = LIBSSH2_SFTP_TYPE_SOCKET;
944      return PERL_constant_ISIV;
945#else
946      return PERL_constant_NOTDEF;
947#endif
948    }
949    break;
950  case 'I':
951    if (memEQ(name, "LIBSSH2_SFTP_ATTR_UIDGID", 24)) {
952    /*                                     ^        */
953#ifdef LIBSSH2_SFTP_ATTR_UIDGID
954      *iv_return = LIBSSH2_SFTP_ATTR_UIDGID;
955      return PERL_constant_ISIV;
956#else
957      return PERL_constant_NOTDEF;
958#endif
959    }
960    break;
961  case 'M':
962    if (memEQ(name, "LIBSSH2_PACKET_MAXDECOMP", 24)) {
963    /*                                     ^        */
964#ifdef LIBSSH2_PACKET_MAXDECOMP
965      *iv_return = LIBSSH2_PACKET_MAXDECOMP;
966      return PERL_constant_ISIV;
967#else
968      return PERL_constant_NOTDEF;
969#endif
970    }
971    break;
972  case 'O':
973    if (memEQ(name, "LIBSSH2_FX_NO_CONNECTION", 24)) {
974    /*                                     ^        */
975#ifdef LIBSSH2_FX_NO_CONNECTION
976      *iv_return = LIBSSH2_FX_NO_CONNECTION;
977      return PERL_constant_ISIV;
978#else
979      return PERL_constant_NOTDEF;
980#endif
981    }
982    break;
983  case 'R':
984    if (memEQ(name, "SSH_EXTENDED_DATA_STDERR", 24)) {
985    /*                                     ^        */
986#ifdef SSH_EXTENDED_DATA_STDERR
987      *iv_return = SSH_EXTENDED_DATA_STDERR;
988      return PERL_constant_ISIV;
989#else
990      return PERL_constant_NOTDEF;
991#endif
992    }
993    break;
994  case 'T':
995    if (memEQ(name, "LIBSSH2_FX_DIR_NOT_EMPTY", 24)) {
996    /*                                     ^        */
997#ifdef LIBSSH2_FX_DIR_NOT_EMPTY
998      *iv_return = LIBSSH2_FX_DIR_NOT_EMPTY;
999      return PERL_constant_ISIV;
1000#else
1001      return PERL_constant_NOTDEF;
1002#endif
1003    }
1004    break;
1005  }
1006  return PERL_constant_NOTFOUND;
1007}
1008
1009static int
1010constant_25 (pTHX_ const char *name, IV *iv_return) {
1011  /* When generated this function returned values for the list of names given
1012     here.  However, subsequent manual editing may have added or removed some.
1013     LIBSSH2_CALLBACK_MACERROR LIBSSH2_CHANNEL_FLUSH_ALL
1014     LIBSSH2_CHANNEL_MINADJUST LIBSSH2_ERROR_BANNER_NONE
1015     LIBSSH2_ERROR_BANNER_SEND LIBSSH2_ERROR_INVALID_MAC
1016     LIBSSH2_ERROR_KEX_FAILURE LIBSSH2_ERROR_KNOWN_HOSTS
1017     LIBSSH2_ERROR_METHOD_NONE LIBSSH2_ERROR_SOCKET_NONE
1018     LIBSSH2_ERROR_SOCKET_SEND LIBSSH2_FX_INVALID_HANDLE
1019     LIBSSH2_FX_OP_UNSUPPORTED LIBSSH2_FX_QUOTA_EXCEEDED
1020     LIBSSH2_HOSTKEY_HASH_SHA1 LIBSSH2_PACKET_MAXPAYLOAD
1021     LIBSSH2_SFTP_TYPE_REGULAR LIBSSH2_SFTP_TYPE_SPECIAL
1022     LIBSSH2_SFTP_TYPE_SYMLINK LIBSSH2_SFTP_TYPE_UNKNOWN */
1023  /* Offset 16 gives the best switch position.  */
1024  switch (name[16]) {
1025  case 'A':
1026    if (memEQ(name, "LIBSSH2_PACKET_MAXPAYLOAD", 25)) {
1027    /*                               ^               */
1028#ifdef LIBSSH2_PACKET_MAXPAYLOAD
1029      *iv_return = LIBSSH2_PACKET_MAXPAYLOAD;
1030      return PERL_constant_ISIV;
1031#else
1032      return PERL_constant_NOTDEF;
1033#endif
1034    }
1035    break;
1036  case 'C':
1037    if (memEQ(name, "LIBSSH2_ERROR_SOCKET_NONE", 25)) {
1038    /*                               ^               */
1039#ifdef LIBSSH2_ERROR_SOCKET_NONE
1040      *iv_return = LIBSSH2_ERROR_SOCKET_NONE;
1041      return PERL_constant_ISIV;
1042#else
1043      return PERL_constant_NOTDEF;
1044#endif
1045    }
1046    if (memEQ(name, "LIBSSH2_ERROR_SOCKET_SEND", 25)) {
1047    /*                               ^               */
1048#ifdef LIBSSH2_ERROR_SOCKET_SEND
1049      *iv_return = LIBSSH2_ERROR_SOCKET_SEND;
1050      return PERL_constant_ISIV;
1051#else
1052      return PERL_constant_NOTDEF;
1053#endif
1054    }
1055    break;
1056  case 'E':
1057    if (memEQ(name, "LIBSSH2_SFTP_TYPE_REGULAR", 25)) {
1058    /*                               ^               */
1059#ifdef LIBSSH2_SFTP_TYPE_REGULAR
1060      *iv_return = LIBSSH2_SFTP_TYPE_REGULAR;
1061      return PERL_constant_ISIV;
1062#else
1063      return PERL_constant_NOTDEF;
1064#endif
1065    }
1066    if (memEQ(name, "LIBSSH2_SFTP_TYPE_SPECIAL", 25)) {
1067    /*                               ^               */
1068#ifdef LIBSSH2_SFTP_TYPE_SPECIAL
1069      *iv_return = LIBSSH2_SFTP_TYPE_SPECIAL;
1070      return PERL_constant_ISIV;
1071#else
1072      return PERL_constant_NOTDEF;
1073#endif
1074    }
1075    if (memEQ(name, "LIBSSH2_SFTP_TYPE_SYMLINK", 25)) {
1076    /*                               ^               */
1077#ifdef LIBSSH2_SFTP_TYPE_SYMLINK
1078      *iv_return = LIBSSH2_SFTP_TYPE_SYMLINK;
1079      return PERL_constant_ISIV;
1080#else
1081      return PERL_constant_NOTDEF;
1082#endif
1083    }
1084    if (memEQ(name, "LIBSSH2_SFTP_TYPE_UNKNOWN", 25)) {
1085    /*                               ^               */
1086#ifdef LIBSSH2_SFTP_TYPE_UNKNOWN
1087      *iv_return = LIBSSH2_SFTP_TYPE_UNKNOWN;
1088      return PERL_constant_ISIV;
1089#else
1090      return PERL_constant_NOTDEF;
1091#endif
1092    }
1093    break;
1094  case 'F':
1095    if (memEQ(name, "LIBSSH2_CHANNEL_FLUSH_ALL", 25)) {
1096    /*                               ^               */
1097#ifdef LIBSSH2_CHANNEL_FLUSH_ALL
1098      *iv_return = LIBSSH2_CHANNEL_FLUSH_ALL;
1099      return PERL_constant_ISIV;
1100#else
1101      return PERL_constant_NOTDEF;
1102#endif
1103    }
1104    break;
1105  case 'H':
1106    if (memEQ(name, "LIBSSH2_HOSTKEY_HASH_SHA1", 25)) {
1107    /*                               ^               */
1108#ifdef LIBSSH2_HOSTKEY_HASH_SHA1
1109      *iv_return = LIBSSH2_HOSTKEY_HASH_SHA1;
1110      return PERL_constant_ISIV;
1111#else
1112      return PERL_constant_NOTDEF;
1113#endif
1114    }
1115    break;
1116  case 'I':
1117    if (memEQ(name, "LIBSSH2_FX_INVALID_HANDLE", 25)) {
1118    /*                               ^               */
1119#ifdef LIBSSH2_FX_INVALID_HANDLE
1120      *iv_return = LIBSSH2_FX_INVALID_HANDLE;
1121      return PERL_constant_ISIV;
1122#else
1123      return PERL_constant_NOTDEF;
1124#endif
1125    }
1126    break;
1127  case 'M':
1128    if (memEQ(name, "LIBSSH2_CHANNEL_MINADJUST", 25)) {
1129    /*                               ^               */
1130#ifdef LIBSSH2_CHANNEL_MINADJUST
1131      *iv_return = LIBSSH2_CHANNEL_MINADJUST;
1132      return PERL_constant_ISIV;
1133#else
1134      return PERL_constant_NOTDEF;
1135#endif
1136    }
1137    break;
1138  case 'N':
1139    if (memEQ(name, "LIBSSH2_ERROR_BANNER_NONE", 25)) {
1140    /*                               ^               */
1141#ifdef LIBSSH2_ERROR_BANNER_NONE
1142      *iv_return = LIBSSH2_ERROR_BANNER_NONE;
1143      return PERL_constant_ISIV;
1144#else
1145      return PERL_constant_NOTDEF;
1146#endif
1147    }
1148    if (memEQ(name, "LIBSSH2_ERROR_BANNER_SEND", 25)) {
1149    /*                               ^               */
1150#ifdef LIBSSH2_ERROR_BANNER_SEND
1151      *iv_return = LIBSSH2_ERROR_BANNER_SEND;
1152      return PERL_constant_ISIV;
1153#else
1154      return PERL_constant_NOTDEF;
1155#endif
1156    }
1157    break;
1158  case 'O':
1159    if (memEQ(name, "LIBSSH2_ERROR_KNOWN_HOSTS", 25)) {
1160    /*                               ^               */
1161#ifdef LIBSSH2_ERROR_KNOWN_HOSTS
1162      *iv_return = LIBSSH2_ERROR_KNOWN_HOSTS;
1163      return PERL_constant_ISIV;
1164#else
1165      return PERL_constant_NOTDEF;
1166#endif
1167    }
1168    break;
1169  case 'S':
1170    if (memEQ(name, "LIBSSH2_FX_OP_UNSUPPORTED", 25)) {
1171    /*                               ^               */
1172#ifdef LIBSSH2_FX_OP_UNSUPPORTED
1173      *iv_return = LIBSSH2_FX_OP_UNSUPPORTED;
1174      return PERL_constant_ISIV;
1175#else
1176      return PERL_constant_NOTDEF;
1177#endif
1178    }
1179    break;
1180  case 'T':
1181    if (memEQ(name, "LIBSSH2_ERROR_METHOD_NONE", 25)) {
1182    /*                               ^               */
1183#ifdef LIBSSH2_ERROR_METHOD_NONE
1184      *iv_return = LIBSSH2_ERROR_METHOD_NONE;
1185      return PERL_constant_ISIV;
1186#else
1187      return PERL_constant_NOTDEF;
1188#endif
1189    }
1190    break;
1191  case 'V':
1192    if (memEQ(name, "LIBSSH2_ERROR_INVALID_MAC", 25)) {
1193    /*                               ^               */
1194#ifdef LIBSSH2_ERROR_INVALID_MAC
1195      *iv_return = LIBSSH2_ERROR_INVALID_MAC;
1196      return PERL_constant_ISIV;
1197#else
1198      return PERL_constant_NOTDEF;
1199#endif
1200    }
1201    break;
1202  case 'X':
1203    if (memEQ(name, "LIBSSH2_ERROR_KEX_FAILURE", 25)) {
1204    /*                               ^               */
1205#ifdef LIBSSH2_ERROR_KEX_FAILURE
1206      *iv_return = LIBSSH2_ERROR_KEX_FAILURE;
1207      return PERL_constant_ISIV;
1208#else
1209      return PERL_constant_NOTDEF;
1210#endif
1211    }
1212    break;
1213  case '_':
1214    if (memEQ(name, "LIBSSH2_CALLBACK_MACERROR", 25)) {
1215    /*                               ^               */
1216#ifdef LIBSSH2_CALLBACK_MACERROR
1217      *iv_return = LIBSSH2_CALLBACK_MACERROR;
1218      return PERL_constant_ISIV;
1219#else
1220      return PERL_constant_NOTDEF;
1221#endif
1222    }
1223    if (memEQ(name, "LIBSSH2_FX_QUOTA_EXCEEDED", 25)) {
1224    /*                               ^               */
1225#ifdef LIBSSH2_FX_QUOTA_EXCEEDED
1226      *iv_return = LIBSSH2_FX_QUOTA_EXCEEDED;
1227      return PERL_constant_ISIV;
1228#else
1229      return PERL_constant_NOTDEF;
1230#endif
1231    }
1232    break;
1233  }
1234  return PERL_constant_NOTFOUND;
1235}
1236
1237static int
1238constant_26 (pTHX_ const char *name, IV *iv_return) {
1239  /* When generated this function returned values for the list of names given
1240     here.  However, subsequent manual editing may have added or removed some.
1241     LIBSSH2_ERROR_HOSTKEY_INIT LIBSSH2_ERROR_HOSTKEY_SIGN
1242     LIBSSH2_ERROR_SCP_PROTOCOL LIBSSH2_FX_CONNECTION_LOST
1243     LIBSSH2_FX_NOT_A_DIRECTORY LIBSSH2_HOSTKEY_POLICY_ASK
1244     LIBSSH2_KNOWNHOST_KEY_MASK LIBSSH2_KNOWNHOST_KEY_RSA1
1245     LIBSSH2_SFTP_ATTR_EXTENDED LIBSSH2_SFTP_PACKET_MAXLEN
1246     LIBSSH2_SFTP_RENAME_ATOMIC LIBSSH2_SFTP_RENAME_NATIVE
1247     LIBSSH2_SOCKET_POLL_UDELAY */
1248  /* Offset 22 gives the best switch position.  */
1249  switch (name[22]) {
1250  case 'E':
1251    if (memEQ(name, "LIBSSH2_SOCKET_POLL_UDELAY", 26)) {
1252    /*                                     ^          */
1253#ifdef LIBSSH2_SOCKET_POLL_UDELAY
1254      *iv_return = LIBSSH2_SOCKET_POLL_UDELAY;
1255      return PERL_constant_ISIV;
1256#else
1257      return PERL_constant_NOTDEF;
1258#endif
1259    }
1260    break;
1261  case 'I':
1262    if (memEQ(name, "LIBSSH2_ERROR_HOSTKEY_INIT", 26)) {
1263    /*                                     ^          */
1264#ifdef LIBSSH2_ERROR_HOSTKEY_INIT
1265      *iv_return = LIBSSH2_ERROR_HOSTKEY_INIT;
1266      return PERL_constant_ISIV;
1267#else
1268      return PERL_constant_NOTDEF;
1269#endif
1270    }
1271    break;
1272  case 'L':
1273    if (memEQ(name, "LIBSSH2_FX_CONNECTION_LOST", 26)) {
1274    /*                                     ^          */
1275#ifdef LIBSSH2_FX_CONNECTION_LOST
1276      *iv_return = LIBSSH2_FX_CONNECTION_LOST;
1277      return PERL_constant_ISIV;
1278#else
1279      return PERL_constant_NOTDEF;
1280#endif
1281    }
1282    break;
1283  case 'M':
1284    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEY_MASK", 26)) {
1285    /*                                     ^          */
1286#ifdef LIBSSH2_KNOWNHOST_KEY_MASK
1287      *iv_return = LIBSSH2_KNOWNHOST_KEY_MASK;
1288      return PERL_constant_ISIV;
1289#else
1290      return PERL_constant_NOTDEF;
1291#endif
1292    }
1293    break;
1294  case 'N':
1295    if (memEQ(name, "LIBSSH2_SFTP_ATTR_EXTENDED", 26)) {
1296    /*                                     ^          */
1297#ifdef LIBSSH2_SFTP_ATTR_EXTENDED
1298      *iv_return = LIBSSH2_SFTP_ATTR_EXTENDED;
1299      return PERL_constant_ISIV;
1300#else
1301      return PERL_constant_NOTDEF;
1302#endif
1303    }
1304    break;
1305  case 'O':
1306    if (memEQ(name, "LIBSSH2_ERROR_SCP_PROTOCOL", 26)) {
1307    /*                                     ^          */
1308#ifdef LIBSSH2_ERROR_SCP_PROTOCOL
1309      *iv_return = LIBSSH2_ERROR_SCP_PROTOCOL;
1310      return PERL_constant_ISIV;
1311#else
1312      return PERL_constant_NOTDEF;
1313#endif
1314    }
1315    if (memEQ(name, "LIBSSH2_SFTP_RENAME_ATOMIC", 26)) {
1316    /*                                     ^          */
1317#ifdef LIBSSH2_SFTP_RENAME_ATOMIC
1318      *iv_return = LIBSSH2_SFTP_RENAME_ATOMIC;
1319      return PERL_constant_ISIV;
1320#else
1321      return PERL_constant_NOTDEF;
1322#endif
1323    }
1324    break;
1325  case 'R':
1326    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEY_RSA1", 26)) {
1327    /*                                     ^          */
1328#ifdef LIBSSH2_KNOWNHOST_KEY_RSA1
1329      *iv_return = LIBSSH2_KNOWNHOST_KEY_RSA1;
1330      return PERL_constant_ISIV;
1331#else
1332      return PERL_constant_NOTDEF;
1333#endif
1334    }
1335    break;
1336  case 'S':
1337    if (memEQ(name, "LIBSSH2_ERROR_HOSTKEY_SIGN", 26)) {
1338    /*                                     ^          */
1339#ifdef LIBSSH2_ERROR_HOSTKEY_SIGN
1340      *iv_return = LIBSSH2_ERROR_HOSTKEY_SIGN;
1341      return PERL_constant_ISIV;
1342#else
1343      return PERL_constant_NOTDEF;
1344#endif
1345    }
1346    break;
1347  case 'T':
1348    if (memEQ(name, "LIBSSH2_FX_NOT_A_DIRECTORY", 26)) {
1349    /*                                     ^          */
1350#ifdef LIBSSH2_FX_NOT_A_DIRECTORY
1351      *iv_return = LIBSSH2_FX_NOT_A_DIRECTORY;
1352      return PERL_constant_ISIV;
1353#else
1354      return PERL_constant_NOTDEF;
1355#endif
1356    }
1357    if (memEQ(name, "LIBSSH2_SFTP_RENAME_NATIVE", 26)) {
1358    /*                                     ^          */
1359#ifdef LIBSSH2_SFTP_RENAME_NATIVE
1360      *iv_return = LIBSSH2_SFTP_RENAME_NATIVE;
1361      return PERL_constant_ISIV;
1362#else
1363      return PERL_constant_NOTDEF;
1364#endif
1365    }
1366    break;
1367  case 'X':
1368    if (memEQ(name, "LIBSSH2_SFTP_PACKET_MAXLEN", 26)) {
1369    /*                                     ^          */
1370#ifdef LIBSSH2_SFTP_PACKET_MAXLEN
1371      *iv_return = LIBSSH2_SFTP_PACKET_MAXLEN;
1372      return PERL_constant_ISIV;
1373#else
1374      return PERL_constant_NOTDEF;
1375#endif
1376    }
1377    break;
1378  case '_':
1379    if (memEQ(name, "LIBSSH2_HOSTKEY_POLICY_ASK", 26)) {
1380    /*                                     ^          */
1381#ifdef LIBSSH2_HOSTKEY_POLICY_ASK
1382      *iv_return = LIBSSH2_HOSTKEY_POLICY_ASK;
1383      return PERL_constant_ISIV;
1384#else
1385      return PERL_constant_NOTDEF;
1386#endif
1387    }
1388    break;
1389  }
1390  return PERL_constant_NOTFOUND;
1391}
1392
1393static int
1394constant_27 (pTHX_ const char *name, IV *iv_return) {
1395  /* When generated this function returned values for the list of names given
1396     here.  However, subsequent manual editing may have added or removed some.
1397     LIBSSH2_CALLBACK_DISCONNECT LIBSSH2_ERROR_SFTP_PROTOCOL
1398     LIBSSH2_FX_INVALID_FILENAME LIBSSH2_HOSTKEY_POLICY_TOFU
1399     LIBSSH2_KNOWNHOST_KEY_SHIFT LIBSSH2_KNOWNHOST_TYPE_MASK
1400     LIBSSH2_KNOWNHOST_TYPE_SHA1 LIBSSH2_SFTP_ATTR_ACMODTIME
1401     LIBSSH2_SFTP_TYPE_DIRECTORY */
1402  /* Offset 25 gives the best switch position.  */
1403  switch (name[25]) {
1404  case 'A':
1405    if (memEQ(name, "LIBSSH2_KNOWNHOST_TYPE_SHA1", 27)) {
1406    /*                                        ^        */
1407#ifdef LIBSSH2_KNOWNHOST_TYPE_SHA1
1408      *iv_return = LIBSSH2_KNOWNHOST_TYPE_SHA1;
1409      return PERL_constant_ISIV;
1410#else
1411      return PERL_constant_NOTDEF;
1412#endif
1413    }
1414    break;
1415  case 'C':
1416    if (memEQ(name, "LIBSSH2_CALLBACK_DISCONNECT", 27)) {
1417    /*                                        ^        */
1418#ifdef LIBSSH2_CALLBACK_DISCONNECT
1419      *iv_return = LIBSSH2_CALLBACK_DISCONNECT;
1420      return PERL_constant_ISIV;
1421#else
1422      return PERL_constant_NOTDEF;
1423#endif
1424    }
1425    break;
1426  case 'F':
1427    if (memEQ(name, "LIBSSH2_HOSTKEY_POLICY_TOFU", 27)) {
1428    /*                                        ^        */
1429#ifdef LIBSSH2_HOSTKEY_POLICY_TOFU
1430      *iv_return = LIBSSH2_HOSTKEY_POLICY_TOFU;
1431      return PERL_constant_ISIV;
1432#else
1433      return PERL_constant_NOTDEF;
1434#endif
1435    }
1436    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEY_SHIFT", 27)) {
1437    /*                                        ^        */
1438#ifdef LIBSSH2_KNOWNHOST_KEY_SHIFT
1439      *iv_return = LIBSSH2_KNOWNHOST_KEY_SHIFT;
1440      return PERL_constant_ISIV;
1441#else
1442      return PERL_constant_NOTDEF;
1443#endif
1444    }
1445    break;
1446  case 'M':
1447    if (memEQ(name, "LIBSSH2_FX_INVALID_FILENAME", 27)) {
1448    /*                                        ^        */
1449#ifdef LIBSSH2_FX_INVALID_FILENAME
1450      *iv_return = LIBSSH2_FX_INVALID_FILENAME;
1451      return PERL_constant_ISIV;
1452#else
1453      return PERL_constant_NOTDEF;
1454#endif
1455    }
1456    if (memEQ(name, "LIBSSH2_SFTP_ATTR_ACMODTIME", 27)) {
1457    /*                                        ^        */
1458#ifdef LIBSSH2_SFTP_ATTR_ACMODTIME
1459      *iv_return = LIBSSH2_SFTP_ATTR_ACMODTIME;
1460      return PERL_constant_ISIV;
1461#else
1462      return PERL_constant_NOTDEF;
1463#endif
1464    }
1465    break;
1466  case 'O':
1467    if (memEQ(name, "LIBSSH2_ERROR_SFTP_PROTOCOL", 27)) {
1468    /*                                        ^        */
1469#ifdef LIBSSH2_ERROR_SFTP_PROTOCOL
1470      *iv_return = LIBSSH2_ERROR_SFTP_PROTOCOL;
1471      return PERL_constant_ISIV;
1472#else
1473      return PERL_constant_NOTDEF;
1474#endif
1475    }
1476    break;
1477  case 'R':
1478    if (memEQ(name, "LIBSSH2_SFTP_TYPE_DIRECTORY", 27)) {
1479    /*                                        ^        */
1480#ifdef LIBSSH2_SFTP_TYPE_DIRECTORY
1481      *iv_return = LIBSSH2_SFTP_TYPE_DIRECTORY;
1482      return PERL_constant_ISIV;
1483#else
1484      return PERL_constant_NOTDEF;
1485#endif
1486    }
1487    break;
1488  case 'S':
1489    if (memEQ(name, "LIBSSH2_KNOWNHOST_TYPE_MASK", 27)) {
1490    /*                                        ^        */
1491#ifdef LIBSSH2_KNOWNHOST_TYPE_MASK
1492      *iv_return = LIBSSH2_KNOWNHOST_TYPE_MASK;
1493      return PERL_constant_ISIV;
1494#else
1495      return PERL_constant_NOTDEF;
1496#endif
1497    }
1498    break;
1499  }
1500  return PERL_constant_NOTFOUND;
1501}
1502
1503static int
1504constant_28 (pTHX_ const char *name, IV *iv_return) {
1505  /* When generated this function returned values for the list of names given
1506     here.  However, subsequent manual editing may have added or removed some.
1507     LIBSSH2_CHANNEL_FLUSH_STDERR LIBSSH2_ERROR_CHANNEL_CLOSED
1508     LIBSSH2_ERROR_REQUEST_DENIED LIBSSH2_ERROR_SOCKET_TIMEOUT
1509     LIBSSH2_EXTENDED_DATA_STDERR LIBSSH2_FX_PERMISSION_DENIED
1510     LIBSSH2_FX_UNKNOWN_PRINCIPLE LIBSSH2_KNOWNHOST_KEYENC_RAW
1511     LIBSSH2_KNOWNHOST_KEY_SSHDSS LIBSSH2_KNOWNHOST_KEY_SSHRSA
1512     LIBSSH2_KNOWNHOST_TYPE_PLAIN LIBSSH2_SOCKET_POLL_MAXLOOPS */
1513  /* Offset 20 gives the best switch position.  */
1514  switch (name[20]) {
1515  case 'A':
1516    if (memEQ(name, "LIBSSH2_EXTENDED_DATA_STDERR", 28)) {
1517    /*                                   ^              */
1518#ifdef LIBSSH2_EXTENDED_DATA_STDERR
1519      *iv_return = LIBSSH2_EXTENDED_DATA_STDERR;
1520      return PERL_constant_ISIV;
1521#else
1522      return PERL_constant_NOTDEF;
1523#endif
1524    }
1525    break;
1526  case 'H':
1527    if (memEQ(name, "LIBSSH2_CHANNEL_FLUSH_STDERR", 28)) {
1528    /*                                   ^              */
1529#ifdef LIBSSH2_CHANNEL_FLUSH_STDERR
1530      *iv_return = LIBSSH2_CHANNEL_FLUSH_STDERR;
1531      return PERL_constant_ISIV;
1532#else
1533      return PERL_constant_NOTDEF;
1534#endif
1535    }
1536    break;
1537  case 'L':
1538    if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_CLOSED", 28)) {
1539    /*                                   ^              */
1540#ifdef LIBSSH2_ERROR_CHANNEL_CLOSED
1541      *iv_return = LIBSSH2_ERROR_CHANNEL_CLOSED;
1542      return PERL_constant_ISIV;
1543#else
1544      return PERL_constant_NOTDEF;
1545#endif
1546    }
1547    break;
1548  case 'M':
1549    if (memEQ(name, "LIBSSH2_SOCKET_POLL_MAXLOOPS", 28)) {
1550    /*                                   ^              */
1551#ifdef LIBSSH2_SOCKET_POLL_MAXLOOPS
1552      *iv_return = LIBSSH2_SOCKET_POLL_MAXLOOPS;
1553      return PERL_constant_ISIV;
1554#else
1555      return PERL_constant_NOTDEF;
1556#endif
1557    }
1558    break;
1559  case 'N':
1560    if (memEQ(name, "LIBSSH2_FX_PERMISSION_DENIED", 28)) {
1561    /*                                   ^              */
1562#ifdef LIBSSH2_FX_PERMISSION_DENIED
1563      *iv_return = LIBSSH2_FX_PERMISSION_DENIED;
1564      return PERL_constant_ISIV;
1565#else
1566      return PERL_constant_NOTDEF;
1567#endif
1568    }
1569    break;
1570  case 'P':
1571    if (memEQ(name, "LIBSSH2_KNOWNHOST_TYPE_PLAIN", 28)) {
1572    /*                                   ^              */
1573#ifdef LIBSSH2_KNOWNHOST_TYPE_PLAIN
1574      *iv_return = LIBSSH2_KNOWNHOST_TYPE_PLAIN;
1575      return PERL_constant_ISIV;
1576#else
1577      return PERL_constant_NOTDEF;
1578#endif
1579    }
1580    break;
1581  case 'R':
1582    if (memEQ(name, "LIBSSH2_FX_UNKNOWN_PRINCIPLE", 28)) {
1583    /*                                   ^              */
1584#ifdef LIBSSH2_FX_UNKNOWN_PRINCIPLE
1585      *iv_return = LIBSSH2_FX_UNKNOWN_PRINCIPLE;
1586      return PERL_constant_ISIV;
1587#else
1588      return PERL_constant_NOTDEF;
1589#endif
1590    }
1591    break;
1592  case 'T':
1593    if (memEQ(name, "LIBSSH2_ERROR_REQUEST_DENIED", 28)) {
1594    /*                                   ^              */
1595#ifdef LIBSSH2_ERROR_REQUEST_DENIED
1596      *iv_return = LIBSSH2_ERROR_REQUEST_DENIED;
1597      return PERL_constant_ISIV;
1598#else
1599      return PERL_constant_NOTDEF;
1600#endif
1601    }
1602    break;
1603  case 'Y':
1604    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEYENC_RAW", 28)) {
1605    /*                                   ^              */
1606#ifdef LIBSSH2_KNOWNHOST_KEYENC_RAW
1607      *iv_return = LIBSSH2_KNOWNHOST_KEYENC_RAW;
1608      return PERL_constant_ISIV;
1609#else
1610      return PERL_constant_NOTDEF;
1611#endif
1612    }
1613    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEY_SSHDSS", 28)) {
1614    /*                                   ^              */
1615#ifdef LIBSSH2_KNOWNHOST_KEY_SSHDSS
1616      *iv_return = LIBSSH2_KNOWNHOST_KEY_SSHDSS;
1617      return PERL_constant_ISIV;
1618#else
1619      return PERL_constant_NOTDEF;
1620#endif
1621    }
1622    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEY_SSHRSA", 28)) {
1623    /*                                   ^              */
1624#ifdef LIBSSH2_KNOWNHOST_KEY_SSHRSA
1625      *iv_return = LIBSSH2_KNOWNHOST_KEY_SSHRSA;
1626      return PERL_constant_ISIV;
1627#else
1628      return PERL_constant_NOTDEF;
1629#endif
1630    }
1631    break;
1632  case '_':
1633    if (memEQ(name, "LIBSSH2_ERROR_SOCKET_TIMEOUT", 28)) {
1634    /*                                   ^              */
1635#ifdef LIBSSH2_ERROR_SOCKET_TIMEOUT
1636      *iv_return = LIBSSH2_ERROR_SOCKET_TIMEOUT;
1637      return PERL_constant_ISIV;
1638#else
1639      return PERL_constant_NOTDEF;
1640#endif
1641    }
1642    break;
1643  }
1644  return PERL_constant_NOTFOUND;
1645}
1646
1647static int
1648constant_29 (pTHX_ const char *name, IV *iv_return) {
1649  /* When generated this function returned values for the list of names given
1650     here.  However, subsequent manual editing may have added or removed some.
1651     LIBSSH2_ERROR_CHANNEL_FAILURE LIBSSH2_ERROR_CHANNEL_UNKNOWN
1652     LIBSSH2_HOSTKEY_POLICY_STRICT LIBSSH2_KNOWNHOST_CHECK_MATCH
1653     LIBSSH2_KNOWNHOST_KEYENC_MASK LIBSSH2_KNOWNHOST_TYPE_CUSTOM
1654     LIBSSH2_POLLFD_CHANNEL_CLOSED LIBSSH2_POLLFD_SESSION_CLOSED
1655     LIBSSH2_SESSION_BLOCK_INBOUND LIBSSH2_SFTP_ATTR_PERMISSIONS
1656     LIBSSH2_SFTP_RENAME_OVERWRITE LIBSSH2_SFTP_TYPE_CHAR_DEVICE */
1657  /* Offset 24 gives the best switch position.  */
1658  switch (name[24]) {
1659  case 'B':
1660    if (memEQ(name, "LIBSSH2_SESSION_BLOCK_INBOUND", 29)) {
1661    /*                                       ^           */
1662#ifdef LIBSSH2_SESSION_BLOCK_INBOUND
1663      *iv_return = LIBSSH2_SESSION_BLOCK_INBOUND;
1664      return PERL_constant_ISIV;
1665#else
1666      return PERL_constant_NOTDEF;
1667#endif
1668    }
1669    break;
1670  case 'E':
1671    if (memEQ(name, "LIBSSH2_SFTP_TYPE_CHAR_DEVICE", 29)) {
1672    /*                                       ^           */
1673#ifdef LIBSSH2_SFTP_TYPE_CHAR_DEVICE
1674      *iv_return = LIBSSH2_SFTP_TYPE_CHAR_DEVICE;
1675      return PERL_constant_ISIV;
1676#else
1677      return PERL_constant_NOTDEF;
1678#endif
1679    }
1680    break;
1681  case 'I':
1682    if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_FAILURE", 29)) {
1683    /*                                       ^           */
1684#ifdef LIBSSH2_ERROR_CHANNEL_FAILURE
1685      *iv_return = LIBSSH2_ERROR_CHANNEL_FAILURE;
1686      return PERL_constant_ISIV;
1687#else
1688      return PERL_constant_NOTDEF;
1689#endif
1690    }
1691    break;
1692  case 'K':
1693    if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_UNKNOWN", 29)) {
1694    /*                                       ^           */
1695#ifdef LIBSSH2_ERROR_CHANNEL_UNKNOWN
1696      *iv_return = LIBSSH2_ERROR_CHANNEL_UNKNOWN;
1697      return PERL_constant_ISIV;
1698#else
1699      return PERL_constant_NOTDEF;
1700#endif
1701    }
1702    break;
1703  case 'L':
1704    if (memEQ(name, "LIBSSH2_POLLFD_CHANNEL_CLOSED", 29)) {
1705    /*                                       ^           */
1706#ifdef LIBSSH2_POLLFD_CHANNEL_CLOSED
1707      *iv_return = LIBSSH2_POLLFD_CHANNEL_CLOSED;
1708      return PERL_constant_ISIV;
1709#else
1710      return PERL_constant_NOTDEF;
1711#endif
1712    }
1713    if (memEQ(name, "LIBSSH2_POLLFD_SESSION_CLOSED", 29)) {
1714    /*                                       ^           */
1715#ifdef LIBSSH2_POLLFD_SESSION_CLOSED
1716      *iv_return = LIBSSH2_POLLFD_SESSION_CLOSED;
1717      return PERL_constant_ISIV;
1718#else
1719      return PERL_constant_NOTDEF;
1720#endif
1721    }
1722    break;
1723  case 'M':
1724    if (memEQ(name, "LIBSSH2_KNOWNHOST_CHECK_MATCH", 29)) {
1725    /*                                       ^           */
1726#ifdef LIBSSH2_KNOWNHOST_CHECK_MATCH
1727      *iv_return = LIBSSH2_KNOWNHOST_CHECK_MATCH;
1728      return PERL_constant_ISIV;
1729#else
1730      return PERL_constant_NOTDEF;
1731#endif
1732    }
1733    break;
1734  case 'S':
1735    if (memEQ(name, "LIBSSH2_SFTP_ATTR_PERMISSIONS", 29)) {
1736    /*                                       ^           */
1737#ifdef LIBSSH2_SFTP_ATTR_PERMISSIONS
1738      *iv_return = LIBSSH2_SFTP_ATTR_PERMISSIONS;
1739      return PERL_constant_ISIV;
1740#else
1741      return PERL_constant_NOTDEF;
1742#endif
1743    }
1744    break;
1745  case 'T':
1746    if (memEQ(name, "LIBSSH2_HOSTKEY_POLICY_STRICT", 29)) {
1747    /*                                       ^           */
1748#ifdef LIBSSH2_HOSTKEY_POLICY_STRICT
1749      *iv_return = LIBSSH2_HOSTKEY_POLICY_STRICT;
1750      return PERL_constant_ISIV;
1751#else
1752      return PERL_constant_NOTDEF;
1753#endif
1754    }
1755    break;
1756  case 'U':
1757    if (memEQ(name, "LIBSSH2_KNOWNHOST_TYPE_CUSTOM", 29)) {
1758    /*                                       ^           */
1759#ifdef LIBSSH2_KNOWNHOST_TYPE_CUSTOM
1760      *iv_return = LIBSSH2_KNOWNHOST_TYPE_CUSTOM;
1761      return PERL_constant_ISIV;
1762#else
1763      return PERL_constant_NOTDEF;
1764#endif
1765    }
1766    break;
1767  case 'W':
1768    if (memEQ(name, "LIBSSH2_SFTP_RENAME_OVERWRITE", 29)) {
1769    /*                                       ^           */
1770#ifdef LIBSSH2_SFTP_RENAME_OVERWRITE
1771      *iv_return = LIBSSH2_SFTP_RENAME_OVERWRITE;
1772      return PERL_constant_ISIV;
1773#else
1774      return PERL_constant_NOTDEF;
1775#endif
1776    }
1777    break;
1778  case '_':
1779    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEYENC_MASK", 29)) {
1780    /*                                       ^           */
1781#ifdef LIBSSH2_KNOWNHOST_KEYENC_MASK
1782      *iv_return = LIBSSH2_KNOWNHOST_KEYENC_MASK;
1783      return PERL_constant_ISIV;
1784#else
1785      return PERL_constant_NOTDEF;
1786#endif
1787    }
1788    break;
1789  }
1790  return PERL_constant_NOTFOUND;
1791}
1792
1793static int
1794constant_30 (pTHX_ const char *name, IV *iv_return) {
1795  /* When generated this function returned values for the list of names given
1796     here.  However, subsequent manual editing may have added or removed some.
1797     LIBSSH2_CHANNEL_PACKET_DEFAULT LIBSSH2_CHANNEL_WINDOW_DEFAULT
1798     LIBSSH2_ERROR_CHANNEL_EOF_SENT LIBSSH2_ERROR_PASSWORD_EXPIRED
1799     LIBSSH2_FX_FILE_ALREADY_EXISTS LIBSSH2_POLLFD_LISTENER_CLOSED
1800     LIBSSH2_SESSION_BLOCK_OUTBOUND LIBSSH2_SFTP_TYPE_BLOCK_DEVICE */
1801  /* Offset 20 gives the best switch position.  */
1802  switch (name[20]) {
1803  case 'A':
1804    if (memEQ(name, "LIBSSH2_FX_FILE_ALREADY_EXISTS", 30)) {
1805    /*                                   ^                */
1806#ifdef LIBSSH2_FX_FILE_ALREADY_EXISTS
1807      *iv_return = LIBSSH2_FX_FILE_ALREADY_EXISTS;
1808      return PERL_constant_ISIV;
1809#else
1810      return PERL_constant_NOTDEF;
1811#endif
1812    }
1813    break;
1814  case 'E':
1815    if (memEQ(name, "LIBSSH2_CHANNEL_PACKET_DEFAULT", 30)) {
1816    /*                                   ^                */
1817#ifdef LIBSSH2_CHANNEL_PACKET_DEFAULT
1818      *iv_return = LIBSSH2_CHANNEL_PACKET_DEFAULT;
1819      return PERL_constant_ISIV;
1820#else
1821      return PERL_constant_NOTDEF;
1822#endif
1823    }
1824    break;
1825  case 'K':
1826    if (memEQ(name, "LIBSSH2_SESSION_BLOCK_OUTBOUND", 30)) {
1827    /*                                   ^                */
1828#ifdef LIBSSH2_SESSION_BLOCK_OUTBOUND
1829      *iv_return = LIBSSH2_SESSION_BLOCK_OUTBOUND;
1830      return PERL_constant_ISIV;
1831#else
1832      return PERL_constant_NOTDEF;
1833#endif
1834    }
1835    break;
1836  case 'L':
1837    if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_EOF_SENT", 30)) {
1838    /*                                   ^                */
1839#ifdef LIBSSH2_ERROR_CHANNEL_EOF_SENT
1840      *iv_return = LIBSSH2_ERROR_CHANNEL_EOF_SENT;
1841      return PERL_constant_ISIV;
1842#else
1843      return PERL_constant_NOTDEF;
1844#endif
1845    }
1846    break;
1847  case 'N':
1848    if (memEQ(name, "LIBSSH2_POLLFD_LISTENER_CLOSED", 30)) {
1849    /*                                   ^                */
1850#ifdef LIBSSH2_POLLFD_LISTENER_CLOSED
1851      *iv_return = LIBSSH2_POLLFD_LISTENER_CLOSED;
1852      return PERL_constant_ISIV;
1853#else
1854      return PERL_constant_NOTDEF;
1855#endif
1856    }
1857    break;
1858  case 'O':
1859    if (memEQ(name, "LIBSSH2_CHANNEL_WINDOW_DEFAULT", 30)) {
1860    /*                                   ^                */
1861#ifdef LIBSSH2_CHANNEL_WINDOW_DEFAULT
1862      *iv_return = LIBSSH2_CHANNEL_WINDOW_DEFAULT;
1863      return PERL_constant_ISIV;
1864#else
1865      return PERL_constant_NOTDEF;
1866#endif
1867    }
1868    if (memEQ(name, "LIBSSH2_SFTP_TYPE_BLOCK_DEVICE", 30)) {
1869    /*                                   ^                */
1870#ifdef LIBSSH2_SFTP_TYPE_BLOCK_DEVICE
1871      *iv_return = LIBSSH2_SFTP_TYPE_BLOCK_DEVICE;
1872      return PERL_constant_ISIV;
1873#else
1874      return PERL_constant_NOTDEF;
1875#endif
1876    }
1877    break;
1878  case 'R':
1879    if (memEQ(name, "LIBSSH2_ERROR_PASSWORD_EXPIRED", 30)) {
1880    /*                                   ^                */
1881#ifdef LIBSSH2_ERROR_PASSWORD_EXPIRED
1882      *iv_return = LIBSSH2_ERROR_PASSWORD_EXPIRED;
1883      return PERL_constant_ISIV;
1884#else
1885      return PERL_constant_NOTDEF;
1886#endif
1887    }
1888    break;
1889  }
1890  return PERL_constant_NOTFOUND;
1891}
1892
1893static int
1894constant_31 (pTHX_ const char *name, IV *iv_return) {
1895  /* When generated this function returned values for the list of names given
1896     here.  However, subsequent manual editing may have added or removed some.
1897     LIBSSH2_ERROR_INVALID_POLL_TYPE LIBSSH2_ERROR_SOCKET_DISCONNECT
1898     LIBSSH2_HOSTKEY_POLICY_ADVISORY LIBSSH2_KNOWNHOST_CHECK_FAILURE
1899     LIBSSH2_KNOWNHOST_KEYENC_BASE64 */
1900  /* Offset 25 gives the best switch position.  */
1901  switch (name[25]) {
1902  case 'A':
1903    if (memEQ(name, "LIBSSH2_KNOWNHOST_CHECK_FAILURE", 31)) {
1904    /*                                        ^            */
1905#ifdef LIBSSH2_KNOWNHOST_CHECK_FAILURE
1906      *iv_return = LIBSSH2_KNOWNHOST_CHECK_FAILURE;
1907      return PERL_constant_ISIV;
1908#else
1909      return PERL_constant_NOTDEF;
1910#endif
1911    }
1912    break;
1913  case 'B':
1914    if (memEQ(name, "LIBSSH2_KNOWNHOST_KEYENC_BASE64", 31)) {
1915    /*                                        ^            */
1916#ifdef LIBSSH2_KNOWNHOST_KEYENC_BASE64
1917      *iv_return = LIBSSH2_KNOWNHOST_KEYENC_BASE64;
1918      return PERL_constant_ISIV;
1919#else
1920      return PERL_constant_NOTDEF;
1921#endif
1922    }
1923    break;
1924  case 'L':
1925    if (memEQ(name, "LIBSSH2_ERROR_INVALID_POLL_TYPE", 31)) {
1926    /*                                        ^            */
1927#ifdef LIBSSH2_ERROR_INVALID_POLL_TYPE
1928      *iv_return = LIBSSH2_ERROR_INVALID_POLL_TYPE;
1929      return PERL_constant_ISIV;
1930#else
1931      return PERL_constant_NOTDEF;
1932#endif
1933    }
1934    break;
1935  case 'O':
1936    if (memEQ(name, "LIBSSH2_ERROR_SOCKET_DISCONNECT", 31)) {
1937    /*                                        ^            */
1938#ifdef LIBSSH2_ERROR_SOCKET_DISCONNECT
1939      *iv_return = LIBSSH2_ERROR_SOCKET_DISCONNECT;
1940      return PERL_constant_ISIV;
1941#else
1942      return PERL_constant_NOTDEF;
1943#endif
1944    }
1945    break;
1946  case 'V':
1947    if (memEQ(name, "LIBSSH2_HOSTKEY_POLICY_ADVISORY", 31)) {
1948    /*                                        ^            */
1949#ifdef LIBSSH2_HOSTKEY_POLICY_ADVISORY
1950      *iv_return = LIBSSH2_HOSTKEY_POLICY_ADVISORY;
1951      return PERL_constant_ISIV;
1952#else
1953      return PERL_constant_NOTDEF;
1954#endif
1955    }
1956    break;
1957  }
1958  return PERL_constant_NOTFOUND;
1959}
1960
1961static int
1962constant_32 (pTHX_ const char *name, IV *iv_return) {
1963  /* When generated this function returned values for the list of names given
1964     here.  However, subsequent manual editing may have added or removed some.
1965     LIBSSH2_ERROR_CHANNEL_OUTOFORDER LIBSSH2_ERROR_PUBLICKEY_PROTOCOL
1966     LIBSSH2_KNOWNHOST_CHECK_MISMATCH LIBSSH2_KNOWNHOST_CHECK_NOTFOUND */
1967  /* Offset 24 gives the best switch position.  */
1968  switch (name[24]) {
1969  case 'M':
1970    if (memEQ(name, "LIBSSH2_KNOWNHOST_CHECK_MISMATCH", 32)) {
1971    /*                                       ^              */
1972#ifdef LIBSSH2_KNOWNHOST_CHECK_MISMATCH
1973      *iv_return = LIBSSH2_KNOWNHOST_CHECK_MISMATCH;
1974      return PERL_constant_ISIV;
1975#else
1976      return PERL_constant_NOTDEF;
1977#endif
1978    }
1979    break;
1980  case 'N':
1981    if (memEQ(name, "LIBSSH2_KNOWNHOST_CHECK_NOTFOUND", 32)) {
1982    /*                                       ^              */
1983#ifdef LIBSSH2_KNOWNHOST_CHECK_NOTFOUND
1984      *iv_return = LIBSSH2_KNOWNHOST_CHECK_NOTFOUND;
1985      return PERL_constant_ISIV;
1986#else
1987      return PERL_constant_NOTDEF;
1988#endif
1989    }
1990    break;
1991  case 'P':
1992    if (memEQ(name, "LIBSSH2_ERROR_PUBLICKEY_PROTOCOL", 32)) {
1993    /*                                       ^              */
1994#ifdef LIBSSH2_ERROR_PUBLICKEY_PROTOCOL
1995      *iv_return = LIBSSH2_ERROR_PUBLICKEY_PROTOCOL;
1996      return PERL_constant_ISIV;
1997#else
1998      return PERL_constant_NOTDEF;
1999#endif
2000    }
2001    break;
2002  case 'T':
2003    if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_OUTOFORDER", 32)) {
2004    /*                                       ^              */
2005#ifdef LIBSSH2_ERROR_CHANNEL_OUTOFORDER
2006      *iv_return = LIBSSH2_ERROR_CHANNEL_OUTOFORDER;
2007      return PERL_constant_ISIV;
2008#else
2009      return PERL_constant_NOTDEF;
2010#endif
2011    }
2012    break;
2013  }
2014  return PERL_constant_NOTFOUND;
2015}
2016
2017static int
2018constant_34 (pTHX_ const char *name, IV *iv_return) {
2019  /* When generated this function returned values for the list of names given
2020     here.  However, subsequent manual editing may have added or removed some.
2021     LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE LIBSSH2_ERROR_METHOD_NOT_SUPPORTED
2022     LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED */
2023  /* Offset 14 gives the best switch position.  */
2024  switch (name[14]) {
2025  case 'K':
2026    if (memEQ(name, "LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE", 34)) {
2027    /*                             ^                          */
2028#ifdef LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE
2029      *iv_return = LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE;
2030      return PERL_constant_ISIV;
2031#else
2032      return PERL_constant_NOTDEF;
2033#endif
2034    }
2035    break;
2036  case 'M':
2037    if (memEQ(name, "LIBSSH2_ERROR_METHOD_NOT_SUPPORTED", 34)) {
2038    /*                             ^                          */
2039#ifdef LIBSSH2_ERROR_METHOD_NOT_SUPPORTED
2040      *iv_return = LIBSSH2_ERROR_METHOD_NOT_SUPPORTED;
2041      return PERL_constant_ISIV;
2042#else
2043      return PERL_constant_NOTDEF;
2044#endif
2045    }
2046    break;
2047  case 'P':
2048    if (memEQ(name, "LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED", 34)) {
2049    /*                             ^                          */
2050#ifdef LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED
2051      *iv_return = LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED;
2052      return PERL_constant_ISIV;
2053#else
2054      return PERL_constant_NOTDEF;
2055#endif
2056    }
2057    break;
2058  }
2059  return PERL_constant_NOTFOUND;
2060}
2061
2062static int
2063constant_35 (pTHX_ const char *name, IV *iv_return) {
2064  /* When generated this function returned values for the list of names given
2065     here.  However, subsequent manual editing may have added or removed some.
2066     LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE LIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA
2067     LIBSSH2_ERROR_AUTHENTICATION_FAILED */
2068  /* Offset 34 gives the best switch position.  */
2069  switch (name[34]) {
2070  case 'A':
2071    if (memEQ(name, "LIBSSH2_CHANNEL_FLUSH_EXTENDED_DAT", 34)) {
2072    /*                                                 A      */
2073#ifdef LIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA
2074      *iv_return = LIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA;
2075      return PERL_constant_ISIV;
2076#else
2077      return PERL_constant_NOTDEF;
2078#endif
2079    }
2080    break;
2081  case 'D':
2082    if (memEQ(name, "LIBSSH2_ERROR_AUTHENTICATION_FAILE", 34)) {
2083    /*                                                 D      */
2084#ifdef LIBSSH2_ERROR_AUTHENTICATION_FAILED
2085      *iv_return = LIBSSH2_ERROR_AUTHENTICATION_FAILED;
2086      return PERL_constant_ISIV;
2087#else
2088      return PERL_constant_NOTDEF;
2089#endif
2090    }
2091    break;
2092  case 'E':
2093    if (memEQ(name, "LIBSSH2_CHANNEL_EXTENDED_DATA_MERG", 34)) {
2094    /*                                                 E      */
2095#ifdef LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE
2096      *iv_return = LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE;
2097      return PERL_constant_ISIV;
2098#else
2099      return PERL_constant_NOTDEF;
2100#endif
2101    }
2102    break;
2103  }
2104  return PERL_constant_NOTFOUND;
2105}
2106
2107static int
2108constant_36 (pTHX_ const char *name, IV *iv_return) {
2109  /* When generated this function returned values for the list of names given
2110     here.  However, subsequent manual editing may have added or removed some.
2111     LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL
2112     LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED
2113     */
2114  /* Offset 30 gives the best switch position.  */
2115  switch (name[30]) {
2116  case 'D':
2117    if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED", 36)) {
2118    /*                                             ^            */
2119#ifdef LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED
2120      *iv_return = LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED;
2121      return PERL_constant_ISIV;
2122#else
2123      return PERL_constant_NOTDEF;
2124#endif
2125    }
2126    break;
2127  case 'G':
2128    if (memEQ(name, "LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED", 36)) {
2129    /*                                             ^            */
2130#ifdef LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED
2131      *iv_return = LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED;
2132      return PERL_constant_ISIV;
2133#else
2134      return PERL_constant_NOTDEF;
2135#endif
2136    }
2137    break;
2138  case 'I':
2139    if (memEQ(name, "LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE", 36)) {
2140    /*                                             ^            */
2141#ifdef LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE
2142      *iv_return = LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE;
2143      return PERL_constant_ISIV;
2144#else
2145      return PERL_constant_NOTDEF;
2146#endif
2147    }
2148    break;
2149  case 'N':
2150    if (memEQ(name, "LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL", 36)) {
2151    /*                                             ^            */
2152#ifdef LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL
2153      *iv_return = LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL;
2154      return PERL_constant_ISIV;
2155#else
2156      return PERL_constant_NOTDEF;
2157#endif
2158    }
2159    break;
2160  }
2161  return PERL_constant_NOTFOUND;
2162}
2163
2164static int
2165constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
2166  /* Initially switch on the length of the name.  */
2167  /* When generated this function returned values for the list of names given
2168     in this section of perl code.  Rather than manually editing these functions
2169     to add or remove constants, which would result in this comment and section
2170     of code becoming inaccurate, we recommend that you edit this section of
2171     code, and use it to regenerate a new set of constant functions which you
2172     then use to replace the originals.
2173
2174     Regenerate these constant functions by feeding this entire source file to
2175     perl -x
2176
2177#!/usr/bin/perl -w
2178use ExtUtils::Constant qw (constant_types C_constant XS_constant);
2179
2180my $types = {map {($_, 1)} qw(IV)};
2181my @names = (qw(LIBSSH2_CALLBACK_DEBUG LIBSSH2_CALLBACK_DISCONNECT
2182	       LIBSSH2_CALLBACK_IGNORE LIBSSH2_CALLBACK_MACERROR
2183	       LIBSSH2_CALLBACK_X11 LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE
2184	       LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE
2185	       LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL LIBSSH2_CHANNEL_FLUSH_ALL
2186	       LIBSSH2_CHANNEL_FLUSH_EXTENDED_DATA LIBSSH2_CHANNEL_FLUSH_STDERR
2187	       LIBSSH2_CHANNEL_MINADJUST LIBSSH2_CHANNEL_PACKET_DEFAULT
2188	       LIBSSH2_CHANNEL_WINDOW_DEFAULT LIBSSH2_DH_GEX_MAXGROUP
2189	       LIBSSH2_DH_GEX_MINGROUP LIBSSH2_DH_GEX_OPTGROUP
2190	       LIBSSH2_ERROR_ALLOC LIBSSH2_ERROR_AUTHENTICATION_FAILED
2191	       LIBSSH2_ERROR_BANNER_NONE LIBSSH2_ERROR_BANNER_SEND
2192	       LIBSSH2_ERROR_CHANNEL_CLOSED LIBSSH2_ERROR_CHANNEL_EOF_SENT
2193	       LIBSSH2_ERROR_CHANNEL_FAILURE LIBSSH2_ERROR_CHANNEL_OUTOFORDER
2194	       LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED
2195	       LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED
2196	       LIBSSH2_ERROR_CHANNEL_UNKNOWN
2197	       LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED LIBSSH2_ERROR_DECRYPT
2198	       LIBSSH2_ERROR_EAGAIN LIBSSH2_ERROR_FILE
2199	       LIBSSH2_ERROR_HOSTKEY_INIT LIBSSH2_ERROR_HOSTKEY_SIGN
2200	       LIBSSH2_ERROR_INVAL LIBSSH2_ERROR_INVALID_MAC
2201	       LIBSSH2_ERROR_INVALID_POLL_TYPE LIBSSH2_ERROR_KEX_FAILURE
2202	       LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE LIBSSH2_ERROR_KNOWN_HOSTS
2203	       LIBSSH2_ERROR_METHOD_NONE LIBSSH2_ERROR_METHOD_NOT_SUPPORTED
2204	       LIBSSH2_ERROR_NONE LIBSSH2_ERROR_PASSWORD_EXPIRED
2205	       LIBSSH2_ERROR_PROTO LIBSSH2_ERROR_PUBLICKEY_PROTOCOL
2206	       LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED
2207	       LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED LIBSSH2_ERROR_REQUEST_DENIED
2208	       LIBSSH2_ERROR_SCP_PROTOCOL LIBSSH2_ERROR_SFTP_PROTOCOL
2209	       LIBSSH2_ERROR_SOCKET_DISCONNECT LIBSSH2_ERROR_SOCKET_NONE
2210	       LIBSSH2_ERROR_SOCKET_SEND LIBSSH2_ERROR_SOCKET_TIMEOUT
2211	       LIBSSH2_ERROR_TIMEOUT LIBSSH2_ERROR_ZLIB
2212	       LIBSSH2_EXTENDED_DATA_STDERR LIBSSH2_FLAG_COMPRESS
2213	       LIBSSH2_FLAG_SIGPIPE LIBSSH2_FXF_APPEND LIBSSH2_FXF_CREAT
2214	       LIBSSH2_FXF_EXCL LIBSSH2_FXF_READ LIBSSH2_FXF_TRUNC
2215	       LIBSSH2_FXF_WRITE LIBSSH2_FX_BAD_MESSAGE
2216	       LIBSSH2_FX_CONNECTION_LOST LIBSSH2_FX_DIR_NOT_EMPTY
2217	       LIBSSH2_FX_EOF LIBSSH2_FX_FAILURE LIBSSH2_FX_FILE_ALREADY_EXISTS
2218	       LIBSSH2_FX_INVALID_FILENAME LIBSSH2_FX_INVALID_HANDLE
2219	       LIBSSH2_FX_LINK_LOOP LIBSSH2_FX_LOCK_CONFlICT
2220	       LIBSSH2_FX_NOT_A_DIRECTORY LIBSSH2_FX_NO_CONNECTION
2221	       LIBSSH2_FX_NO_MEDIA LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM
2222	       LIBSSH2_FX_NO_SUCH_FILE LIBSSH2_FX_NO_SUCH_PATH LIBSSH2_FX_OK
2223	       LIBSSH2_FX_OP_UNSUPPORTED LIBSSH2_FX_PERMISSION_DENIED
2224	       LIBSSH2_FX_QUOTA_EXCEEDED LIBSSH2_FX_UNKNOWN_PRINCIPLE
2225	       LIBSSH2_FX_WRITE_PROTECT LIBSSH2_H LIBSSH2_HOSTKEY_HASH_MD5
2226	       LIBSSH2_HOSTKEY_HASH_SHA1 LIBSSH2_HOSTKEY_POLICY_ADVISORY
2227	       LIBSSH2_HOSTKEY_POLICY_ASK LIBSSH2_HOSTKEY_POLICY_STRICT
2228	       LIBSSH2_HOSTKEY_POLICY_TOFU LIBSSH2_KNOWNHOST_CHECK_FAILURE
2229	       LIBSSH2_KNOWNHOST_CHECK_MATCH LIBSSH2_KNOWNHOST_CHECK_MISMATCH
2230	       LIBSSH2_KNOWNHOST_CHECK_NOTFOUND LIBSSH2_KNOWNHOST_KEYENC_BASE64
2231	       LIBSSH2_KNOWNHOST_KEYENC_MASK LIBSSH2_KNOWNHOST_KEYENC_RAW
2232	       LIBSSH2_KNOWNHOST_KEY_MASK LIBSSH2_KNOWNHOST_KEY_RSA1
2233	       LIBSSH2_KNOWNHOST_KEY_SHIFT LIBSSH2_KNOWNHOST_KEY_SSHDSS
2234	       LIBSSH2_KNOWNHOST_KEY_SSHRSA LIBSSH2_KNOWNHOST_TYPE_CUSTOM
2235	       LIBSSH2_KNOWNHOST_TYPE_MASK LIBSSH2_KNOWNHOST_TYPE_PLAIN
2236	       LIBSSH2_KNOWNHOST_TYPE_SHA1 LIBSSH2_METHOD_COMP_CS
2237	       LIBSSH2_METHOD_COMP_SC LIBSSH2_METHOD_CRYPT_CS
2238	       LIBSSH2_METHOD_CRYPT_SC LIBSSH2_METHOD_HOSTKEY
2239	       LIBSSH2_METHOD_KEX LIBSSH2_METHOD_LANG_CS LIBSSH2_METHOD_LANG_SC
2240	       LIBSSH2_METHOD_MAC_CS LIBSSH2_METHOD_MAC_SC
2241	       LIBSSH2_PACKET_MAXCOMP LIBSSH2_PACKET_MAXDECOMP
2242	       LIBSSH2_PACKET_MAXPAYLOAD LIBSSH2_POLLFD_CHANNEL
2243	       LIBSSH2_POLLFD_CHANNEL_CLOSED LIBSSH2_POLLFD_LISTENER
2244	       LIBSSH2_POLLFD_LISTENER_CLOSED LIBSSH2_POLLFD_POLLERR
2245	       LIBSSH2_POLLFD_POLLEX LIBSSH2_POLLFD_POLLEXT
2246	       LIBSSH2_POLLFD_POLLHUP LIBSSH2_POLLFD_POLLIN
2247	       LIBSSH2_POLLFD_POLLNVAL LIBSSH2_POLLFD_POLLOUT
2248	       LIBSSH2_POLLFD_POLLPRI LIBSSH2_POLLFD_SESSION_CLOSED
2249	       LIBSSH2_POLLFD_SOCKET LIBSSH2_SESSION_BLOCK_INBOUND
2250	       LIBSSH2_SESSION_BLOCK_OUTBOUND LIBSSH2_SFTP_ATTR_ACMODTIME
2251	       LIBSSH2_SFTP_ATTR_EXTENDED LIBSSH2_SFTP_ATTR_PERMISSIONS
2252	       LIBSSH2_SFTP_ATTR_SIZE LIBSSH2_SFTP_ATTR_UIDGID
2253	       LIBSSH2_SFTP_LSTAT LIBSSH2_SFTP_OPENDIR LIBSSH2_SFTP_OPENFILE
2254	       LIBSSH2_SFTP_PACKET_MAXLEN LIBSSH2_SFTP_READLINK
2255	       LIBSSH2_SFTP_REALPATH LIBSSH2_SFTP_RENAME_ATOMIC
2256	       LIBSSH2_SFTP_RENAME_NATIVE LIBSSH2_SFTP_RENAME_OVERWRITE
2257	       LIBSSH2_SFTP_SETSTAT LIBSSH2_SFTP_STAT LIBSSH2_SFTP_SYMLINK
2258	       LIBSSH2_SFTP_TYPE_BLOCK_DEVICE LIBSSH2_SFTP_TYPE_CHAR_DEVICE
2259	       LIBSSH2_SFTP_TYPE_DIRECTORY LIBSSH2_SFTP_TYPE_FIFO
2260	       LIBSSH2_SFTP_TYPE_REGULAR LIBSSH2_SFTP_TYPE_SOCKET
2261	       LIBSSH2_SFTP_TYPE_SPECIAL LIBSSH2_SFTP_TYPE_SYMLINK
2262	       LIBSSH2_SFTP_TYPE_UNKNOWN LIBSSH2_SFTP_VERSION
2263	       LIBSSH2_SOCKET_POLL_MAXLOOPS LIBSSH2_SOCKET_POLL_UDELAY
2264	       LIBSSH2_TERM_HEIGHT LIBSSH2_TERM_HEIGHT_PX LIBSSH2_TERM_WIDTH
2265	       LIBSSH2_TERM_WIDTH_PX LIBSSH2_TRACE_AUTH LIBSSH2_TRACE_CONN
2266	       LIBSSH2_TRACE_ERROR LIBSSH2_TRACE_KEX LIBSSH2_TRACE_PUBLICKEY
2267	       LIBSSH2_TRACE_SCP LIBSSH2_TRACE_SFTP LIBSSH2_TRACE_SOCKET
2268	       LIBSSH2_TRACE_TRANS SSH_EXTENDED_DATA_STDERR));
2269
2270print constant_types(), "\n"; # macro defs
2271foreach (C_constant ("Net::SSH2", 'constant', 'IV', $types, undef, 3, @names) ) {
2272    print $_, "\n"; # C constant subs
2273}
2274print "\n#### XS Section:\n";
2275print XS_constant ("Net::SSH2", $types);
2276__END__
2277   */
2278
2279  switch (len) {
2280  case 9:
2281    if (memEQ(name, "LIBSSH2_H", 9)) {
2282#ifdef LIBSSH2_H
2283      *iv_return = LIBSSH2_H;
2284      return PERL_constant_ISIV;
2285#else
2286      return PERL_constant_NOTDEF;
2287#endif
2288    }
2289    break;
2290  case 13:
2291    if (memEQ(name, "LIBSSH2_FX_OK", 13)) {
2292#ifdef LIBSSH2_FX_OK
2293      *iv_return = LIBSSH2_FX_OK;
2294      return PERL_constant_ISIV;
2295#else
2296      return PERL_constant_NOTDEF;
2297#endif
2298    }
2299    break;
2300  case 14:
2301    if (memEQ(name, "LIBSSH2_FX_EOF", 14)) {
2302#ifdef LIBSSH2_FX_EOF
2303      *iv_return = LIBSSH2_FX_EOF;
2304      return PERL_constant_ISIV;
2305#else
2306      return PERL_constant_NOTDEF;
2307#endif
2308    }
2309    break;
2310  case 16:
2311    /* Names all of length 16.  */
2312    /* LIBSSH2_FXF_EXCL LIBSSH2_FXF_READ */
2313    /* Offset 14 gives the best switch position.  */
2314    switch (name[14]) {
2315    case 'A':
2316      if (memEQ(name, "LIBSSH2_FXF_READ", 16)) {
2317      /*                             ^        */
2318#ifdef LIBSSH2_FXF_READ
2319        *iv_return = LIBSSH2_FXF_READ;
2320        return PERL_constant_ISIV;
2321#else
2322        return PERL_constant_NOTDEF;
2323#endif
2324      }
2325      break;
2326    case 'C':
2327      if (memEQ(name, "LIBSSH2_FXF_EXCL", 16)) {
2328      /*                             ^        */
2329#ifdef LIBSSH2_FXF_EXCL
2330        *iv_return = LIBSSH2_FXF_EXCL;
2331        return PERL_constant_ISIV;
2332#else
2333        return PERL_constant_NOTDEF;
2334#endif
2335      }
2336      break;
2337    }
2338    break;
2339  case 17:
2340    return constant_17 (aTHX_ name, iv_return);
2341    break;
2342  case 18:
2343    return constant_18 (aTHX_ name, iv_return);
2344    break;
2345  case 19:
2346    return constant_19 (aTHX_ name, iv_return);
2347    break;
2348  case 20:
2349    return constant_20 (aTHX_ name, iv_return);
2350    break;
2351  case 21:
2352    return constant_21 (aTHX_ name, iv_return);
2353    break;
2354  case 22:
2355    return constant_22 (aTHX_ name, iv_return);
2356    break;
2357  case 23:
2358    return constant_23 (aTHX_ name, iv_return);
2359    break;
2360  case 24:
2361    return constant_24 (aTHX_ name, iv_return);
2362    break;
2363  case 25:
2364    return constant_25 (aTHX_ name, iv_return);
2365    break;
2366  case 26:
2367    return constant_26 (aTHX_ name, iv_return);
2368    break;
2369  case 27:
2370    return constant_27 (aTHX_ name, iv_return);
2371    break;
2372  case 28:
2373    return constant_28 (aTHX_ name, iv_return);
2374    break;
2375  case 29:
2376    return constant_29 (aTHX_ name, iv_return);
2377    break;
2378  case 30:
2379    return constant_30 (aTHX_ name, iv_return);
2380    break;
2381  case 31:
2382    return constant_31 (aTHX_ name, iv_return);
2383    break;
2384  case 32:
2385    return constant_32 (aTHX_ name, iv_return);
2386    break;
2387  case 33:
2388    if (memEQ(name, "LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM", 33)) {
2389#ifdef LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM
2390      *iv_return = LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM;
2391      return PERL_constant_ISIV;
2392#else
2393      return PERL_constant_NOTDEF;
2394#endif
2395    }
2396    break;
2397  case 34:
2398    return constant_34 (aTHX_ name, iv_return);
2399    break;
2400  case 35:
2401    return constant_35 (aTHX_ name, iv_return);
2402    break;
2403  case 36:
2404    return constant_36 (aTHX_ name, iv_return);
2405    break;
2406  case 37:
2407    /* Names all of length 37.  */
2408    /* LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED
2409       LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED */
2410    /* Offset 27 gives the best switch position.  */
2411    switch (name[27]) {
2412    case 'T':
2413      if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED", 37)) {
2414      /*                                          ^                */
2415#ifdef LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED
2416        *iv_return = LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED;
2417        return PERL_constant_ISIV;
2418#else
2419        return PERL_constant_NOTDEF;
2420#endif
2421      }
2422      break;
2423    case 'W':
2424      if (memEQ(name, "LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED", 37)) {
2425      /*                                          ^                */
2426#ifdef LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED
2427        *iv_return = LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED;
2428        return PERL_constant_ISIV;
2429#else
2430        return PERL_constant_NOTDEF;
2431#endif
2432      }
2433      break;
2434    }
2435    break;
2436  }
2437  return PERL_constant_NOTFOUND;
2438}
2439
2440