PageRenderTime 47ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/dnssec-tools-1.13/tools/modules/Net-addrinfo/const-c.inc

#
Pascal | 675 lines | 187 code | 12 blank | 476 comment | 36 complexity | 40a59c574f3c3e7b2fc8403f36760dc1 MD5 | raw file
Possible License(s): BSD-3-Clause
  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. #ifndef NVTYPE
  13. typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
  14. #endif
  15. #ifndef aTHX_
  16. #define aTHX_ /* 5.6 or later define this for threading support. */
  17. #endif
  18. #ifndef pTHX_
  19. #define pTHX_ /* 5.6 or later define this for threading support. */
  20. #endif
  21. static int
  22. constant_6 (pTHX_ const char *name, IV *iv_return) {
  23. /* When generated this function returned values for the list of names given
  24. here. However, subsequent manual editing may have added or removed some.
  25. AI_ALL AI_IDN NI_IDN */
  26. /* Offset 4 gives the best switch position. */
  27. switch (name[4]) {
  28. case 'D':
  29. if (memEQ(name, "AI_IDN", 6)) {
  30. /* ^ */
  31. #ifdef AI_IDN
  32. *iv_return = AI_IDN;
  33. return PERL_constant_ISIV;
  34. #else
  35. return PERL_constant_NOTDEF;
  36. #endif
  37. }
  38. if (memEQ(name, "NI_IDN", 6)) {
  39. /* ^ */
  40. #ifdef NI_IDN
  41. *iv_return = NI_IDN;
  42. return PERL_constant_ISIV;
  43. #else
  44. return PERL_constant_NOTDEF;
  45. #endif
  46. }
  47. break;
  48. case 'L':
  49. if (memEQ(name, "AI_ALL", 6)) {
  50. /* ^ */
  51. #ifdef AI_ALL
  52. *iv_return = AI_ALL;
  53. return PERL_constant_ISIV;
  54. #else
  55. return PERL_constant_NOTDEF;
  56. #endif
  57. }
  58. break;
  59. }
  60. return PERL_constant_NOTFOUND;
  61. }
  62. static int
  63. constant_8 (pTHX_ const char *name, IV *iv_return) {
  64. /* When generated this function returned values for the list of names given
  65. here. However, subsequent manual editing may have added or removed some.
  66. EAI_FAIL EAI_INTR GAI_WAIT NI_DGRAM */
  67. /* Offset 7 gives the best switch position. */
  68. switch (name[7]) {
  69. case 'L':
  70. if (memEQ(name, "EAI_FAI", 7)) {
  71. /* L */
  72. #ifdef EAI_FAIL
  73. *iv_return = EAI_FAIL;
  74. return PERL_constant_ISIV;
  75. #else
  76. return PERL_constant_NOTDEF;
  77. #endif
  78. }
  79. break;
  80. case 'M':
  81. if (memEQ(name, "NI_DGRA", 7)) {
  82. /* M */
  83. #ifdef NI_DGRAM
  84. *iv_return = NI_DGRAM;
  85. return PERL_constant_ISIV;
  86. #else
  87. return PERL_constant_NOTDEF;
  88. #endif
  89. }
  90. break;
  91. case 'R':
  92. if (memEQ(name, "EAI_INT", 7)) {
  93. /* R */
  94. #ifdef EAI_INTR
  95. *iv_return = EAI_INTR;
  96. return PERL_constant_ISIV;
  97. #else
  98. return PERL_constant_NOTDEF;
  99. #endif
  100. }
  101. break;
  102. case 'T':
  103. if (memEQ(name, "GAI_WAI", 7)) {
  104. /* T */
  105. #ifdef GAI_WAIT
  106. *iv_return = GAI_WAIT;
  107. return PERL_constant_ISIV;
  108. #else
  109. return PERL_constant_NOTDEF;
  110. #endif
  111. }
  112. break;
  113. }
  114. return PERL_constant_NOTFOUND;
  115. }
  116. static int
  117. constant_9 (pTHX_ const char *name, IV *iv_return) {
  118. /* When generated this function returned values for the list of names given
  119. here. However, subsequent manual editing may have added or removed some.
  120. EAI_AGAIN NI_NOFQDN */
  121. /* Offset 0 gives the best switch position. */
  122. switch (*name++) {
  123. case 'E':
  124. if (memEQ(name, "AI_AGAIN", 8)) {
  125. /* E */
  126. #ifdef EAI_AGAIN
  127. *iv_return = EAI_AGAIN;
  128. return PERL_constant_ISIV;
  129. #else
  130. return PERL_constant_NOTDEF;
  131. #endif
  132. }
  133. break;
  134. case 'N':
  135. if (memEQ(name, "I_NOFQDN", 8)) {
  136. /* N */
  137. #ifdef NI_NOFQDN
  138. *iv_return = NI_NOFQDN;
  139. return PERL_constant_ISIV;
  140. #else
  141. return PERL_constant_NOTDEF;
  142. #endif
  143. }
  144. break;
  145. }
  146. return PERL_constant_NOTFOUND;
  147. }
  148. static int
  149. constant_10 (pTHX_ const char *name, IV *iv_return) {
  150. /* When generated this function returned values for the list of names given
  151. here. However, subsequent manual editing may have added or removed some.
  152. AI_PASSIVE EAI_FAMILY EAI_MEMORY EAI_NODATA EAI_NONAME EAI_SYSTEM
  153. GAI_NOWAIT NI_MAXHOST NI_MAXSERV */
  154. /* Offset 8 gives the best switch position. */
  155. switch (name[8]) {
  156. case 'E':
  157. if (memEQ(name, "EAI_SYSTEM", 10)) {
  158. /* ^ */
  159. #ifdef EAI_SYSTEM
  160. *iv_return = EAI_SYSTEM;
  161. return PERL_constant_ISIV;
  162. #else
  163. return PERL_constant_NOTDEF;
  164. #endif
  165. }
  166. break;
  167. case 'I':
  168. if (memEQ(name, "GAI_NOWAIT", 10)) {
  169. /* ^ */
  170. #ifdef GAI_NOWAIT
  171. *iv_return = GAI_NOWAIT;
  172. return PERL_constant_ISIV;
  173. #else
  174. return PERL_constant_NOTDEF;
  175. #endif
  176. }
  177. break;
  178. case 'L':
  179. if (memEQ(name, "EAI_FAMILY", 10)) {
  180. /* ^ */
  181. #ifdef EAI_FAMILY
  182. *iv_return = EAI_FAMILY;
  183. return PERL_constant_ISIV;
  184. #else
  185. return PERL_constant_NOTDEF;
  186. #endif
  187. }
  188. break;
  189. case 'M':
  190. if (memEQ(name, "EAI_NONAME", 10)) {
  191. /* ^ */
  192. #ifdef EAI_NONAME
  193. *iv_return = EAI_NONAME;
  194. return PERL_constant_ISIV;
  195. #else
  196. return PERL_constant_NOTDEF;
  197. #endif
  198. }
  199. break;
  200. case 'R':
  201. if (memEQ(name, "EAI_MEMORY", 10)) {
  202. /* ^ */
  203. #ifdef EAI_MEMORY
  204. *iv_return = EAI_MEMORY;
  205. return PERL_constant_ISIV;
  206. #else
  207. return PERL_constant_NOTDEF;
  208. #endif
  209. }
  210. if (memEQ(name, "NI_MAXSERV", 10)) {
  211. /* ^ */
  212. #ifdef NI_MAXSERV
  213. *iv_return = NI_MAXSERV;
  214. return PERL_constant_ISIV;
  215. #else
  216. return PERL_constant_NOTDEF;
  217. #endif
  218. }
  219. break;
  220. case 'S':
  221. if (memEQ(name, "NI_MAXHOST", 10)) {
  222. /* ^ */
  223. #ifdef NI_MAXHOST
  224. *iv_return = NI_MAXHOST;
  225. return PERL_constant_ISIV;
  226. #else
  227. return PERL_constant_NOTDEF;
  228. #endif
  229. }
  230. break;
  231. case 'T':
  232. if (memEQ(name, "EAI_NODATA", 10)) {
  233. /* ^ */
  234. #ifdef EAI_NODATA
  235. *iv_return = EAI_NODATA;
  236. return PERL_constant_ISIV;
  237. #else
  238. return PERL_constant_NOTDEF;
  239. #endif
  240. }
  241. break;
  242. case 'V':
  243. if (memEQ(name, "AI_PASSIVE", 10)) {
  244. /* ^ */
  245. #ifdef AI_PASSIVE
  246. *iv_return = AI_PASSIVE;
  247. return PERL_constant_ISIV;
  248. #else
  249. return PERL_constant_NOTDEF;
  250. #endif
  251. }
  252. break;
  253. }
  254. return PERL_constant_NOTFOUND;
  255. }
  256. static int
  257. constant_11 (pTHX_ const char *name, IV *iv_return) {
  258. /* When generated this function returned values for the list of names given
  259. here. However, subsequent manual editing may have added or removed some.
  260. AI_CANONIDN AI_V4MAPPED EAI_ALLDONE EAI_SERVICE NI_NAMEREQD */
  261. /* Offset 9 gives the best switch position. */
  262. switch (name[9]) {
  263. case 'C':
  264. if (memEQ(name, "EAI_SERVICE", 11)) {
  265. /* ^ */
  266. #ifdef EAI_SERVICE
  267. *iv_return = EAI_SERVICE;
  268. return PERL_constant_ISIV;
  269. #else
  270. return PERL_constant_NOTDEF;
  271. #endif
  272. }
  273. break;
  274. case 'D':
  275. if (memEQ(name, "AI_CANONIDN", 11)) {
  276. /* ^ */
  277. #ifdef AI_CANONIDN
  278. *iv_return = AI_CANONIDN;
  279. return PERL_constant_ISIV;
  280. #else
  281. return PERL_constant_NOTDEF;
  282. #endif
  283. }
  284. break;
  285. case 'E':
  286. if (memEQ(name, "AI_V4MAPPED", 11)) {
  287. /* ^ */
  288. #ifdef AI_V4MAPPED
  289. *iv_return = AI_V4MAPPED;
  290. return PERL_constant_ISIV;
  291. #else
  292. return PERL_constant_NOTDEF;
  293. #endif
  294. }
  295. break;
  296. case 'N':
  297. if (memEQ(name, "EAI_ALLDONE", 11)) {
  298. /* ^ */
  299. #ifdef EAI_ALLDONE
  300. *iv_return = EAI_ALLDONE;
  301. return PERL_constant_ISIV;
  302. #else
  303. return PERL_constant_NOTDEF;
  304. #endif
  305. }
  306. break;
  307. case 'Q':
  308. if (memEQ(name, "NI_NAMEREQD", 11)) {
  309. /* ^ */
  310. #ifdef NI_NAMEREQD
  311. *iv_return = NI_NAMEREQD;
  312. return PERL_constant_ISIV;
  313. #else
  314. return PERL_constant_NOTDEF;
  315. #endif
  316. }
  317. break;
  318. }
  319. return PERL_constant_NOTFOUND;
  320. }
  321. static int
  322. constant_12 (pTHX_ const char *name, IV *iv_return) {
  323. /* When generated this function returned values for the list of names given
  324. here. However, subsequent manual editing may have added or removed some.
  325. AI_CANONNAME EAI_BADFLAGS EAI_CANCELED EAI_OVERFLOW EAI_SOCKTYPE EAI_BADHINTS */
  326. /* Offset 10 gives the best switch position. */
  327. switch (name[10]) {
  328. case 'E':
  329. if (memEQ(name, "EAI_CANCELED", 12)) {
  330. /* ^ */
  331. #ifdef EAI_CANCELED
  332. *iv_return = EAI_CANCELED;
  333. return PERL_constant_ISIV;
  334. #else
  335. return PERL_constant_NOTDEF;
  336. #endif
  337. }
  338. break;
  339. case 'G':
  340. if (memEQ(name, "EAI_BADFLAGS", 12)) {
  341. /* ^ */
  342. #ifdef EAI_BADFLAGS
  343. *iv_return = EAI_BADFLAGS;
  344. return PERL_constant_ISIV;
  345. #else
  346. return PERL_constant_NOTDEF;
  347. #endif
  348. }
  349. break;
  350. case 'M':
  351. if (memEQ(name, "AI_CANONNAME", 12)) {
  352. /* ^ */
  353. #ifdef AI_CANONNAME
  354. *iv_return = AI_CANONNAME;
  355. return PERL_constant_ISIV;
  356. #else
  357. return PERL_constant_NOTDEF;
  358. #endif
  359. }
  360. break;
  361. case 'O':
  362. if (memEQ(name, "EAI_OVERFLOW", 12)) {
  363. /* ^ */
  364. #ifdef EAI_OVERFLOW
  365. *iv_return = EAI_OVERFLOW;
  366. return PERL_constant_ISIV;
  367. #else
  368. return PERL_constant_NOTDEF;
  369. #endif
  370. }
  371. break;
  372. case 'P':
  373. if (memEQ(name, "EAI_SOCKTYPE", 12)) {
  374. /* ^ */
  375. #ifdef EAI_SOCKTYPE
  376. *iv_return = EAI_SOCKTYPE;
  377. return PERL_constant_ISIV;
  378. #else
  379. return PERL_constant_NOTDEF;
  380. #endif
  381. }
  382. break;
  383. case 'T':
  384. if (memEQ(name, "EAI_BADHINTS", 12)) {
  385. /* ^ */
  386. #ifdef EAI_BADHINTS
  387. *iv_return = EAI_BADHINTS;
  388. return PERL_constant_ISIV;
  389. #else
  390. return PERL_constant_NOTDEF;
  391. #endif
  392. }
  393. break;
  394. }
  395. return PERL_constant_NOTFOUND;
  396. }
  397. static int
  398. constant_14 (pTHX_ const char *name, IV *iv_return) {
  399. /* When generated this function returned values for the list of names given
  400. here. However, subsequent manual editing may have added or removed some.
  401. AI_NUMERICHOST AI_NUMERICSERV EAI_ADDRFAMILY EAI_IDN_ENCODE EAI_INPROGRESS
  402. NI_NUMERICHOST NI_NUMERICSERV */
  403. /* Offset 13 gives the best switch position. */
  404. switch (name[13]) {
  405. case 'E':
  406. if (memEQ(name, "EAI_IDN_ENCOD", 13)) {
  407. /* E */
  408. #ifdef EAI_IDN_ENCODE
  409. *iv_return = EAI_IDN_ENCODE;
  410. return PERL_constant_ISIV;
  411. #else
  412. return PERL_constant_NOTDEF;
  413. #endif
  414. }
  415. break;
  416. case 'S':
  417. if (memEQ(name, "EAI_INPROGRES", 13)) {
  418. /* S */
  419. #ifdef EAI_INPROGRESS
  420. *iv_return = EAI_INPROGRESS;
  421. return PERL_constant_ISIV;
  422. #else
  423. return PERL_constant_NOTDEF;
  424. #endif
  425. }
  426. break;
  427. case 'T':
  428. if (memEQ(name, "AI_NUMERICHOS", 13)) {
  429. /* T */
  430. #ifdef AI_NUMERICHOST
  431. *iv_return = AI_NUMERICHOST;
  432. return PERL_constant_ISIV;
  433. #else
  434. return PERL_constant_NOTDEF;
  435. #endif
  436. }
  437. if (memEQ(name, "NI_NUMERICHOS", 13)) {
  438. /* T */
  439. #ifdef NI_NUMERICHOST
  440. *iv_return = NI_NUMERICHOST;
  441. return PERL_constant_ISIV;
  442. #else
  443. return PERL_constant_NOTDEF;
  444. #endif
  445. }
  446. break;
  447. case 'V':
  448. if (memEQ(name, "AI_NUMERICSER", 13)) {
  449. /* V */
  450. #ifdef AI_NUMERICSERV
  451. *iv_return = AI_NUMERICSERV;
  452. return PERL_constant_ISIV;
  453. #else
  454. return PERL_constant_NOTDEF;
  455. #endif
  456. }
  457. if (memEQ(name, "NI_NUMERICSER", 13)) {
  458. /* V */
  459. #ifdef NI_NUMERICSERV
  460. *iv_return = NI_NUMERICSERV;
  461. return PERL_constant_ISIV;
  462. #else
  463. return PERL_constant_NOTDEF;
  464. #endif
  465. }
  466. break;
  467. case 'Y':
  468. if (memEQ(name, "EAI_ADDRFAMIL", 13)) {
  469. /* Y */
  470. #ifdef EAI_ADDRFAMILY
  471. *iv_return = EAI_ADDRFAMILY;
  472. return PERL_constant_ISIV;
  473. #else
  474. return PERL_constant_NOTDEF;
  475. #endif
  476. }
  477. break;
  478. }
  479. return PERL_constant_NOTFOUND;
  480. }
  481. static int
  482. constant_15 (pTHX_ const char *name, IV *iv_return) {
  483. /* When generated this function returned values for the list of names given
  484. here. However, subsequent manual editing may have added or removed some.
  485. EAI_NOTCANCELED IPPORT_RESERVED SCOPE_DELIMITER */
  486. /* Offset 2 gives the best switch position. */
  487. switch (name[2]) {
  488. case 'I':
  489. if (memEQ(name, "EAI_NOTCANCELED", 15)) {
  490. /* ^ */
  491. #ifdef EAI_NOTCANCELED
  492. *iv_return = EAI_NOTCANCELED;
  493. return PERL_constant_ISIV;
  494. #else
  495. return PERL_constant_NOTDEF;
  496. #endif
  497. }
  498. break;
  499. case 'O':
  500. if (memEQ(name, "SCOPE_DELIMITER", 15)) {
  501. /* ^ */
  502. #ifdef SCOPE_DELIMITER
  503. *iv_return = SCOPE_DELIMITER;
  504. return PERL_constant_ISIV;
  505. #else
  506. return PERL_constant_NOTDEF;
  507. #endif
  508. }
  509. break;
  510. case 'P':
  511. if (memEQ(name, "IPPORT_RESERVED", 15)) {
  512. /* ^ */
  513. #ifdef IPPORT_RESERVED
  514. *iv_return = IPPORT_RESERVED;
  515. return PERL_constant_ISIV;
  516. #else
  517. return PERL_constant_NOTDEF;
  518. #endif
  519. }
  520. break;
  521. }
  522. return PERL_constant_NOTFOUND;
  523. }
  524. static int
  525. constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
  526. /* Initially switch on the length of the name. */
  527. /* When generated this function returned values for the list of names given
  528. in this section of perl code. Rather than manually editing these functions
  529. to add or remove constants, which would result in this comment and section
  530. of code becoming inaccurate, we recommend that you edit this section of
  531. code, and use it to regenerate a new set of constant functions which you
  532. then use to replace the originals.
  533. Regenerate these constant functions by feeding this entire source file to
  534. perl -x
  535. #!/usr/bin/perl -w
  536. use ExtUtils::Constant qw (constant_types C_constant XS_constant);
  537. my $types = {map {($_, 1)} qw(IV)};
  538. my @names = (qw(AI_ADDRCONFIG AI_ALL AI_CANONIDN AI_CANONNAME AI_IDN
  539. AI_IDN_ALLOW_UNASSIGNED AI_IDN_USE_STD3_ASCII_RULES
  540. AI_NUMERICHOST AI_NUMERICSERV AI_PASSIVE AI_V4MAPPED
  541. EAI_ADDRFAMILY EAI_AGAIN EAI_ALLDONE EAI_BADFLAGS EAI_CANCELED
  542. EAI_FAIL EAI_FAMILY EAI_IDN_ENCODE EAI_INPROGRESS EAI_INTR
  543. EAI_MEMORY EAI_NODATA EAI_NONAME EAI_NOTCANCELED EAI_OVERFLOW
  544. EAI_SERVICE EAI_SOCKTYPE EAI_BADHINTS EAI_SYSTEM GAI_NOWAIT GAI_WAIT
  545. NI_DGRAM NI_IDN NI_IDN_ALLOW_UNASSIGNED
  546. NI_IDN_USE_STD3_ASCII_RULES NI_MAXHOST NI_MAXSERV NI_NAMEREQD
  547. NI_NOFQDN NI_NUMERICHOST NI_NUMERICSERV));
  548. print constant_types(); # macro defs
  549. foreach (C_constant ("Netdb", 'constant', 'IV', $types, undef, 3, @names) ) {
  550. print $_, "\n"; # C constant subs
  551. }
  552. print "#### XS Section:\n";
  553. print XS_constant ("Netdb", $types);
  554. __END__
  555. */
  556. switch (len) {
  557. case 6:
  558. return constant_6 (aTHX_ name, iv_return);
  559. break;
  560. case 8:
  561. return constant_8 (aTHX_ name, iv_return);
  562. break;
  563. case 9:
  564. return constant_9 (aTHX_ name, iv_return);
  565. break;
  566. case 10:
  567. return constant_10 (aTHX_ name, iv_return);
  568. break;
  569. case 11:
  570. return constant_11 (aTHX_ name, iv_return);
  571. break;
  572. case 12:
  573. return constant_12 (aTHX_ name, iv_return);
  574. break;
  575. case 13:
  576. /* Names all of length 13. */
  577. /* AI_ADDRCONFIG NETDB_SUCCESS */
  578. /* Offset 6 gives the best switch position. */
  579. switch (name[6]) {
  580. case 'R':
  581. if (memEQ(name, "AI_ADDRCONFIG", 13)) {
  582. /* ^ */
  583. #ifdef AI_ADDRCONFIG
  584. *iv_return = AI_ADDRCONFIG;
  585. return PERL_constant_ISIV;
  586. #else
  587. return PERL_constant_NOTDEF;
  588. #endif
  589. }
  590. break;
  591. }
  592. break;
  593. case 14:
  594. return constant_14 (aTHX_ name, iv_return);
  595. break;
  596. case 15:
  597. return constant_15 (aTHX_ name, iv_return);
  598. break;
  599. case 23:
  600. /* Names all of length 23. */
  601. /* AI_IDN_ALLOW_UNASSIGNED NI_IDN_ALLOW_UNASSIGNED */
  602. /* Offset 0 gives the best switch position. */
  603. switch (*name++) {
  604. case 'A':
  605. if (memEQ(name, "I_IDN_ALLOW_UNASSIGNED", 22)) {
  606. /* A */
  607. #ifdef AI_IDN_ALLOW_UNASSIGNED
  608. *iv_return = AI_IDN_ALLOW_UNASSIGNED;
  609. return PERL_constant_ISIV;
  610. #else
  611. return PERL_constant_NOTDEF;
  612. #endif
  613. }
  614. break;
  615. case 'N':
  616. if (memEQ(name, "I_IDN_ALLOW_UNASSIGNED", 22)) {
  617. /* N */
  618. #ifdef NI_IDN_ALLOW_UNASSIGNED
  619. *iv_return = NI_IDN_ALLOW_UNASSIGNED;
  620. return PERL_constant_ISIV;
  621. #else
  622. return PERL_constant_NOTDEF;
  623. #endif
  624. }
  625. break;
  626. }
  627. break;
  628. case 27:
  629. /* Names all of length 27. */
  630. /* AI_IDN_USE_STD3_ASCII_RULES NI_IDN_USE_STD3_ASCII_RULES */
  631. /* Offset 0 gives the best switch position. */
  632. switch (*name++) {
  633. case 'A':
  634. if (memEQ(name, "I_IDN_USE_STD3_ASCII_RULES", 26)) {
  635. /* A */
  636. #ifdef AI_IDN_USE_STD3_ASCII_RULES
  637. *iv_return = AI_IDN_USE_STD3_ASCII_RULES;
  638. return PERL_constant_ISIV;
  639. #else
  640. return PERL_constant_NOTDEF;
  641. #endif
  642. }
  643. break;
  644. case 'N':
  645. if (memEQ(name, "I_IDN_USE_STD3_ASCII_RULES", 26)) {
  646. /* N */
  647. #ifdef NI_IDN_USE_STD3_ASCII_RULES
  648. *iv_return = NI_IDN_USE_STD3_ASCII_RULES;
  649. return PERL_constant_ISIV;
  650. #else
  651. return PERL_constant_NOTDEF;
  652. #endif
  653. }
  654. break;
  655. }
  656. break;
  657. }
  658. return PERL_constant_NOTFOUND;
  659. }