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
14
typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
17
#define aTHX_ /* 5.6 or later define this for threading support. */
20
#define pTHX_ /* 5.6 or later define this for threading support. */
24
constant_11 (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
SRL_HDR_NEG SRL_HDR_PAD SRL_HDR_POS */
28
/* Offset 9 gives the best switch position. */
31
if (memEQ(name, "SRL_HDR_PAD", 11)) {
34
*iv_return = SRL_HDR_PAD;
35
return PERL_constant_ISIV;
37
return PERL_constant_NOTDEF;
42
if (memEQ(name, "SRL_HDR_NEG", 11)) {
45
*iv_return = SRL_HDR_NEG;
46
return PERL_constant_ISIV;
48
return PERL_constant_NOTDEF;
53
if (memEQ(name, "SRL_HDR_POS", 11)) {
56
*iv_return = SRL_HDR_POS;
57
return PERL_constant_ISIV;
59
return PERL_constant_NOTDEF;
64
return PERL_constant_NOTFOUND;
68
constant_12 (pTHX_ const char *name, IV *iv_return) {
69
/* When generated this function returned values for the list of names given
70
here. However, subsequent manual editing may have added or removed some.
71
SRL_HDR_COPY SRL_HDR_HASH SRL_HDR_MANY SRL_HDR_REFN SRL_HDR_REFP
73
/* Offset 10 gives the best switch position. */
76
if (memEQ(name, "SRL_HDR_REFN", 12)) {
79
*iv_return = SRL_HDR_REFN;
80
return PERL_constant_ISIV;
82
return PERL_constant_NOTDEF;
85
if (memEQ(name, "SRL_HDR_REFP", 12)) {
88
*iv_return = SRL_HDR_REFP;
89
return PERL_constant_ISIV;
91
return PERL_constant_NOTDEF;
96
if (memEQ(name, "SRL_HDR_MANY", 12)) {
99
*iv_return = SRL_HDR_MANY;
100
return PERL_constant_ISIV;
102
return PERL_constant_NOTDEF;
107
if (memEQ(name, "SRL_HDR_COPY", 12)) {
110
*iv_return = SRL_HDR_COPY;
111
return PERL_constant_ISIV;
113
return PERL_constant_NOTDEF;
118
if (memEQ(name, "SRL_HDR_HASH", 12)) {
121
*iv_return = SRL_HDR_HASH;
122
return PERL_constant_ISIV;
124
return PERL_constant_NOTDEF;
129
if (memEQ(name, "SRL_HDR_TRUE", 12)) {
132
*iv_return = SRL_HDR_TRUE;
133
return PERL_constant_ISIV;
135
return PERL_constant_NOTDEF;
140
return PERL_constant_NOTFOUND;
144
constant_13 (pTHX_ const char *name, IV *iv_return) {
145
/* When generated this function returned values for the list of names given
146
here. However, subsequent manual editing may have added or removed some.
147
SRL_HDR_ALIAS SRL_HDR_ARRAY SRL_HDR_FALSE SRL_HDR_FLOAT SRL_HDR_UNDEF */
148
/* Offset 10 gives the best switch position. */
151
if (memEQ(name, "SRL_HDR_UNDEF", 13)) {
154
*iv_return = SRL_HDR_UNDEF;
155
return PERL_constant_ISIV;
157
return PERL_constant_NOTDEF;
162
if (memEQ(name, "SRL_HDR_ALIAS", 13)) {
165
*iv_return = SRL_HDR_ALIAS;
166
return PERL_constant_ISIV;
168
return PERL_constant_NOTDEF;
173
if (memEQ(name, "SRL_HDR_FALSE", 13)) {
176
*iv_return = SRL_HDR_FALSE;
177
return PERL_constant_ISIV;
179
return PERL_constant_NOTDEF;
184
if (memEQ(name, "SRL_HDR_FLOAT", 13)) {
187
*iv_return = SRL_HDR_FLOAT;
188
return PERL_constant_ISIV;
190
return PERL_constant_NOTDEF;
195
if (memEQ(name, "SRL_HDR_ARRAY", 13)) {
198
*iv_return = SRL_HDR_ARRAY;
199
return PERL_constant_ISIV;
201
return PERL_constant_NOTDEF;
206
return PERL_constant_NOTFOUND;
210
constant_14 (pTHX_ const char *name, IV *iv_return) {
211
/* When generated this function returned values for the list of names given
212
here. However, subsequent manual editing may have added or removed some.
213
SRL_HDR_BINARY SRL_HDR_DOUBLE SRL_HDR_EXTEND SRL_HDR_OBJECT SRL_HDR_REGEXP
214
SRL_HDR_VARINT SRL_HDR_WEAKEN SRL_HDR_ZIGZAG */
215
/* Offset 8 gives the best switch position. */
218
if (memEQ(name, "SRL_HDR_BINARY", 14)) {
220
#ifdef SRL_HDR_BINARY
221
*iv_return = SRL_HDR_BINARY;
222
return PERL_constant_ISIV;
224
return PERL_constant_NOTDEF;
229
if (memEQ(name, "SRL_HDR_DOUBLE", 14)) {
231
#ifdef SRL_HDR_DOUBLE
232
*iv_return = SRL_HDR_DOUBLE;
233
return PERL_constant_ISIV;
235
return PERL_constant_NOTDEF;
240
if (memEQ(name, "SRL_HDR_EXTEND", 14)) {
242
#ifdef SRL_HDR_EXTEND
243
*iv_return = SRL_HDR_EXTEND;
244
return PERL_constant_ISIV;
246
return PERL_constant_NOTDEF;
251
if (memEQ(name, "SRL_HDR_OBJECT", 14)) {
253
#ifdef SRL_HDR_OBJECT
254
*iv_return = SRL_HDR_OBJECT;
255
return PERL_constant_ISIV;
257
return PERL_constant_NOTDEF;
262
if (memEQ(name, "SRL_HDR_REGEXP", 14)) {
264
#ifdef SRL_HDR_REGEXP
265
*iv_return = SRL_HDR_REGEXP;
266
return PERL_constant_ISIV;
268
return PERL_constant_NOTDEF;
273
if (memEQ(name, "SRL_HDR_VARINT", 14)) {
275
#ifdef SRL_HDR_VARINT
276
*iv_return = SRL_HDR_VARINT;
277
return PERL_constant_ISIV;
279
return PERL_constant_NOTDEF;
284
if (memEQ(name, "SRL_HDR_WEAKEN", 14)) {
286
#ifdef SRL_HDR_WEAKEN
287
*iv_return = SRL_HDR_WEAKEN;
288
return PERL_constant_ISIV;
290
return PERL_constant_NOTDEF;
295
if (memEQ(name, "SRL_HDR_ZIGZAG", 14)) {
297
#ifdef SRL_HDR_ZIGZAG
298
*iv_return = SRL_HDR_ZIGZAG;
299
return PERL_constant_ISIV;
301
return PERL_constant_NOTDEF;
306
return PERL_constant_NOTFOUND;
310
constant_15 (pTHX_ const char *name, IV *iv_return) {
311
/* When generated this function returned values for the list of names given
312
here. However, subsequent manual editing may have added or removed some.
313
SRL_HDR_HASHREF SRL_HDR_NEG_LOW SRL_HDR_OBJECTV SRL_HDR_POS_LOW */
314
/* Offset 8 gives the best switch position. */
317
if (memEQ(name, "SRL_HDR_HASHREF", 15)) {
319
#ifdef SRL_HDR_HASHREF
320
*iv_return = SRL_HDR_HASHREF;
321
return PERL_constant_ISIV;
323
return PERL_constant_NOTDEF;
328
if (memEQ(name, "SRL_HDR_NEG_LOW", 15)) {
330
#ifdef SRL_HDR_NEG_LOW
331
*iv_return = SRL_HDR_NEG_LOW;
332
return PERL_constant_ISIV;
334
return PERL_constant_NOTDEF;
339
if (memEQ(name, "SRL_HDR_OBJECTV", 15)) {
341
#ifdef SRL_HDR_OBJECTV
342
*iv_return = SRL_HDR_OBJECTV;
343
return PERL_constant_ISIV;
345
return PERL_constant_NOTDEF;
350
if (memEQ(name, "SRL_HDR_POS_LOW", 15)) {
352
#ifdef SRL_HDR_POS_LOW
353
*iv_return = SRL_HDR_POS_LOW;
354
return PERL_constant_ISIV;
356
return PERL_constant_NOTDEF;
361
return PERL_constant_NOTFOUND;
365
constant_16 (pTHX_ const char *name, IV *iv_return) {
366
/* When generated this function returned values for the list of names given
367
here. However, subsequent manual editing may have added or removed some.
368
SRL_HDR_ARRAYREF SRL_HDR_NEG_HIGH SRL_HDR_POS_HIGH SRL_HDR_RESERVED
369
SRL_HDR_STR_UTF8 SRL_NEG_MIN_SIZE SRL_POS_MAX_SIZE */
370
/* Offset 8 gives the best switch position. */
373
if (memEQ(name, "SRL_HDR_ARRAYREF", 16)) {
375
#ifdef SRL_HDR_ARRAYREF
376
*iv_return = SRL_HDR_ARRAYREF;
377
return PERL_constant_ISIV;
379
return PERL_constant_NOTDEF;
384
if (memEQ(name, "SRL_NEG_MIN_SIZE", 16)) {
386
#ifdef SRL_NEG_MIN_SIZE
387
*iv_return = SRL_NEG_MIN_SIZE;
388
return PERL_constant_ISIV;
390
return PERL_constant_NOTDEF;
393
if (memEQ(name, "SRL_POS_MAX_SIZE", 16)) {
395
#ifdef SRL_POS_MAX_SIZE
396
*iv_return = SRL_POS_MAX_SIZE;
397
return PERL_constant_ISIV;
399
return PERL_constant_NOTDEF;
404
if (memEQ(name, "SRL_HDR_NEG_HIGH", 16)) {
406
#ifdef SRL_HDR_NEG_HIGH
407
*iv_return = SRL_HDR_NEG_HIGH;
408
return PERL_constant_ISIV;
410
return PERL_constant_NOTDEF;
415
if (memEQ(name, "SRL_HDR_POS_HIGH", 16)) {
417
#ifdef SRL_HDR_POS_HIGH
418
*iv_return = SRL_HDR_POS_HIGH;
419
return PERL_constant_ISIV;
421
return PERL_constant_NOTDEF;
426
if (memEQ(name, "SRL_HDR_RESERVED", 16)) {
428
#ifdef SRL_HDR_RESERVED
429
*iv_return = SRL_HDR_RESERVED;
430
return PERL_constant_ISIV;
432
return PERL_constant_NOTDEF;
437
if (memEQ(name, "SRL_HDR_STR_UTF8", 16)) {
439
#ifdef SRL_HDR_STR_UTF8
440
*iv_return = SRL_HDR_STR_UTF8;
441
return PERL_constant_ISIV;
443
return PERL_constant_NOTDEF;
448
return PERL_constant_NOTFOUND;
452
constant_20 (pTHX_ const char *name, IV *iv_return) {
453
/* When generated this function returned values for the list of names given
454
here. However, subsequent manual editing may have added or removed some.
455
SRL_HDR_ARRAYREF_LOW SRL_HDR_HASHREF_HIGH SRL_HDR_PACKET_START
456
SRL_HDR_RESERVED_LOW SRL_HDR_SHORT_BINARY SRL_PROTOCOL_VERSION */
457
/* Offset 11 gives the best switch position. */
460
if (memEQ(name, "SRL_HDR_ARRAYREF_LOW", 20)) {
462
#ifdef SRL_HDR_ARRAYREF_LOW
463
*iv_return = SRL_HDR_ARRAYREF_LOW;
464
return PERL_constant_ISIV;
466
return PERL_constant_NOTDEF;
471
if (memEQ(name, "SRL_HDR_RESERVED_LOW", 20)) {
473
#ifdef SRL_HDR_RESERVED_LOW
474
*iv_return = SRL_HDR_RESERVED_LOW;
475
return PERL_constant_ISIV;
477
return PERL_constant_NOTDEF;
482
if (memEQ(name, "SRL_HDR_HASHREF_HIGH", 20)) {
484
#ifdef SRL_HDR_HASHREF_HIGH
485
*iv_return = SRL_HDR_HASHREF_HIGH;
486
return PERL_constant_ISIV;
488
return PERL_constant_NOTDEF;
493
if (memEQ(name, "SRL_HDR_PACKET_START", 20)) {
495
#ifdef SRL_HDR_PACKET_START
496
*iv_return = SRL_HDR_PACKET_START;
497
return PERL_constant_ISIV;
499
return PERL_constant_NOTDEF;
504
if (memEQ(name, "SRL_PROTOCOL_VERSION", 20)) {
506
#ifdef SRL_PROTOCOL_VERSION
507
*iv_return = SRL_PROTOCOL_VERSION;
508
return PERL_constant_ISIV;
510
return PERL_constant_NOTDEF;
515
if (memEQ(name, "SRL_HDR_SHORT_BINARY", 20)) {
517
#ifdef SRL_HDR_SHORT_BINARY
518
*iv_return = SRL_HDR_SHORT_BINARY;
519
return PERL_constant_ISIV;
521
return PERL_constant_NOTDEF;
526
return PERL_constant_NOTFOUND;
530
constant_25 (pTHX_ const char *name, IV *iv_return) {
531
/* When generated this function returned values for the list of names given
532
here. However, subsequent manual editing may have added or removed some.
533
SRL_HDR_SHORT_BINARY_HIGH SRL_MASK_SHORT_BINARY_LEN
534
SRL_PROTOCOL_ENCODING_RAW SRL_PROTOCOL_VERSION_BITS
535
SRL_PROTOCOL_VERSION_MASK */
536
/* Offset 24 gives the best switch position. */
539
if (memEQ(name, "SRL_HDR_SHORT_BINARY_HIG", 24)) {
541
#ifdef SRL_HDR_SHORT_BINARY_HIGH
542
*iv_return = SRL_HDR_SHORT_BINARY_HIGH;
543
return PERL_constant_ISIV;
545
return PERL_constant_NOTDEF;
550
if (memEQ(name, "SRL_PROTOCOL_VERSION_MAS", 24)) {
552
#ifdef SRL_PROTOCOL_VERSION_MASK
553
*iv_return = SRL_PROTOCOL_VERSION_MASK;
554
return PERL_constant_ISIV;
556
return PERL_constant_NOTDEF;
561
if (memEQ(name, "SRL_MASK_SHORT_BINARY_LE", 24)) {
563
#ifdef SRL_MASK_SHORT_BINARY_LEN
564
*iv_return = SRL_MASK_SHORT_BINARY_LEN;
565
return PERL_constant_ISIV;
567
return PERL_constant_NOTDEF;
572
if (memEQ(name, "SRL_PROTOCOL_VERSION_BIT", 24)) {
574
#ifdef SRL_PROTOCOL_VERSION_BITS
575
*iv_return = SRL_PROTOCOL_VERSION_BITS;
576
return PERL_constant_ISIV;
578
return PERL_constant_NOTDEF;
583
if (memEQ(name, "SRL_PROTOCOL_ENCODING_RA", 24)) {
585
#ifdef SRL_PROTOCOL_ENCODING_RAW
586
*iv_return = SRL_PROTOCOL_ENCODING_RAW;
587
return PERL_constant_ISIV;
589
return PERL_constant_NOTDEF;
594
return PERL_constant_NOTFOUND;
598
constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
599
/* Initially switch on the length of the name. */
600
/* When generated this function returned values for the list of names given
601
in this section of perl code. Rather than manually editing these functions
602
to add or remove constants, which would result in this comment and section
603
of code becoming inaccurate, we recommend that you edit this section of
604
code, and use it to regenerate a new set of constant functions which you
605
then use to replace the originals.
607
Regenerate these constant functions by feeding this entire source file to
611
use ExtUtils::Constant qw (constant_types C_constant XS_constant);
613
my $types = {map {($_, 1)} qw(IV)};
614
my @names = (qw(SRL_HDR_ALIAS SRL_HDR_ARRAY SRL_HDR_ARRAYREF
615
SRL_HDR_ARRAYREF_HIGH SRL_HDR_ARRAYREF_LOW SRL_HDR_BINARY
616
SRL_HDR_COPY SRL_HDR_DOUBLE SRL_HDR_EXTEND SRL_HDR_FALSE
617
SRL_HDR_FLOAT SRL_HDR_HASH SRL_HDR_HASHREF SRL_HDR_HASHREF_HIGH
618
SRL_HDR_HASHREF_LOW SRL_HDR_LONG_DOUBLE SRL_HDR_MANY SRL_HDR_NEG
619
SRL_HDR_NEG_HIGH SRL_HDR_NEG_LOW SRL_HDR_OBJECT SRL_HDR_OBJECTV
620
SRL_HDR_PACKET_START SRL_HDR_PAD SRL_HDR_POS SRL_HDR_POS_HIGH
621
SRL_HDR_POS_LOW SRL_HDR_REFN SRL_HDR_REFP SRL_HDR_REGEXP
622
SRL_HDR_RESERVED SRL_HDR_RESERVED_HIGH SRL_HDR_RESERVED_LOW
623
SRL_HDR_SHORT_BINARY SRL_HDR_SHORT_BINARY_HIGH
624
SRL_HDR_SHORT_BINARY_LOW SRL_HDR_STR_UTF8 SRL_HDR_TRACK_FLAG
625
SRL_HDR_TRUE SRL_HDR_UNDEF SRL_HDR_VARINT SRL_HDR_WEAKEN
626
SRL_HDR_ZIGZAG SRL_MAGIC_STRING_LILIPUTIAN
627
SRL_MASK_ARRAYREF_COUNT SRL_MASK_HASHREF_COUNT
628
SRL_MASK_SHORT_BINARY_LEN SRL_NEG_MIN_SIZE SRL_POS_MAX_SIZE
629
SRL_PROTOCOL_ENCODING_MASK SRL_PROTOCOL_ENCODING_RAW
630
SRL_PROTOCOL_ENCODING_SNAPPY
631
SRL_PROTOCOL_ENCODING_SNAPPY_INCREMENTAL SRL_PROTOCOL_VERSION
632
SRL_PROTOCOL_VERSION_BITS SRL_PROTOCOL_VERSION_MASK));
634
print constant_types(), "\n"; # macro defs
635
foreach (C_constant ("Sereal::Encoder::Constants", 'constant', 'IV', $types, undef, 3, @names) ) {
636
print $_, "\n"; # C constant subs
638
print "\n#### XS Section:\n";
639
print XS_constant ("Sereal::Encoder::Constants", $types);
645
return constant_11 (aTHX_ name, iv_return);
648
return constant_12 (aTHX_ name, iv_return);
651
return constant_13 (aTHX_ name, iv_return);
654
return constant_14 (aTHX_ name, iv_return);
657
return constant_15 (aTHX_ name, iv_return);
660
return constant_16 (aTHX_ name, iv_return);
663
if (memEQ(name, "SRL_HDR_TRACK_FLAG", 18)) {
664
#ifdef SRL_HDR_TRACK_FLAG
665
*iv_return = SRL_HDR_TRACK_FLAG;
666
return PERL_constant_ISIV;
668
return PERL_constant_NOTDEF;
673
/* Names all of length 19. */
674
/* SRL_HDR_HASHREF_LOW SRL_HDR_LONG_DOUBLE */
675
/* Offset 11 gives the best switch position. */
678
if (memEQ(name, "SRL_HDR_LONG_DOUBLE", 19)) {
680
#ifdef SRL_HDR_LONG_DOUBLE
681
*iv_return = SRL_HDR_LONG_DOUBLE;
682
return PERL_constant_ISIV;
684
return PERL_constant_NOTDEF;
689
if (memEQ(name, "SRL_HDR_HASHREF_LOW", 19)) {
691
#ifdef SRL_HDR_HASHREF_LOW
692
*iv_return = SRL_HDR_HASHREF_LOW;
693
return PERL_constant_ISIV;
695
return PERL_constant_NOTDEF;
702
return constant_20 (aTHX_ name, iv_return);
705
/* Names all of length 21. */
706
/* SRL_HDR_ARRAYREF_HIGH SRL_HDR_RESERVED_HIGH */
707
/* Offset 10 gives the best switch position. */
710
if (memEQ(name, "SRL_HDR_ARRAYREF_HIGH", 21)) {
712
#ifdef SRL_HDR_ARRAYREF_HIGH
713
*iv_return = SRL_HDR_ARRAYREF_HIGH;
714
return PERL_constant_ISIV;
716
return PERL_constant_NOTDEF;
721
if (memEQ(name, "SRL_HDR_RESERVED_HIGH", 21)) {
723
#ifdef SRL_HDR_RESERVED_HIGH
724
*iv_return = SRL_HDR_RESERVED_HIGH;
725
return PERL_constant_ISIV;
727
return PERL_constant_NOTDEF;
734
if (memEQ(name, "SRL_MASK_HASHREF_COUNT", 22)) {
735
#ifdef SRL_MASK_HASHREF_COUNT
736
*iv_return = SRL_MASK_HASHREF_COUNT;
737
return PERL_constant_ISIV;
739
return PERL_constant_NOTDEF;
744
if (memEQ(name, "SRL_MASK_ARRAYREF_COUNT", 23)) {
745
#ifdef SRL_MASK_ARRAYREF_COUNT
746
*iv_return = SRL_MASK_ARRAYREF_COUNT;
747
return PERL_constant_ISIV;
749
return PERL_constant_NOTDEF;
754
if (memEQ(name, "SRL_HDR_SHORT_BINARY_LOW", 24)) {
755
#ifdef SRL_HDR_SHORT_BINARY_LOW
756
*iv_return = SRL_HDR_SHORT_BINARY_LOW;
757
return PERL_constant_ISIV;
759
return PERL_constant_NOTDEF;
764
return constant_25 (aTHX_ name, iv_return);
767
if (memEQ(name, "SRL_PROTOCOL_ENCODING_MASK", 26)) {
768
#ifdef SRL_PROTOCOL_ENCODING_MASK
769
*iv_return = SRL_PROTOCOL_ENCODING_MASK;
770
return PERL_constant_ISIV;
772
return PERL_constant_NOTDEF;
777
if (memEQ(name, "SRL_MAGIC_STRING_LILIPUTIAN", 27)) {
778
#ifdef SRL_MAGIC_STRING_LILIPUTIAN
779
*iv_return = SRL_MAGIC_STRING_LILIPUTIAN;
780
return PERL_constant_ISIV;
782
return PERL_constant_NOTDEF;
787
if (memEQ(name, "SRL_PROTOCOL_ENCODING_SNAPPY", 28)) {
788
#ifdef SRL_PROTOCOL_ENCODING_SNAPPY
789
*iv_return = SRL_PROTOCOL_ENCODING_SNAPPY;
790
return PERL_constant_ISIV;
792
return PERL_constant_NOTDEF;
797
if (memEQ(name, "SRL_PROTOCOL_ENCODING_SNAPPY_INCREMENTAL", 40)) {
798
#ifdef SRL_PROTOCOL_ENCODING_SNAPPY_INCREMENTAL
799
*iv_return = SRL_PROTOCOL_ENCODING_SNAPPY_INCREMENTAL;
800
return PERL_constant_ISIV;
802
return PERL_constant_NOTDEF;
807
return PERL_constant_NOTFOUND;