home *** CD-ROM | disk | FTP | other *** search
/ PDA Software Library / pdasoftwarelib.iso / PSION / MISC / PSI-KEY / PUT.C < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-08  |  19.3 KB  |  2,134 lines

  1. #include <plib.h>
  2.  
  3. unsigned long extract(char *s,int start,int length);
  4. char *btoe(char *);
  5.  
  6. /* Dictionary for integer-word translations */
  7. char Wp[2048][5] = {
  8. "A",
  9. "ABE",
  10. "ACE",
  11. "ACT",
  12. "AD",
  13. "ADA",
  14. "ADD",
  15. "AGO",
  16. "AID",
  17. "AIM",
  18. "AIR",
  19. "ALL",
  20. "ALP",
  21. "AM",
  22. "AMY",
  23. "AN",
  24. "ANA",
  25. "AND",
  26. "ANN",
  27. "ANT",
  28. "ANY",
  29. "APE",
  30. "APS",
  31. "APT",
  32. "ARC",
  33. "ARE",
  34. "ARK",
  35. "ARM",
  36. "ART",
  37. "AS",
  38. "ASH",
  39. "ASK",
  40. "AT",
  41. "ATE",
  42. "AUG",
  43. "AUK",
  44. "AVE",
  45. "AWE",
  46. "AWK",
  47. "AWL",
  48. "AWN",
  49. "AX",
  50. "AYE",
  51. "BAD",
  52. "BAG",
  53. "BAH",
  54. "BAM",
  55. "BAN",
  56. "BAR",
  57. "BAT",
  58. "BAY",
  59. "BE",
  60. "BED",
  61. "BEE",
  62. "BEG",
  63. "BEN",
  64. "BET",
  65. "BEY",
  66. "BIB",
  67. "BID",
  68. "BIG",
  69. "BIN",
  70. "BIT",
  71. "BOB",
  72. "BOG",
  73. "BON",
  74. "BOO",
  75. "BOP",
  76. "BOW",
  77. "BOY",
  78. "BUB",
  79. "BUD",
  80. "BUG",
  81. "BUM",
  82. "BUN",
  83. "BUS",
  84. "BUT",
  85. "BUY",
  86. "BY",
  87. "BYE",
  88. "CAB",
  89. "CAL",
  90. "CAM",
  91. "CAN",
  92. "CAP",
  93. "CAR",
  94. "CAT",
  95. "CAW",
  96. "COD",
  97. "COG",
  98. "COL",
  99. "CON",
  100. "COO",
  101. "COP",
  102. "COT",
  103. "COW",
  104. "COY",
  105. "CRY",
  106. "CUB",
  107. "CUE",
  108. "CUP",
  109. "CUR",
  110. "CUT",
  111. "DAB",
  112. "DAD",
  113. "DAM",
  114. "DAN",
  115. "DAR",
  116. "DAY",
  117. "DEE",
  118. "DEL",
  119. "DEN",
  120. "DES",
  121. "DEW",
  122. "DID",
  123. "DIE",
  124. "DIG",
  125. "DIN",
  126. "DIP",
  127. "DO",
  128. "DOE",
  129. "DOG",
  130. "DON",
  131. "DOT",
  132. "DOW",
  133. "DRY",
  134. "DUB",
  135. "DUD",
  136. "DUE",
  137. "DUG",
  138. "DUN",
  139. "EAR",
  140. "EAT",
  141. "ED",
  142. "EEL",
  143. "EGG",
  144. "EGO",
  145. "ELI",
  146. "ELK",
  147. "ELM",
  148. "ELY",
  149. "EM",
  150. "END",
  151. "EST",
  152. "ETC",
  153. "EVA",
  154. "EVE",
  155. "EWE",
  156. "EYE",
  157. "FAD",
  158. "FAN",
  159. "FAR",
  160. "FAT",
  161. "FAY",
  162. "FED",
  163. "FEE",
  164. "FEW",
  165. "FIB",
  166. "FIG",
  167. "FIN",
  168. "FIR",
  169. "FIT",
  170. "FLO",
  171. "FLY",
  172. "FOE",
  173. "FOG",
  174. "FOR",
  175. "FRY",
  176. "FUM",
  177. "FUN",
  178. "FUR",
  179. "GAB",
  180. "GAD",
  181. "GAG",
  182. "GAL",
  183. "GAM",
  184. "GAP",
  185. "GAS",
  186. "GAY",
  187. "GEE",
  188. "GEL",
  189. "GEM",
  190. "GET",
  191. "GIG",
  192. "GIL",
  193. "GIN",
  194. "GO",
  195. "GOT",
  196. "GUM",
  197. "GUN",
  198. "GUS",
  199. "GUT",
  200. "GUY",
  201. "GYM",
  202. "GYP",
  203. "HA",
  204. "HAD",
  205. "HAL",
  206. "HAM",
  207. "HAN",
  208. "HAP",
  209. "HAS",
  210. "HAT",
  211. "HAW",
  212. "HAY",
  213. "HE",
  214. "HEM",
  215. "HEN",
  216. "HER",
  217. "HEW",
  218. "HEY",
  219. "HI",
  220. "HID",
  221. "HIM",
  222. "HIP",
  223. "HIS",
  224. "HIT",
  225. "HO",
  226. "HOB",
  227. "HOC",
  228. "HOE",
  229. "HOG",
  230. "HOP",
  231. "HOT",
  232. "HOW",
  233. "HUB",
  234. "HUE",
  235. "HUG",
  236. "HUH",
  237. "HUM",
  238. "HUT",
  239. "I",
  240. "ICY",
  241. "IDA",
  242. "IF",
  243. "IKE",
  244. "ILL",
  245. "INK",
  246. "INN",
  247. "IO",
  248. "ION",
  249. "IQ",
  250. "IRA",
  251. "IRE",
  252. "IRK",
  253. "IS",
  254. "IT",
  255. "ITS",
  256. "IVY",
  257. "JAB",
  258. "JAG",
  259. "JAM",
  260. "JAN",
  261. "JAR",
  262. "JAW",
  263. "JAY",
  264. "JET",
  265. "JIG",
  266. "JIM",
  267. "JO",
  268. "JOB",
  269. "JOE",
  270. "JOG",
  271. "JOT",
  272. "JOY",
  273. "JUG",
  274. "JUT",
  275. "KAY",
  276. "KEG",
  277. "KEN",
  278. "KEY",
  279. "KID",
  280. "KIM",
  281. "KIN",
  282. "KIT",
  283. "LA",
  284. "LAB",
  285. "LAC",
  286. "LAD",
  287. "LAG",
  288. "LAM",
  289. "LAP",
  290. "LAW",
  291. "LAY",
  292. "LEA",
  293. "LED",
  294. "LEE",
  295. "LEG",
  296. "LEN",
  297. "LEO",
  298. "LET",
  299. "LEW",
  300. "LID",
  301. "LIE",
  302. "LIN",
  303. "LIP",
  304. "LIT",
  305. "LO",
  306. "LOB",
  307. "LOG",
  308. "LOP",
  309. "LOS",
  310. "LOT",
  311. "LOU",
  312. "LOW",
  313. "LOY",
  314. "LUG",
  315. "LYE",
  316. "MA",
  317. "MAC",
  318. "MAD",
  319. "MAE",
  320. "MAN",
  321. "MAO",
  322. "MAP",
  323. "MAT",
  324. "MAW",
  325. "MAY",
  326. "ME",
  327. "MEG",
  328. "MEL",
  329. "MEN",
  330. "MET",
  331. "MEW",
  332. "MID",
  333. "MIN",
  334. "MIT",
  335. "MOB",
  336. "MOD",
  337. "MOE",
  338. "MOO",
  339. "MOP",
  340. "MOS",
  341. "MOT",
  342. "MOW",
  343. "MUD",
  344. "MUG",
  345. "MUM",
  346. "MY",
  347. "NAB",
  348. "NAG",
  349. "NAN",
  350. "NAP",
  351. "NAT",
  352. "NAY",
  353. "NE",
  354. "NED",
  355. "NEE",
  356. "NET",
  357. "NEW",
  358. "NIB",
  359. "NIL",
  360. "NIP",
  361. "NIT",
  362. "NO",
  363. "NOB",
  364. "NOD",
  365. "NON",
  366. "NOR",
  367. "NOT",
  368. "NOV",
  369. "NOW",
  370. "NU",
  371. "NUN",
  372. "NUT",
  373. "O",
  374. "OAF",
  375. "OAK",
  376. "OAR",
  377. "OAT",
  378. "ODD",
  379. "ODE",
  380. "OF",
  381. "OFF",
  382. "OFT",
  383. "OH",
  384. "OIL",
  385. "OK",
  386. "OLD",
  387. "ON",
  388. "ONE",
  389. "OR",
  390. "ORB",
  391. "ORE",
  392. "ORR",
  393. "OS",
  394. "OTT",
  395. "OUR",
  396. "OUT",
  397. "OVA",
  398. "OW",
  399. "OWE",
  400. "OWL",
  401. "OWN",
  402. "OX",
  403. "PA",
  404. "PAD",
  405. "PAL",
  406. "PAM",
  407. "PAN",
  408. "PAP",
  409. "PAR",
  410. "PAT",
  411. "PAW",
  412. "PAY",
  413. "PEA",
  414. "PEG",
  415. "PEN",
  416. "PEP",
  417. "PER",
  418. "PET",
  419. "PEW",
  420. "PHI",
  421. "PI",
  422. "PIE",
  423. "PIN",
  424. "PIT",
  425. "PLY",
  426. "PO",
  427. "POD",
  428. "POE",
  429. "POP",
  430. "POT",
  431. "POW",
  432. "PRO",
  433. "PRY",
  434. "PUB",
  435. "PUG",
  436. "PUN",
  437. "PUP",
  438. "PUT",
  439. "QUO",
  440. "RAG",
  441. "RAM",
  442. "RAN",
  443. "RAP",
  444. "RAT",
  445. "RAW",
  446. "RAY",
  447. "REB",
  448. "RED",
  449. "REP",
  450. "RET",
  451. "RIB",
  452. "RID",
  453. "RIG",
  454. "RIM",
  455. "RIO",
  456. "RIP",
  457. "ROB",
  458. "ROD",
  459. "ROE",
  460. "RON",
  461. "ROT",
  462. "ROW",
  463. "ROY",
  464. "RUB",
  465. "RUE",
  466. "RUG",
  467. "RUM",
  468. "RUN",
  469. "RYE",
  470. "SAC",
  471. "SAD",
  472. "SAG",
  473. "SAL",
  474. "SAM",
  475. "SAN",
  476. "SAP",
  477. "SAT",
  478. "SAW",
  479. "SAY",
  480. "SEA",
  481. "SEC",
  482. "SEE",
  483. "SEN",
  484. "SET",
  485. "SEW",
  486. "SHE",
  487. "SHY",
  488. "SIN",
  489. "SIP",
  490. "SIR",
  491. "SIS",
  492. "SIT",
  493. "SKI",
  494. "SKY",
  495. "SLY",
  496. "SO",
  497. "SOB",
  498. "SOD",
  499. "SON",
  500. "SOP",
  501. "SOW",
  502. "SOY",
  503. "SPA",
  504. "SPY",
  505. "SUB",
  506. "SUD",
  507. "SUE",
  508. "SUM",
  509. "SUN",
  510. "SUP",
  511. "TAB",
  512. "TAD",
  513. "TAG",
  514. "TAN",
  515. "TAP",
  516. "TAR",
  517. "TEA",
  518. "TED",
  519. "TEE",
  520. "TEN",
  521. "THE",
  522. "THY",
  523. "TIC",
  524. "TIE",
  525. "TIM",
  526. "TIN",
  527. "TIP",
  528. "TO",
  529. "TOE",
  530. "TOG",
  531. "TOM",
  532. "TON",
  533. "TOO",
  534. "TOP",
  535. "TOW",
  536. "TOY",
  537. "TRY",
  538. "TUB",
  539. "TUG",
  540. "TUM",
  541. "TUN",
  542. "TWO",
  543. "UN",
  544. "UP",
  545. "US",
  546. "USE",
  547. "VAN",
  548. "VAT",
  549. "VET",
  550. "VIE",
  551. "WAD",
  552. "WAG",
  553. "WAR",
  554. "WAS",
  555. "WAY",
  556. "WE",
  557. "WEB",
  558. "WED",
  559. "WEE",
  560. "WET",
  561. "WHO",
  562. "WHY",
  563. "WIN",
  564. "WIT",
  565. "WOK",
  566. "WON",
  567. "WOO",
  568. "WOW",
  569. "WRY",
  570. "WU",
  571. "YAM",
  572. "YAP",
  573. "YAW",
  574. "YE",
  575. "YEA",
  576. "YES",
  577. "YET",
  578. "YOU",
  579. "ABED",
  580. "ABEL",
  581. "ABET",
  582. "ABLE",
  583. "ABUT",
  584. "ACHE",
  585. "ACID",
  586. "ACME",
  587. "ACRE",
  588. "ACTA",
  589. "ACTS",
  590. "ADAM",
  591. "ADDS",
  592. "ADEN",
  593. "AFAR",
  594. "AFRO",
  595. "AGEE",
  596. "AHEM",
  597. "AHOY",
  598. "AIDA",
  599. "AIDE",
  600. "AIDS",
  601. "AIRY",
  602. "AJAR",
  603. "AKIN",
  604. "ALAN",
  605. "ALEC",
  606. "ALGA",
  607. "ALIA",
  608. "ALLY",
  609. "ALMA",
  610. "ALOE",
  611. "ALSO",
  612. "ALTO",
  613. "ALUM",
  614. "ALVA",
  615. "AMEN",
  616. "AMES",
  617. "AMID",
  618. "AMMO",
  619. "AMOK",
  620. "AMOS",
  621. "AMRA",
  622. "ANDY",
  623. "ANEW",
  624. "ANNA",
  625. "ANNE",
  626. "ANTE",
  627. "ANTI",
  628. "AQUA",
  629. "ARAB",
  630. "ARCH",
  631. "AREA",
  632. "ARGO",
  633. "ARID",
  634. "ARMY",
  635. "ARTS",
  636. "ARTY",
  637. "ASIA",
  638. "ASKS",
  639. "ATOM",
  640. "AUNT",
  641. "AURA",
  642. "AUTO",
  643. "AVER",
  644. "AVID",
  645. "AVIS",
  646. "AVON",
  647. "AVOW",
  648. "AWAY",
  649. "AWRY",
  650. "BABE",
  651. "BABY",
  652. "BACH",
  653. "BACK",
  654. "BADE",
  655. "BAIL",
  656. "BAIT",
  657. "BAKE",
  658. "BALD",
  659. "BALE",
  660. "BALI",
  661. "BALK",
  662. "BALL",
  663. "BALM",
  664. "BAND",
  665. "BANE",
  666. "BANG",
  667. "BANK",
  668. "BARB",
  669. "BARD",
  670. "BARE",
  671. "BARK",
  672. "BARN",
  673. "BARR",
  674. "BASE",
  675. "BASH",
  676. "BASK",
  677. "BASS",
  678. "BATE",
  679. "BATH",
  680. "BAWD",
  681. "BAWL",
  682. "BEAD",
  683. "BEAK",
  684. "BEAM",
  685. "BEAN",
  686. "BEAR",
  687. "BEAT",
  688. "BEAU",
  689. "BECK",
  690. "BEEF",
  691. "BEEN",
  692. "BEER",
  693. "BEET",
  694. "BELA",
  695. "BELL",
  696. "BELT",
  697. "BEND",
  698. "BENT",
  699. "BERG",
  700. "BERN",
  701. "BERT",
  702. "BESS",
  703. "BEST",
  704. "BETA",
  705. "BETH",
  706. "BHOY",
  707. "BIAS",
  708. "BIDE",
  709. "BIEN",
  710. "BILE",
  711. "BILK",
  712. "BILL",
  713. "BIND",
  714. "BING",
  715. "BIRD",
  716. "BITE",
  717. "BITS",
  718. "BLAB",
  719. "BLAT",
  720. "BLED",
  721. "BLEW",
  722. "BLOB",
  723. "BLOC",
  724. "BLOT",
  725. "BLOW",
  726. "BLUE",
  727. "BLUM",
  728. "BLUR",
  729. "BOAR",
  730. "BOAT",
  731. "BOCA",
  732. "BOCK",
  733. "BODE",
  734. "BODY",
  735. "BOGY",
  736. "BOHR",
  737. "BOIL",
  738. "BOLD",
  739. "BOLO",
  740. "BOLT",
  741. "BOMB",
  742. "BONA",
  743. "BOND",
  744. "BONE",
  745. "BONG",
  746. "BONN",
  747. "BONY",
  748. "BOOK",
  749. "BOOM",
  750. "BOON",
  751. "BOOT",
  752. "BORE",
  753. "BORG",
  754. "BORN",
  755. "BOSE",
  756. "BOSS",
  757. "BOTH",
  758. "BOUT",
  759. "BOWL",
  760. "BOYD",
  761. "BRAD",
  762. "BRAE",
  763. "BRAG",
  764. "BRAN",
  765. "BRAY",
  766. "BRED",
  767. "BREW",
  768. "BRIG",
  769. "BRIM",
  770. "BROW",
  771. "BUCK",
  772. "BUDD",
  773. "BUFF",
  774. "BULB",
  775. "BULK",
  776. "BULL",
  777. "BUNK",
  778. "BUNT",
  779. "BUOY",
  780. "BURG",
  781. "BURL",
  782. "BURN",
  783. "BURR",
  784. "BURT",
  785. "BURY",
  786. "BUSH",
  787. "BUSS",
  788. "BUST",
  789. "BUSY",
  790. "BYTE",
  791. "CADY",
  792. "CAFE",
  793. "CAGE",
  794. "CAIN",
  795. "CAKE",
  796. "CALF",
  797. "CALL",
  798. "CALM",
  799. "CAME",
  800. "CANE",
  801. "CANT",
  802. "CARD",
  803. "CARE",
  804. "CARL",
  805. "CARR",
  806. "CART",
  807. "CASE",
  808. "CASH",
  809. "CASK",
  810. "CAST",
  811. "CAVE",
  812. "CEIL",
  813. "CELL",
  814. "CENT",
  815. "CERN",
  816. "CHAD",
  817. "CHAR",
  818. "CHAT",
  819. "CHAW",
  820. "CHEF",
  821. "CHEN",
  822. "CHEW",
  823. "CHIC",
  824. "CHIN",
  825. "CHOU",
  826. "CHOW",
  827. "CHUB",
  828. "CHUG",
  829. "CHUM",
  830. "CITE",
  831. "CITY",
  832. "CLAD",
  833. "CLAM",
  834. "CLAN",
  835. "CLAW",
  836. "CLAY",
  837. "CLOD",
  838. "CLOG",
  839. "CLOT",
  840. "CLUB",
  841. "CLUE",
  842. "COAL",
  843. "COAT",
  844. "COCA",
  845. "COCK",
  846. "COCO",
  847. "CODA",
  848. "CODE",
  849. "CODY",
  850. "COED",
  851. "COIL",
  852. "COIN",
  853. "COKE",
  854. "COLA",
  855. "COLD",
  856. "COLT",
  857. "COMA",
  858. "COMB",
  859. "COME",
  860. "COOK",
  861. "COOL",
  862. "COON",
  863. "COOT",
  864. "CORD",
  865. "CORE",
  866. "CORK",
  867. "CORN",
  868. "COST",
  869. "COVE",
  870. "COWL",
  871. "CRAB",
  872. "CRAG",
  873. "CRAM",
  874. "CRAY",
  875. "CREW",
  876. "CRIB",
  877. "CROW",
  878. "CRUD",
  879. "CUBA",
  880. "CUBE",
  881. "CUFF",
  882. "CULL",
  883. "CULT",
  884. "CUNY",
  885. "CURB",
  886. "CURD",
  887. "CURE",
  888. "CURL",
  889. "CURT",
  890. "CUTS",
  891. "DADE",
  892. "DALE",
  893. "DAME",
  894. "DANA",
  895. "DANE",
  896. "DANG",
  897. "DANK",
  898. "DARE",
  899. "DARK",
  900. "DARN",
  901. "DART",
  902. "DASH",
  903. "DATA",
  904. "DATE",
  905. "DAVE",
  906. "DAVY",
  907. "DAWN",
  908. "DAYS",
  909. "DEAD",
  910. "DEAF",
  911. "DEAL",
  912. "DEAN",
  913. "DEAR",
  914. "DEBT",
  915. "DECK",
  916. "DEED",
  917. "DEEM",
  918. "DEER",
  919. "DEFT",
  920. "DEFY",
  921. "DELL",
  922. "DENT",
  923. "DENY",
  924. "DESK",
  925. "DIAL",
  926. "DICE",
  927. "DIED",
  928. "DIET",
  929. "DIME",
  930. "DINE",
  931. "DING",
  932. "DINT",
  933. "DIRE",
  934. "DIRT",
  935. "DISC",
  936. "DISH",
  937. "DISK",
  938. "DIVE",
  939. "DOCK",
  940. "DOES",
  941. "DOLE",
  942. "DOLL",
  943. "DOLT",
  944. "DOME",
  945. "DONE",
  946. "DOOM",
  947. "DOOR",
  948. "DORA",
  949. "DOSE",
  950. "DOTE",
  951. "DOUG",
  952. "DOUR",
  953. "DOVE",
  954. "DOWN",
  955. "DRAB",
  956. "DRAG",
  957. "DRAM",
  958. "DRAW",
  959. "DREW",
  960. "DRUB",
  961. "DRUG",
  962. "DRUM",
  963. "DUAL",
  964. "DUCK",
  965. "DUCT",
  966. "DUEL",
  967. "DUET",
  968. "DUKE",
  969. "DULL",
  970. "DUMB",
  971. "DUNE",
  972. "DUNK",
  973. "DUSK",
  974. "DUST",
  975. "DUTY",
  976. "EACH",
  977. "EARL",
  978. "EARN",
  979. "EASE",
  980. "EAST",
  981. "EASY",
  982. "EBEN",
  983. "ECHO",
  984. "EDDY",
  985. "EDEN",
  986. "EDGE",
  987. "EDGY",
  988. "EDIT",
  989. "EDNA",
  990. "EGAN",
  991. "ELAN",
  992. "ELBA",
  993. "ELLA",
  994. "ELSE",
  995. "EMIL",
  996. "EMIT",
  997. "EMMA",
  998. "ENDS",
  999. "ERIC",
  1000. "EROS",
  1001. "EVEN",
  1002. "EVER",
  1003. "EVIL",
  1004. "EYED",
  1005. "FACE",
  1006. "FACT",
  1007. "FADE",
  1008. "FAIL",
  1009. "FAIN",
  1010. "FAIR",
  1011. "FAKE",
  1012. "FALL",
  1013. "FAME",
  1014. "FANG",
  1015. "FARM",
  1016. "FAST",
  1017. "FATE",
  1018. "FAWN",
  1019. "FEAR",
  1020. "FEAT",
  1021. "FEED",
  1022. "FEEL",
  1023. "FEET",
  1024. "FELL",
  1025. "FELT",
  1026. "FEND",
  1027. "FERN",
  1028. "FEST",
  1029. "FEUD",
  1030. "FIEF",
  1031. "FIGS",
  1032. "FILE",
  1033. "FILL",
  1034. "FILM",
  1035. "FIND",
  1036. "FINE",
  1037. "FINK",
  1038. "FIRE",
  1039. "FIRM",
  1040. "FISH",
  1041. "FISK",
  1042. "FIST",
  1043. "FITS",
  1044. "FIVE",
  1045. "FLAG",
  1046. "FLAK",
  1047. "FLAM",
  1048. "FLAT",
  1049. "FLAW",
  1050. "FLEA",
  1051. "FLED",
  1052. "FLEW",
  1053. "FLIT",
  1054. "FLOC",
  1055. "FLOG",
  1056. "FLOW",
  1057. "FLUB",
  1058. "FLUE",
  1059. "FOAL",
  1060. "FOAM",
  1061. "FOGY",
  1062. "FOIL",
  1063. "FOLD",
  1064. "FOLK",
  1065. "FOND",
  1066. "FONT",
  1067. "FOOD",
  1068. "FOOL",
  1069. "FOOT",
  1070. "FORD",
  1071. "FORE",
  1072. "FORK",
  1073. "FORM",
  1074. "FORT",
  1075. "FOSS",
  1076. "FOUL",
  1077. "FOUR",
  1078. "FOWL",
  1079. "FRAU",
  1080. "FRAY",
  1081. "FRED",
  1082. "FREE",
  1083. "FRET",
  1084. "FREY",
  1085. "FROG",
  1086. "FROM",
  1087. "FUEL",
  1088. "FULL",
  1089. "FUME",
  1090. "FUND",
  1091. "FUNK",
  1092. "FURY",
  1093. "FUSE",
  1094. "FUSS",
  1095. "GAFF",
  1096. "GAGE",
  1097. "GAIL",
  1098. "GAIN",
  1099. "GAIT",
  1100. "GALA",
  1101. "GALE",
  1102. "GALL",
  1103. "GALT",
  1104. "GAME",
  1105. "GANG",
  1106. "GARB",
  1107. "GARY",
  1108. "GASH",
  1109. "GATE",
  1110. "GAUL",
  1111. "GAUR",
  1112. "GAVE",
  1113. "GAWK",
  1114. "GEAR",
  1115. "GELD",
  1116. "GENE",
  1117. "GENT",
  1118. "GERM",
  1119. "GETS",
  1120. "GIBE",
  1121. "GIFT",
  1122. "GILD",
  1123. "GILL",
  1124. "GILT",
  1125. "GINA",
  1126. "GIRD",
  1127. "GIRL",
  1128. "GIST",
  1129. "GIVE",
  1130. "GLAD",
  1131. "GLEE",
  1132. "GLEN",
  1133. "GLIB",
  1134. "GLOB",
  1135. "GLOM",
  1136. "GLOW",
  1137. "GLUE",
  1138. "GLUM",
  1139. "GLUT",
  1140. "GOAD",
  1141. "GOAL",
  1142. "GOAT",
  1143. "GOER",
  1144. "GOES",
  1145. "GOLD",
  1146. "GOLF",
  1147. "GONE",
  1148. "GONG",
  1149. "GOOD",
  1150. "GOOF",
  1151. "GORE",
  1152. "GORY",
  1153. "GOSH",
  1154. "GOUT",
  1155. "GOWN",
  1156. "GRAB",
  1157. "GRAD",
  1158. "GRAY",
  1159. "GREG",
  1160. "GREW",
  1161. "GREY",
  1162. "GRID",
  1163. "GRIM",
  1164. "GRIN",
  1165. "GRIT",
  1166. "GROW",
  1167. "GRUB",
  1168. "GULF",
  1169. "GULL",
  1170. "GUNK",
  1171. "GURU",
  1172. "GUSH",
  1173. "GUST",
  1174. "GWEN",
  1175. "GWYN",
  1176. "HAAG",
  1177. "HAAS",
  1178. "HACK",
  1179. "HAIL",
  1180. "HAIR",
  1181. "HALE",
  1182. "HALF",
  1183. "HALL",
  1184. "HALO",
  1185. "HALT",
  1186. "HAND",
  1187. "HANG",
  1188. "HANK",
  1189. "HANS",
  1190. "HARD",
  1191. "HARK",
  1192. "HARM",
  1193. "HART",
  1194. "HASH",
  1195. "HAST",
  1196. "HATE",
  1197. "HATH",
  1198. "HAUL",
  1199. "HAVE",
  1200. "HAWK",
  1201. "HAYS",
  1202. "HEAD",
  1203. "HEAL",
  1204. "HEAR",
  1205. "HEAT",
  1206. "HEBE",
  1207. "HECK",
  1208. "HEED",
  1209. "HEEL",
  1210. "HEFT",
  1211. "HELD",
  1212. "HELL",
  1213. "HELM",
  1214. "HERB",
  1215. "HERD",
  1216. "HERE",
  1217. "HERO",
  1218. "HERS",
  1219. "HESS",
  1220. "HEWN",
  1221. "HICK",
  1222. "HIDE",
  1223. "HIGH",
  1224. "HIKE",
  1225. "HILL",
  1226. "HILT",
  1227. "HIND",
  1228. "HINT",
  1229. "HIRE",
  1230. "HISS",
  1231. "HIVE",
  1232. "HOBO",
  1233. "HOCK",
  1234. "HOFF",
  1235. "HOLD",
  1236. "HOLE",
  1237. "HOLM",
  1238. "HOLT",
  1239. "HOME",
  1240. "HONE",
  1241. "HONK",
  1242. "HOOD",
  1243. "HOOF",
  1244. "HOOK",
  1245. "HOOT",
  1246. "HORN",
  1247. "HOSE",
  1248. "HOST",
  1249. "HOUR",
  1250. "HOVE",
  1251. "HOWE",
  1252. "HOWL",
  1253. "HOYT",
  1254. "HUCK",
  1255. "HUED",
  1256. "HUFF",
  1257. "HUGE",
  1258. "HUGH",
  1259. "HUGO",
  1260. "HULK",
  1261. "HULL",
  1262. "HUNK",
  1263. "HUNT",
  1264. "HURD",
  1265. "HURL",
  1266. "HURT",
  1267. "HUSH",
  1268. "HYDE",
  1269. "HYMN",
  1270. "IBIS",
  1271. "ICON",
  1272. "IDEA",
  1273. "IDLE",
  1274. "IFFY",
  1275. "INCA",
  1276. "INCH",
  1277. "INTO",
  1278. "IONS",
  1279. "IOTA",
  1280. "IOWA",
  1281. "IRIS",
  1282. "IRMA",
  1283. "IRON",
  1284. "ISLE",
  1285. "ITCH",
  1286. "ITEM",
  1287. "IVAN",
  1288. "JACK",
  1289. "JADE",
  1290. "JAIL",
  1291. "JAKE",
  1292. "JANE",
  1293. "JAVA",
  1294. "JEAN",
  1295. "JEFF",
  1296. "JERK",
  1297. "JESS",
  1298. "JEST",
  1299. "JIBE",
  1300. "JILL",
  1301. "JILT",
  1302. "JIVE",
  1303. "JOAN",
  1304. "JOBS",
  1305. "JOCK",
  1306. "JOEL",
  1307. "JOEY",
  1308. "JOHN",
  1309. "JOIN",
  1310. "JOKE",
  1311. "JOLT",
  1312. "JOVE",
  1313. "JUDD",
  1314. "JUDE",
  1315. "JUDO",
  1316. "JUDY",
  1317. "JUJU",
  1318. "JUKE",
  1319. "JULY",
  1320. "JUNE",
  1321. "JUNK",
  1322. "JUNO",
  1323. "JURY",
  1324. "JUST",
  1325. "JUTE",
  1326. "KAHN",
  1327. "KALE",
  1328. "KANE",
  1329. "KANT",
  1330. "KARL",
  1331. "KATE",
  1332. "KEEL",
  1333. "KEEN",
  1334. "KENO",
  1335. "KENT",
  1336. "KERN",
  1337. "KERR",
  1338. "KEYS",
  1339. "KICK",
  1340. "KILL",
  1341. "KIND",
  1342. "KING",
  1343. "KIRK",
  1344. "KISS",
  1345. "KITE",
  1346. "KLAN",
  1347. "KNEE",
  1348. "KNEW",
  1349. "KNIT",
  1350. "KNOB",
  1351. "KNOT",
  1352. "KNOW",
  1353. "KOCH",
  1354. "KONG",
  1355. "KUDO",
  1356. "KURD",
  1357. "KURT",
  1358. "KYLE",
  1359. "LACE",
  1360. "LACK",
  1361. "LACY",
  1362. "LADY",
  1363. "LAID",
  1364. "LAIN",
  1365. "LAIR",
  1366. "LAKE",
  1367. "LAMB",
  1368. "LAME",
  1369. "LAND",
  1370. "LANE",
  1371. "LANG",
  1372. "LARD",
  1373. "LARK",
  1374. "LASS",
  1375. "LAST",
  1376. "LATE",
  1377. "LAUD",
  1378. "LAVA",
  1379. "LAWN",
  1380. "LAWS",
  1381. "LAYS",
  1382. "LEAD",
  1383. "LEAF",
  1384. "LEAK",
  1385. "LEAN",
  1386. "LEAR",
  1387. "LEEK",
  1388. "LEER",
  1389. "LEFT",
  1390. "LEND",
  1391. "LENS",
  1392. "LENT",
  1393. "LEON",
  1394. "LESK",
  1395. "LESS",
  1396. "LEST",
  1397. "LETS",
  1398. "LIAR",
  1399. "LICE",
  1400. "LICK",
  1401. "LIED",
  1402. "LIEN",
  1403. "LIES",
  1404. "LIEU",
  1405. "LIFE",
  1406. "LIFT",
  1407. "LIKE",
  1408. "LILA",
  1409. "LILT",
  1410. "LILY",
  1411. "LIMA",
  1412. "LIMB",
  1413. "LIME",
  1414. "LIND",
  1415. "LINE",
  1416. "LINK",
  1417. "LINT",
  1418. "LION",
  1419. "LISA",
  1420. "LIST",
  1421. "LIVE",
  1422. "LOAD",
  1423. "LOAF",
  1424. "LOAM",
  1425. "LOAN",
  1426. "LOCK",
  1427. "LOFT",
  1428. "LOGE",
  1429. "LOIS",
  1430. "LOLA",
  1431. "LONE",
  1432. "LONG",
  1433. "LOOK",
  1434. "LOON",
  1435. "LOOT",
  1436. "LORD",
  1437. "LORE",
  1438. "LOSE",
  1439. "LOSS",
  1440. "LOST",
  1441. "LOUD",
  1442. "LOVE",
  1443. "LOWE",
  1444. "LUCK",
  1445. "LUCY",
  1446. "LUGE",
  1447. "LUKE",
  1448. "LULU",
  1449. "LUND",
  1450. "LUNG",
  1451. "LURA",
  1452. "LURE",
  1453. "LURK",
  1454. "LUSH",
  1455. "LUST",
  1456. "LYLE",
  1457. "LYNN",
  1458. "LYON",
  1459. "LYRA",
  1460. "MACE",
  1461. "MADE",
  1462. "MAGI",
  1463. "MAID",
  1464. "MAIL",
  1465. "MAIN",
  1466. "MAKE",
  1467. "MALE",
  1468. "MALI",
  1469. "MALL",
  1470. "MALT",
  1471. "MANA",
  1472. "MANN",
  1473. "MANY",
  1474. "MARC",
  1475. "MARE",
  1476. "MARK",
  1477. "MARS",
  1478. "MART",
  1479. "MARY",
  1480. "MASH",
  1481. "MASK",
  1482. "MASS",
  1483. "MAST",
  1484. "MATE",
  1485. "MATH",
  1486. "MAUL",
  1487. "MAYO",
  1488. "MEAD",
  1489. "MEAL",
  1490. "MEAN",
  1491. "MEAT",
  1492. "MEEK",
  1493. "MEET",
  1494. "MELD",
  1495. "MELT",
  1496. "MEMO",
  1497. "MEND",
  1498. "MENU",
  1499. "MERT",
  1500. "MESH",
  1501. "MESS",
  1502. "MICE",
  1503. "MIKE",
  1504. "MILD",
  1505. "MILE",
  1506. "MILK",
  1507. "MILL",
  1508. "MILT",
  1509. "MIMI",
  1510. "MIND",
  1511. "MINE",
  1512. "MINI",
  1513. "MINK",
  1514. "MINT",
  1515. "MIRE",
  1516. "MISS",
  1517. "MIST",
  1518. "MITE",
  1519. "MITT",
  1520. "MOAN",
  1521. "MOAT",
  1522. "MOCK",
  1523. "MODE",
  1524. "MOLD",
  1525. "MOLE",
  1526. "MOLL",
  1527. "MOLT",
  1528. "MONA",
  1529. "MONK",
  1530. "MONT",
  1531. "MOOD",
  1532. "MOON",
  1533. "MOOR",
  1534. "MOOT",
  1535. "MORE",
  1536. "MORN",
  1537. "MORT",
  1538. "MOSS",
  1539. "MOST",
  1540. "MOTH",
  1541. "MOVE",
  1542. "MUCH",
  1543. "MUCK",
  1544. "MUDD",
  1545. "MUFF",
  1546. "MULE",
  1547. "MULL",
  1548. "MURK",
  1549. "MUSH",
  1550. "MUST",
  1551. "MUTE",
  1552. "MUTT",
  1553. "MYRA",
  1554. "MYTH",
  1555. "NAGY",
  1556. "NAIL",
  1557. "NAIR",
  1558. "NAME",
  1559. "NARY",
  1560. "NASH",
  1561. "NAVE",
  1562. "NAVY",
  1563. "NEAL",
  1564. "NEAR",
  1565. "NEAT",
  1566. "NECK",
  1567. "NEED",
  1568. "NEIL",
  1569. "NELL",
  1570. "NEON",
  1571. "NERO",
  1572. "NESS",
  1573. "NEST",
  1574. "NEWS",
  1575. "NEWT",
  1576. "NIBS",
  1577. "NICE",
  1578. "NICK",
  1579. "NILE",
  1580. "NINA",
  1581. "NINE",
  1582. "NOAH",
  1583. "NODE",
  1584. "NOEL",
  1585. "NOLL",
  1586. "NONE",
  1587. "NOOK",
  1588. "NOON",
  1589. "NORM",
  1590. "NOSE",
  1591. "NOTE",
  1592. "NOUN",
  1593. "NOVA",
  1594. "NUDE",
  1595. "NULL",
  1596. "NUMB",
  1597. "OATH",
  1598. "OBEY",
  1599. "OBOE",
  1600. "ODIN",
  1601. "OHIO",
  1602. "OILY",
  1603. "OINT",
  1604. "OKAY",
  1605. "OLAF",
  1606. "OLDY",
  1607. "OLGA",
  1608. "OLIN",
  1609. "OMAN",
  1610. "OMEN",
  1611. "OMIT",
  1612. "ONCE",
  1613. "ONES",
  1614. "ONLY",
  1615. "ONTO",
  1616. "ONUS",
  1617. "ORAL",
  1618. "ORGY",
  1619. "OSLO",
  1620. "OTIS",
  1621. "OTTO",
  1622. "OUCH",
  1623. "OUST",
  1624. "OUTS",
  1625. "OVAL",
  1626. "OVEN",
  1627. "OVER",
  1628. "OWLY",
  1629. "OWNS",
  1630. "QUAD",
  1631. "QUIT",
  1632. "QUOD",
  1633. "RACE",
  1634. "RACK",
  1635. "RACY",
  1636. "RAFT",
  1637. "RAGE",
  1638. "RAID",
  1639. "RAIL",
  1640. "RAIN",
  1641. "RAKE",
  1642. "RANK",
  1643. "RANT",
  1644. "RARE",
  1645. "RASH",
  1646. "RATE",
  1647. "RAVE",
  1648. "RAYS",
  1649. "READ",
  1650. "REAL",
  1651. "REAM",
  1652. "REAR",
  1653. "RECK",
  1654. "REED",
  1655. "REEF",
  1656. "REEK",
  1657. "REEL",
  1658. "REID",
  1659. "REIN",
  1660. "RENA",
  1661. "REND",
  1662. "RENT",
  1663. "REST",
  1664. "RICE",
  1665. "RICH",
  1666. "RICK",
  1667. "RIDE",
  1668. "RIFT",
  1669. "RILL",
  1670. "RIME",
  1671. "RING",
  1672. "RINK",
  1673. "RISE",
  1674. "RISK",
  1675. "RITE",
  1676. "ROAD",
  1677. "ROAM",
  1678. "ROAR",
  1679. "ROBE",
  1680. "ROCK",
  1681. "RODE",
  1682. "ROIL",
  1683. "ROLL",
  1684. "ROME",
  1685. "ROOD",
  1686. "ROOF",
  1687. "ROOK",
  1688. "ROOM",
  1689. "ROOT",
  1690. "ROSA",
  1691. "ROSE",
  1692. "ROSS",
  1693. "ROSY",
  1694. "ROTH",
  1695. "ROUT",
  1696. "ROVE",
  1697. "ROWE",
  1698. "ROWS",
  1699. "RUBE",
  1700. "RUBY",
  1701. "RUDE",
  1702. "RUDY",
  1703. "RUIN",
  1704. "RULE",
  1705. "RUNG",
  1706. "RUNS",
  1707. "RUNT",
  1708. "RUSE",
  1709. "RUSH",
  1710. "RUSK",
  1711. "RUSS",
  1712. "RUST",
  1713. "RUTH",
  1714. "SACK",
  1715. "SAFE",
  1716. "SAGE",
  1717. "SAID",
  1718. "SAIL",
  1719. "SALE",
  1720. "SALK",
  1721. "SALT",
  1722. "SAME",
  1723. "SAND",
  1724. "SANE",
  1725. "SANG",
  1726. "SANK",
  1727. "SARA",
  1728. "SAUL",
  1729. "SAVE",
  1730. "SAYS",
  1731. "SCAN",
  1732. "SCAR",
  1733. "SCAT",
  1734. "SCOT",
  1735. "SEAL",
  1736. "SEAM",
  1737. "SEAR",
  1738. "SEAT",
  1739. "SEED",
  1740. "SEEK",
  1741. "SEEM",
  1742. "SEEN",
  1743. "SEES",
  1744. "SELF",
  1745. "SELL",
  1746. "SEND",
  1747. "SENT",
  1748. "SETS",
  1749. "SEWN",
  1750. "SHAG",
  1751. "SHAM",
  1752. "SHAW",
  1753. "SHAY",
  1754. "SHED",
  1755. "SHIM",
  1756. "SHIN",
  1757. "SHOD",
  1758. "SHOE",
  1759. "SHOT",
  1760. "SHOW",
  1761. "SHUN",
  1762. "SHUT",
  1763. "SICK",
  1764. "SIDE",
  1765. "SIFT",
  1766. "SIGH",
  1767. "SIGN",
  1768. "SILK",
  1769. "SILL",
  1770. "SILO",
  1771. "SILT",
  1772. "SINE",
  1773. "SING",
  1774. "SINK",
  1775. "SIRE",
  1776. "SITE",
  1777. "SITS",
  1778. "SITU",
  1779. "SKAT",
  1780. "SKEW",
  1781. "SKID",
  1782. "SKIM",
  1783. "SKIN",
  1784. "SKIT",
  1785. "SLAB",
  1786. "SLAM",
  1787. "SLAT",
  1788. "SLAY",
  1789. "SLED",
  1790. "SLEW",
  1791. "SLID",
  1792. "SLIM",
  1793. "SLIT",
  1794. "SLOB",
  1795. "SLOG",
  1796. "SLOT",
  1797. "SLOW",
  1798. "SLUG",
  1799. "SLUM",
  1800. "SLUR",
  1801. "SMOG",
  1802. "SMUG",
  1803. "SNAG",
  1804. "SNOB",
  1805. "SNOW",
  1806. "SNUB",
  1807. "SNUG",
  1808. "SOAK",
  1809. "SOAR",
  1810. "SOCK",
  1811. "SODA",
  1812. "SOFA",
  1813. "SOFT",
  1814. "SOIL",
  1815. "SOLD",
  1816. "SOME",
  1817. "SONG",
  1818. "SOON",
  1819. "SOOT",
  1820. "SORE",
  1821. "SORT",
  1822. "SOUL",
  1823. "SOUR",
  1824. "SOWN",
  1825. "STAB",
  1826. "STAG",
  1827. "STAN",
  1828. "STAR",
  1829. "STAY",
  1830. "STEM",
  1831. "STEW",
  1832. "STIR",
  1833. "STOW",
  1834. "STUB",
  1835. "STUN",
  1836. "SUCH",
  1837. "SUDS",
  1838. "SUIT",
  1839. "SULK",
  1840. "SUMS",
  1841. "SUNG",
  1842. "SUNK",
  1843. "SURE",
  1844. "SURF",
  1845. "SWAB",
  1846. "SWAG",
  1847. "SWAM",
  1848. "SWAN",
  1849. "SWAT",
  1850. "SWAY",
  1851. "SWIM",
  1852. "SWUM",
  1853. "TACK",
  1854. "TACT",
  1855. "TAIL",
  1856. "TAKE",
  1857. "TALE",
  1858. "TALK",
  1859. "TALL",
  1860. "TANK",
  1861. "TASK",
  1862. "TATE",
  1863. "TAUT",
  1864. "TEAL",
  1865. "TEAM",
  1866. "TEAR",
  1867. "TECH",
  1868. "TEEM",
  1869. "TEEN",
  1870. "TEET",
  1871. "TELL",
  1872. "TEND",
  1873. "TENT",
  1874. "TERM",
  1875. "TERN",
  1876. "TESS",
  1877. "TEST",
  1878. "THAN",
  1879. "THAT",
  1880. "THEE",
  1881. "THEM",
  1882. "THEN",
  1883. "THEY",
  1884. "THIN",
  1885. "THIS",
  1886. "THUD",
  1887. "THUG",
  1888. "TICK",
  1889. "TIDE",
  1890. "TIDY",
  1891. "TIED",
  1892. "TIER",
  1893. "TILE",
  1894. "TILL",
  1895. "TILT",
  1896. "TIME",
  1897. "TINA",
  1898. "TINE",
  1899. "TINT",
  1900. "TINY",
  1901. "TIRE",
  1902. "TOAD",
  1903. "TOGO",
  1904. "TOIL",
  1905. "TOLD",
  1906. "TOLL",
  1907. "TONE",
  1908. "TONG",
  1909. "TONY",
  1910. "TOOK",
  1911. "TOOL",
  1912. "TOOT",
  1913. "TORE",
  1914. "TORN",
  1915. "TOTE",
  1916. "TOUR",
  1917. "TOUT",
  1918. "TOWN",
  1919. "TRAG",
  1920. "TRAM",
  1921. "TRAY",
  1922. "TREE",
  1923. "TREK",
  1924. "TRIG",
  1925. "TRIM",
  1926. "TRIO",
  1927. "TROD",
  1928. "TROT",
  1929. "TROY",
  1930. "TRUE",
  1931. "TUBA",
  1932. "TUBE",
  1933. "TUCK",
  1934. "TUFT",
  1935. "TUNA",
  1936. "TUNE",
  1937. "TUNG",
  1938. "TURF",
  1939. "TURN",
  1940. "TUSK",
  1941. "TWIG",
  1942. "TWIN",
  1943. "TWIT",
  1944. "ULAN",
  1945. "UNIT",
  1946. "URGE",
  1947. "USED",
  1948. "USER",
  1949. "USES",
  1950. "UTAH",
  1951. "VAIL",
  1952. "VAIN",
  1953. "VALE",
  1954. "VARY",
  1955. "VASE",
  1956. "VAST",
  1957. "VEAL",
  1958. "VEDA",
  1959. "VEIL",
  1960. "VEIN",
  1961. "VEND",
  1962. "VENT",
  1963. "VERB",
  1964. "VERY",
  1965. "VETO",
  1966. "VICE",
  1967. "VIEW",
  1968. "VINE",
  1969. "VISE",
  1970. "VOID",
  1971. "VOLT",
  1972. "VOTE",
  1973. "WACK",
  1974. "WADE",
  1975. "WAGE",
  1976. "WAIL",
  1977. "WAIT",
  1978. "WAKE",
  1979. "WALE",
  1980. "WALK",
  1981. "WALL",
  1982. "WALT",
  1983. "WAND",
  1984. "WANE",
  1985. "WANG",
  1986. "WANT",
  1987. "WARD",
  1988. "WARM",
  1989. "WARN",
  1990. "WART",
  1991. "WASH",
  1992. "WAST",
  1993. "WATS",
  1994. "WATT",
  1995. "WAVE",
  1996. "WAVY",
  1997. "WAYS",
  1998. "WEAK",
  1999. "WEAL",
  2000. "WEAN",
  2001. "WEAR",
  2002. "WEED",
  2003. "WEEK",
  2004. "WEIR",
  2005. "WELD",
  2006. "WELL",
  2007. "WELT",
  2008. "WENT",
  2009. "WERE",
  2010. "WERT",
  2011. "WEST",
  2012. "WHAM",
  2013. "WHAT",
  2014. "WHEE",
  2015. "WHEN",
  2016. "WHET",
  2017. "WHOA",
  2018. "WHOM",
  2019. "WICK",
  2020. "WIFE",
  2021. "WILD",
  2022. "WILL",
  2023. "WIND",
  2024. "WINE",
  2025. "WING",
  2026. "WINK",
  2027. "WINO",
  2028. "WIRE",
  2029. "WISE",
  2030. "WISH",
  2031. "WITH",
  2032. "WOLF",
  2033. "WONT",
  2034. "WOOD",
  2035. "WOOL",
  2036. "WORD",
  2037. "WORE",
  2038. "WORK",
  2039. "WORM",
  2040. "WORN",
  2041. "WOVE",
  2042. "WRIT",
  2043. "WYNN",
  2044. "YALE",
  2045. "YANG",
  2046. "YANK",
  2047. "YARD",
  2048. "YARN",
  2049. "YAWL",
  2050. "YAWN",
  2051. "YEAH",
  2052. "YEAR",
  2053. "YELL",
  2054. "YOGA",
  2055. "YOKE"
  2056. };
  2057.  
  2058. /* Encode 8 bytes in 'c' as a string of English words.
  2059.  * Returns a pointer to a static buffer
  2060.  */
  2061. char *btoe(char *c)
  2062. {
  2063.     static char engout[36];
  2064.     char cp[9];    /* add in room for the parity 2 bits*/
  2065.     int p,i ;
  2066.  
  2067.     engout[0] = '\0';
  2068.     p_bcpy(cp, c,8);
  2069.     /* compute parity */
  2070.     for(p = 0,i = 0; i < 64;i += 2)
  2071.         p += extract(cp,i,2);
  2072.  
  2073.     cp[8] = (char)p << 6;
  2074.     p_scat(engout,&Wp[extract(cp, 0,11)][0]);
  2075.     p_scat(engout," ");
  2076.     p_scat(engout,&Wp[extract(cp,11,11)][0]);
  2077.     p_scat(engout," ");
  2078.     p_scat(engout,&Wp[extract(cp,22,11)][0]);
  2079.     p_scat(engout," ");
  2080.     p_scat(engout,&Wp[extract(cp,33,11)][0]);
  2081.     p_scat(engout," ");
  2082.     p_scat(engout,&Wp[extract(cp,44,11)][0]);
  2083.     p_scat(engout," ");
  2084.     p_scat(engout,&Wp[extract(cp,55,11)][0]);
  2085. #ifdef    notdef
  2086.     p_printf("engout is %s\n\r",engout);
  2087. #endif
  2088.     return(engout);
  2089. }
  2090.  
  2091. /* Display 8 bytes as a series of 16-bit hex digits */
  2092. //char *
  2093. //put8(out,s)
  2094. //char *out;
  2095. //char *s;
  2096. //{
  2097. //    p_sprintf(out,"%02X%02X %02X%02X %02X%02X %02X%02X",
  2098. //        s[0] & 0xff,s[1] & 0xff,s[2] & 0xff,
  2099. //        s[3] & 0xff,s[4] & 0xff,s[5] & 0xff,
  2100. //        s[6] & 0xff,s[7] & 0xff);
  2101. //    return out;
  2102. //}
  2103.  
  2104. /* Internal subroutines for word encoding/decoding */
  2105.  
  2106. /* Extract 'length' bits from the char array 's' starting with bit 'start' */
  2107. unsigned long
  2108. extract(s, start, length)
  2109. char *s;
  2110. int start, length;
  2111. {
  2112.     unsigned char cl;
  2113.     unsigned char cc;
  2114.     unsigned char cr;
  2115.     unsigned long x;
  2116.  
  2117.     cl = s[start/8];
  2118.     cc = s[start/8 +1];
  2119.     cr = s[start/8 +2];
  2120.     x = ((long)(cl<<8 | cc) <<8  | cr) ;
  2121.     x = x >> (24 - (length + (start %8)));
  2122.     x =( x & (0xffff >> (16-length) )   );
  2123.     return(x);
  2124. }
  2125.  
  2126. #ifdef notdef
  2127. main()
  2128. {
  2129. char buffer[10]="10101966";
  2130. printf("words:%s\n",btoe(buffer));
  2131. getchar();
  2132. return(0);
  2133. }
  2134. #endif