home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume28 / ephem / part04 < prev    next >
Text File  |  1992-03-15  |  55KB  |  1,398 lines

  1. Newsgroups: comp.sources.misc
  2. From: e_downey@hwking.cca.cr.rockwell.com (Elwood C. Downey)
  3. Subject:  v28i087:  ephem - an interactive astronomical ephemeris, v4.28, Part04/09
  4. Message-ID: <1992Mar10.215757.16043@sparky.imd.sterling.com>
  5. X-Md4-Signature: fedf03e7ba646e71661b58489c5812a3
  6. Date: Tue, 10 Mar 1992 21:57:57 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: e_downey@hwking.cca.cr.rockwell.com (Elwood C. Downey)
  10. Posting-number: Volume 28, Issue 87
  11. Archive-name: ephem/part04
  12. Environment: UNIX, VMS, DOS, MAC
  13. Supersedes: ephem-4.21: Volume 14, Issue 76-81
  14.  
  15. #! /bin/sh
  16. # into a shell via "sh file" or similar.  To overwrite existing files,
  17. # type "sh file -c".
  18. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  19. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  20. # Contents:  Manifest constel.c sel_fld.c
  21. # Wrapped by kent@sparky on Tue Mar 10 14:34:06 1992
  22. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  23. echo If this archive is complete, you will see the following message:
  24. echo '          "shar: End of archive 4 (of 9)."'
  25. if test -f 'Manifest' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'Manifest'\"
  27. else
  28.   echo shar: Extracting \"'Manifest'\" \(2566 characters\)
  29.   sed "s/^X//" >'Manifest' <<'END_OF_FILE'
  30. XFiles shipped as the ephem package:
  31. X
  32. XMakefile    just say "make"
  33. XMan.txt        manual, ready for a very generic printer.
  34. XManifest    this file.
  35. XReadme        check here for hints before building.
  36. Xephem.cfg    sample configuration file. you'll want to edit this for your
  37. X        particular location and interests after reading the manual.
  38. Xephem.db    sample database file. ditto.
  39. X
  40. XThe source files:
  41. Xaa_hadec.c    convert between alt/az and hour angle/dec.
  42. Xaltj.c        manage and compute jupiter info menu.
  43. Xaltmenus.c    draws the three alternate lower screens.
  44. Xanomaly.c    compute anomaly.
  45. Xastro.h        unit conversion macros and planet defines.
  46. Xcal_mjd.c    converters to and from modified julian date.
  47. Xcircum.c    main "astronomy" entry point that finds where anything is.
  48. Xcircum.h    defines Now and Sky structures.
  49. Xcomet.c        compute comet position from elements.
  50. Xcompiler.c    compile and execute general expressions with screen fields.
  51. Xconstel.c    handles determing and printing constellation info.
  52. Xeq_ecl.c    convert between equitorial and eclipitic coords.
  53. Xflog.c        logs and retrieves screen locations for logging purposes.
  54. Xformats.c    basic date, time, prompts, etc formats.
  55. Xio.c        basic cursor and screen io control.
  56. Xlisting.c    set fields for and manage listings.
  57. Xmain.c        main loop.
  58. Xmainmenu.c    draws the top screen.
  59. Xmoon.c        compute moon position.
  60. Xmoonnf.c    compute new and full moon dates.
  61. Xnutation.c    compute nutation correction.
  62. Xobjx.c        set and make use of all the object-x info.
  63. Xobliq.c        compute obliquity.
  64. Xparallax.c    functions to compute earth rim parallax correction.
  65. Xpelement.c    basic planet position polynomial coefficients.
  66. Xplans.c        use polynomials to find planet location at any certain time.
  67. Xplot.c        set fields for and manage plots.
  68. Xpopup.c        handle the one-liner "popup" menus at the top of the screen.
  69. Xprecess.c    compute precession correction.
  70. Xreduce.c    convert elliptical elements from one epoch to another.
  71. Xrefract.c    atmospheric refraction model.
  72. Xriset.c        find basic rise/set sideral times of a fixed object.
  73. Xriset_c.c    iteratively solve for local rise/set times of moving objects.
  74. Xscreen.h    define all field locations and codes, extra planet codes.
  75. Xsel_fld.c    handle cursor movement commands in the various screens.
  76. Xsex_dec.c    convert between sexagesimal and decimal notation.
  77. Xsrch.c        set and manage the various search functions.
  78. Xsun.c        compute location of sun at any time.
  79. Xtime.c        manage setting and getting the time from the os.
  80. Xutc_gst.c    convert between UT1 and Greenwich sidereal time.
  81. Xversion.c    current version notice, and revision history comments.
  82. Xwatch.c        manage the screen during sky and solar system displays.
  83. END_OF_FILE
  84.   if test 2566 -ne `wc -c <'Manifest'`; then
  85.     echo shar: \"'Manifest'\" unpacked with wrong size!
  86.   fi
  87.   # end of 'Manifest'
  88. fi
  89. if test -f 'constel.c' -a "${1}" != "-c" ; then 
  90.   echo shar: Will not clobber existing file \"'constel.c'\"
  91. else
  92.   echo shar: Extracting \"'constel.c'\" \(20370 characters\)
  93.   sed "s/^X//" >'constel.c' <<'END_OF_FILE'
  94. X#include <math.h>
  95. X#include "astro.h"
  96. X#include "screen.h"
  97. X#include "circum.h"
  98. X
  99. X/* print the constellation object p is in now as a prompt message.
  100. X */
  101. Xconstellation_msg (p, np)
  102. Xint p;
  103. XNow *np;
  104. X{
  105. X    char buf[NC];
  106. X    char *name;
  107. X    Sky s;
  108. X
  109. X    (void) body_cir (p, 0.0, np, &s);
  110. X    confnd (s.s_ra, s.s_dec, epoch == EOD ? mjd : epoch, &name);
  111. X    sprintf (buf, "In %s", name);
  112. X    f_msg (buf);
  113. X}
  114. X
  115. X/*
  116. X  METHOD TO DETERMINE THE CONSTELLATION IN WHICH A POSITION IS LOCATED
  117. X
  118. XC version by Craig Counterman and Elwood Downey,
  119. Xadapted from fortran version:
  120. Xexerpt from accompanying doc file:
  121. X
  122. X        Recently, Mr. Barry N. Rappaport of New  Mexico State University
  123. X  transcribed  the constellation  boundaries as  fixed  by the IAU  into
  124. X  machine-readable form.  These have  been  transcribed  by Dr. Nancy G.
  125. X  Roman to make it possible  to determine by  computer the constellation
  126. X  in which a position is located.
  127. X
  128. XNSSDC catalog description:
  129. X 6042   AN     Catalog of Constellation Boundary Data (Delporte, E. 1930, 
  130. X               Cambridge Univ. Press)
  131. X               Comment(s): includes constellation identification software 
  132. X               (ADC 1987; see Roman, N.G. 1987, Publ. Astron. Soc. Pacific 
  133. X               99, 695); 23 description, 118 software, 358 data records. 
  134. X               3 files: 23x80, 118x80, 358x29 
  135. X
  136. Xfull documentation file:
  137. X
  138. X   METHOD TO DETERMINE THE CONSTELLATION IN WHICH A POSITION IS LOCATED
  139. X
  140. X     Recently, Mr. Barry N. Rappaport of New Mexico State University trans-
  141. Xcribed the constellation boundaries as fixed by the IAU into machine-readable
  142. Xform.  These have been transcribed by Dr. Nancy G. Roman to make it possible to
  143. Xdetermine by computer the constellation in which a position is located.
  144. X     Two files follow.  The first is a program, in FORTRAN77, for determining
  145. Xthe constellation using the data in the succeeding file.  Comments describe
  146. Xthe format in which the positions must be entered.  The main program is
  147. Xfollowed by a precession subroutine.
  148. X     The final file is a list of constellation boundaries in the form Lower
  149. XRight Ascension (F8.4), Upper Right Ascension (F8.4), Lower Declination (F9.4),
  150. Xthree letter abbreviation for the Constellation (1X,A3).  The file contains
  151. X358, 29-byte records.
  152. X    The following is an example of the output of the program:
  153. X RA =  9.0000 DEC =  65.0000  IS IN CONSTELLATION UMa
  154. X RA = 23.5000 DEC = -20.0000  IS IN CONSTELLATION Aqr
  155. X RA =  5.1200 DEC =   9.1200  IS IN CONSTELLATION Ori
  156. X RA =  9.4555 DEC = -19.9000  IS IN CONSTELLATION Hya
  157. X RA = 12.8888 DEC =  22.0000  IS IN CONSTELLATION Com
  158. X RA = 15.6687 DEC = -12.1234  IS IN CONSTELLATION Lib
  159. X RA = 19.0000 DEC = -40.0000  IS IN CONSTELLATION CrA
  160. X RA =  6.2222 DEC = -81.1234  IS IN CONSTELLATION Men
  161. X END OF INPUT POSITIONS AFTER: RA =   6.2222   DEC = -81.1234
  162. X THE EQUINOX FOR THESE POSITIONS IS 1950.0
  163. X*/
  164. X
  165. Xstatic char And[] = "And: Andromeda";
  166. Xstatic char Ant[] = "Ant: Antlia";
  167. Xstatic char Aps[] = "Aps: Apus";
  168. Xstatic char Aql[] = "Aql: Aquila";
  169. Xstatic char Aqr[] = "Aqr: Aquarius";
  170. Xstatic char Ara[] = "Ara: Ara";
  171. Xstatic char Ari[] = "Ari: Aries";
  172. Xstatic char Aur[] = "Aur: Auriga";
  173. Xstatic char Boo[] = "Boo: Bootes";
  174. Xstatic char CMa[] = "CMa: Canis Major";
  175. Xstatic char CMi[] = "CMi: Canis Minor";
  176. Xstatic char CVn[] = "CVn: Canes Venatici";
  177. Xstatic char Cae[] = "Cae: Caelum";
  178. Xstatic char Cam[] = "Cam: Camelopardalis";
  179. Xstatic char Cap[] = "Cap: Capricornus";
  180. Xstatic char Car[] = "Car: Carina";
  181. Xstatic char Cas[] = "Cas: Cassiopeia";
  182. Xstatic char Cen[] = "Cen: Centaurus";
  183. Xstatic char Cep[] = "Cep: Cepheus";
  184. Xstatic char Cet[] = "Cet: Cetus";
  185. Xstatic char Cha[] = "Cha: Chamaeleon";
  186. Xstatic char Cir[] = "Cir: Circinus";
  187. Xstatic char Cnc[] = "Cnc: Cancer";
  188. Xstatic char Col[] = "Col: Columba";
  189. Xstatic char Com[] = "Com: Coma Berenices";
  190. Xstatic char CrA[] = "CrA: Corona Australis";
  191. Xstatic char CrB[] = "CrB: Corona Borealis";
  192. Xstatic char Crt[] = "Crt: Crater";
  193. Xstatic char Cru[] = "Cru: Crux";
  194. Xstatic char Crv[] = "Crv: Corvus";
  195. Xstatic char Cyg[] = "Cyg: Cygnus";
  196. Xstatic char Del[] = "Del: Delphinus";
  197. Xstatic char Dor[] = "Dor: Dorado";
  198. Xstatic char Dra[] = "Dra: Draco";
  199. Xstatic char Equ[] = "Equ: Equuleus";
  200. Xstatic char Eri[] = "Eri: Eridanus";
  201. Xstatic char For[] = "For: Fornax";
  202. Xstatic char Gem[] = "Gem: Gemini";
  203. Xstatic char Gru[] = "Gru: Grus";
  204. Xstatic char Her[] = "Her: Hercules";
  205. Xstatic char Hor[] = "Hor: Horologium";
  206. Xstatic char Hya[] = "Hya: Hydra";
  207. Xstatic char Hyi[] = "Hyi: Hydrus";
  208. Xstatic char Ind[] = "Ind: Indus";
  209. Xstatic char LMi[] = "LMi: Leo Minor";
  210. Xstatic char Lac[] = "Lac: Lacerta";
  211. Xstatic char Leo[] = "Leo: Leo";
  212. Xstatic char Lep[] = "Lep: Lepus";
  213. Xstatic char Lib[] = "Lib: Libra";
  214. Xstatic char Lup[] = "Lup: Lupus";
  215. Xstatic char Lyn[] = "Lyn: Lynx";
  216. Xstatic char Lyr[] = "Lyr: Lyra";
  217. Xstatic char Men[] = "Men: Mensa";
  218. Xstatic char Mic[] = "Mic: Microscopium";
  219. Xstatic char Mon[] = "Mon: Monoceros";
  220. Xstatic char Mus[] = "Mus: Musca";
  221. Xstatic char Nor[] = "Nor: Norma";
  222. Xstatic char Oct[] = "Oct: Octans";
  223. Xstatic char Oph[] = "Oph: Ophiuchus";
  224. Xstatic char Ori[] = "Ori: Orion";
  225. Xstatic char Pav[] = "Pav: Pavo";
  226. Xstatic char Peg[] = "Peg: Pegasus";
  227. Xstatic char Per[] = "Per: Perseus";
  228. Xstatic char Phe[] = "Phe: Phoenix";
  229. Xstatic char Pic[] = "Pic: Pictor";
  230. Xstatic char PsA[] = "PsA: Piscis Austrinus";
  231. Xstatic char Psc[] = "Psc: Pisces";
  232. Xstatic char Pup[] = "Pup: Puppis";
  233. Xstatic char Pyx[] = "Pyx: Pyxis";
  234. Xstatic char Ret[] = "Ret: Reticulum";
  235. Xstatic char Scl[] = "Scl: Sculptor";
  236. Xstatic char Sco[] = "Sco: Scorpius";
  237. Xstatic char Sct[] = "Sct: Scutum";
  238. Xstatic char Ser[] = "Ser: Serpens";
  239. Xstatic char Sex[] = "Sex: Sextans";
  240. Xstatic char Sge[] = "Sge: Sagitta";
  241. Xstatic char Sgr[] = "Sgr: Sagittarius";
  242. Xstatic char Tau[] = "Tau: Taurus";
  243. Xstatic char Tel[] = "Tel: Telescopium";
  244. Xstatic char TrA[] = "TrA: Triangulum Australe";
  245. Xstatic char Tri[] = "Tri: Triangulum";
  246. Xstatic char Tuc[] = "Tuc: Tucana";
  247. Xstatic char UMa[] = "UMa: Ursa Major";
  248. Xstatic char UMi[] = "UMi: Ursa Minor";
  249. Xstatic char Vel[] = "Vel: Vela";
  250. Xstatic char Vir[] = "Vir: Virgo";
  251. Xstatic char Vol[] = "Vol: Volans";
  252. Xstatic char Vul[] = "Vul: Vulpecula";
  253. X
  254. Xstruct cdata {
  255. X    double l_ra, u_ra, l_dec;
  256. X    char *cons;
  257. X} con_data[] = {
  258. X    {0.0000, 24.0000, 88.0000, UMi},
  259. X    {8.0000, 14.5000, 86.5000, UMi},
  260. X    {21.0000, 23.0000, 86.1667, UMi},
  261. X    {18.0000, 21.0000, 86.0000, UMi},
  262. X    {0.0000, 8.0000, 85.0000, Cep},
  263. X    {9.1667, 10.6667, 82.0000, Cam},
  264. X    {0.0000, 5.0000, 80.0000, Cep},
  265. X    {10.6667, 14.5000, 80.0000, Cam},
  266. X    {17.5000, 18.0000, 80.0000, UMi},
  267. X    {20.1667, 21.0000, 80.0000, Dra},
  268. X    {0.0000, 3.5083, 77.0000, Cep},
  269. X    {11.5000, 13.5833, 77.0000, Cam},
  270. X    {16.5333, 17.5000, 75.0000, UMi},
  271. X    {20.1667, 20.6667, 75.0000, Cep},
  272. X    {7.9667, 9.1667, 73.5000, Cam},
  273. X    {9.1667, 11.3333, 73.5000, Dra},
  274. X    {13.0000, 16.5333, 70.0000, UMi},
  275. X    {3.1000, 3.4167, 68.0000, Cas},
  276. X    {20.4167, 20.6667, 67.0000, Dra},
  277. X    {11.3333, 12.0000, 66.5000, Dra},
  278. X    {0.0000, 0.3333, 66.0000, Cep},
  279. X    {14.0000, 15.6667, 66.0000, UMi},
  280. X    {23.5833, 24.0000, 66.0000, Cep},
  281. X    {12.0000, 13.5000, 64.0000, Dra},
  282. X    {13.5000, 14.4167, 63.0000, Dra},
  283. X    {23.1667, 23.5833, 63.0000, Cep},
  284. X    {6.1000, 7.0000, 62.0000, Cam},
  285. X    {20.0000, 20.4167, 61.5000, Dra},
  286. X    {20.5367, 20.6000, 60.9167, Cep},
  287. X    {7.0000, 7.9667, 60.0000, Cam},
  288. X    {7.9667, 8.4167, 60.0000, UMa},
  289. X    {19.7667, 20.0000, 59.5000, Dra},
  290. X    {20.0000, 20.5367, 59.5000, Cep},
  291. X    {22.8667, 23.1667, 59.0833, Cep},
  292. X    {0.0000, 2.4333, 58.5000, Cas},
  293. X    {19.4167, 19.7667, 58.0000, Dra},
  294. X    {1.7000, 1.9083, 57.5000, Cas},
  295. X    {2.4333, 3.1000, 57.0000, Cas},
  296. X    {3.1000, 3.1667, 57.0000, Cam},
  297. X    {22.3167, 22.8667, 56.2500, Cep},
  298. X    {5.0000, 6.1000, 56.0000, Cam},
  299. X    {14.0333, 14.4167, 55.5000, UMa},
  300. X    {14.4167, 19.4167, 55.5000, Dra},
  301. X    {3.1667, 3.3333, 55.0000, Cam},
  302. X    {22.1333, 22.3167, 55.0000, Cep},
  303. X    {20.6000, 21.9667, 54.8333, Cep},
  304. X    {0.0000, 1.7000, 54.0000, Cas},
  305. X    {6.1000, 6.5000, 54.0000, Lyn},
  306. X    {12.0833, 13.5000, 53.0000, UMa},
  307. X    {15.2500, 15.7500, 53.0000, Dra},
  308. X    {21.9667, 22.1333, 52.7500, Cep},
  309. X    {3.3333, 5.0000, 52.5000, Cam},
  310. X    {22.8667, 23.3333, 52.5000, Cas},
  311. X    {15.7500, 17.0000, 51.5000, Dra},
  312. X    {2.0417, 2.5167, 50.5000, Per},
  313. X    {17.0000, 18.2333, 50.5000, Dra},
  314. X    {0.0000, 1.3667, 50.0000, Cas},
  315. X    {1.3667, 1.6667, 50.0000, Per},
  316. X    {6.5000, 6.8000, 50.0000, Lyn},
  317. X    {23.3333, 24.0000, 50.0000, Cas},
  318. X    {13.5000, 14.0333, 48.5000, UMa},
  319. X    {0.0000, 1.1167, 48.0000, Cas},
  320. X    {23.5833, 24.0000, 48.0000, Cas},
  321. X    {18.1750, 18.2333, 47.5000, Her},
  322. X    {18.2333, 19.0833, 47.5000, Dra},
  323. X    {19.0833, 19.1667, 47.5000, Cyg},
  324. X    {1.6667, 2.0417, 47.0000, Per},
  325. X    {8.4167, 9.1667, 47.0000, UMa},
  326. X    {0.1667, 0.8667, 46.0000, Cas},
  327. X    {12.0000, 12.0833, 45.0000, UMa},
  328. X    {6.8000, 7.3667, 44.5000, Lyn},
  329. X    {21.9083, 21.9667, 44.0000, Cyg},
  330. X    {21.8750, 21.9083, 43.7500, Cyg},
  331. X    {19.1667, 19.4000, 43.5000, Cyg},
  332. X    {9.1667, 10.1667, 42.0000, UMa},
  333. X    {10.1667, 10.7833, 40.0000, UMa},
  334. X    {15.4333, 15.7500, 40.0000, Boo},
  335. X    {15.7500, 16.3333, 40.0000, Her},
  336. X    {9.2500, 9.5833, 39.7500, Lyn},
  337. X    {0.0000, 2.5167, 36.7500, And},
  338. X    {2.5167, 2.5667, 36.7500, Per},
  339. X    {19.3583, 19.4000, 36.5000, Lyr},
  340. X    {4.5000, 4.6917, 36.0000, Per},
  341. X    {21.7333, 21.8750, 36.0000, Cyg},
  342. X    {21.8750, 22.0000, 36.0000, Lac},
  343. X    {6.5333, 7.3667, 35.5000, Aur},
  344. X    {7.3667, 7.7500, 35.5000, Lyn},
  345. X    {0.0000, 2.0000, 35.0000, And},
  346. X    {22.0000, 22.8167, 35.0000, Lac},
  347. X    {22.8167, 22.8667, 34.5000, Lac},
  348. X    {22.8667, 23.5000, 34.5000, And},
  349. X    {2.5667, 2.7167, 34.0000, Per},
  350. X    {10.7833, 11.0000, 34.0000, UMa},
  351. X    {12.0000, 12.3333, 34.0000, CVn},
  352. X    {7.7500, 9.2500, 33.5000, Lyn},
  353. X    {9.2500, 9.8833, 33.5000, LMi},
  354. X    {0.7167, 1.4083, 33.0000, And},
  355. X    {15.1833, 15.4333, 33.0000, Boo},
  356. X    {23.5000, 23.7500, 32.0833, And},
  357. X    {12.3333, 13.2500, 32.0000, CVn},
  358. X    {23.7500, 24.0000, 31.3333, And},
  359. X    {13.9583, 14.0333, 30.7500, CVn},
  360. X    {2.4167, 2.7167, 30.6667, Tri},
  361. X    {2.7167, 4.5000, 30.6667, Per},
  362. X    {4.5000, 4.7500, 30.0000, Aur},
  363. X    {18.1750, 19.3583, 30.0000, Lyr},
  364. X    {11.0000, 12.0000, 29.0000, UMa},
  365. X    {19.6667, 20.9167, 29.0000, Cyg},
  366. X    {4.7500, 5.8833, 28.5000, Aur},
  367. X    {9.8833, 10.5000, 28.5000, LMi},
  368. X    {13.2500, 13.9583, 28.5000, CVn},
  369. X    {0.0000, 0.0667, 28.0000, And},
  370. X    {1.4083, 1.6667, 28.0000, Tri},
  371. X    {5.8833, 6.5333, 28.0000, Aur},
  372. X    {7.8833, 8.0000, 28.0000, Gem},
  373. X    {20.9167, 21.7333, 28.0000, Cyg},
  374. X    {19.2583, 19.6667, 27.5000, Cyg},
  375. X    {1.9167, 2.4167, 27.2500, Tri},
  376. X    {16.1667, 16.3333, 27.0000, CrB},
  377. X    {15.0833, 15.1833, 26.0000, Boo},
  378. X    {15.1833, 16.1667, 26.0000, CrB},
  379. X    {18.3667, 18.8667, 26.0000, Lyr},
  380. X    {10.7500, 11.0000, 25.5000, LMi},
  381. X    {18.8667, 19.2583, 25.5000, Lyr},
  382. X    {1.6667, 1.9167, 25.0000, Tri},
  383. X    {0.7167, 0.8500, 23.7500, Psc},
  384. X    {10.5000, 10.7500, 23.5000, LMi},
  385. X    {21.2500, 21.4167, 23.5000, Vul},
  386. X    {5.7000, 5.8833, 22.8333, Tau},
  387. X    {0.0667, 0.1417, 22.0000, And},
  388. X    {15.9167, 16.0333, 22.0000, Ser},
  389. X    {5.8833, 6.2167, 21.5000, Gem},
  390. X    {19.8333, 20.2500, 21.2500, Vul},
  391. X    {18.8667, 19.2500, 21.0833, Vul},
  392. X    {0.1417, 0.8500, 21.0000, And},
  393. X    {20.2500, 20.5667, 20.5000, Vul},
  394. X    {7.8083, 7.8833, 20.0000, Gem},
  395. X    {20.5667, 21.2500, 19.5000, Vul},
  396. X    {19.2500, 19.8333, 19.1667, Vul},
  397. X    {3.2833, 3.3667, 19.0000, Ari},
  398. X    {18.8667, 19.0000, 18.5000, Sge},
  399. X    {5.7000, 5.7667, 18.0000, Ori},
  400. X    {6.2167, 6.3083, 17.5000, Gem},
  401. X    {19.0000, 19.8333, 16.1667, Sge},
  402. X    {4.9667, 5.3333, 16.0000, Tau},
  403. X    {15.9167, 16.0833, 16.0000, Her},
  404. X    {19.8333, 20.2500, 15.7500, Sge},
  405. X    {4.6167, 4.9667, 15.5000, Tau},
  406. X    {5.3333, 5.6000, 15.5000, Tau},
  407. X    {12.8333, 13.5000, 15.0000, Com},
  408. X    {17.2500, 18.2500, 14.3333, Her},
  409. X    {11.8667, 12.8333, 14.0000, Com},
  410. X    {7.5000, 7.8083, 13.5000, Gem},
  411. X    {16.7500, 17.2500, 12.8333, Her},
  412. X    {0.0000, 0.1417, 12.5000, Peg},
  413. X    {5.6000, 5.7667, 12.5000, Tau},
  414. X    {7.0000, 7.5000, 12.5000, Gem},
  415. X    {21.1167, 21.3333, 12.5000, Peg},
  416. X    {6.3083, 6.9333, 12.0000, Gem},
  417. X    {18.2500, 18.8667, 12.0000, Her},
  418. X    {20.8750, 21.0500, 11.8333, Del},
  419. X    {21.0500, 21.1167, 11.8333, Peg},
  420. X    {11.5167, 11.8667, 11.0000, Leo},
  421. X    {6.2417, 6.3083, 10.0000, Ori},
  422. X    {6.9333, 7.0000, 10.0000, Gem},
  423. X    {7.8083, 7.9250, 10.0000, Cnc},
  424. X    {23.8333, 24.0000, 10.0000, Peg},
  425. X    {1.6667, 3.2833,  9.9167, Ari},
  426. X    {20.1417, 20.3000,  8.5000, Del},
  427. X    {13.5000, 15.0833,  8.0000, Boo},
  428. X    {22.7500, 23.8333,  7.5000, Peg},
  429. X    {7.9250, 9.2500,  7.0000, Cnc},
  430. X    {9.2500, 10.7500,  7.0000, Leo},
  431. X    {18.2500, 18.6622,  6.2500, Oph},
  432. X    {18.6622, 18.8667,  6.2500, Aql},
  433. X    {20.8333, 20.8750,  6.0000, Del},
  434. X    {7.0000, 7.0167,  5.5000, CMi},
  435. X    {18.2500, 18.4250,  4.5000, Ser},
  436. X    {16.0833, 16.7500,  4.0000, Her},
  437. X    {18.2500, 18.4250,  3.0000, Oph},
  438. X    {21.4667, 21.6667,  2.7500, Peg},
  439. X    {0.0000, 2.0000,  2.0000, Psc},
  440. X    {18.5833, 18.8667,  2.0000, Ser},
  441. X    {20.3000, 20.8333,  2.0000, Del},
  442. X    {20.8333, 21.3333,  2.0000, Equ},
  443. X    {21.3333, 21.4667,  2.0000, Peg},
  444. X    {22.0000, 22.7500,  2.0000, Peg},
  445. X    {21.6667, 22.0000,  1.7500, Peg},
  446. X    {7.0167, 7.2000,  1.5000, CMi},
  447. X    {3.5833, 4.6167,  0.0000, Tau},
  448. X    {4.6167, 4.6667,  0.0000, Ori},
  449. X    {7.2000, 8.0833,  0.0000, CMi},
  450. X    {14.6667, 15.0833,  0.0000, Vir},
  451. X    {17.8333, 18.2500,  0.0000, Oph},
  452. X    {2.6500, 3.2833, -1.7500, Cet},
  453. X    {3.2833, 3.5833, -1.7500, Tau},
  454. X    {15.0833, 16.2667, -3.2500, Ser},
  455. X    {4.6667, 5.0833, -4.0000, Ori},
  456. X    {5.8333, 6.2417, -4.0000, Ori},
  457. X    {17.8333, 17.9667, -4.0000, Ser},
  458. X    {18.2500, 18.5833, -4.0000, Ser},
  459. X    {18.5833, 18.8667, -4.0000, Aql},
  460. X    {22.7500, 23.8333, -4.0000, Psc},
  461. X    {10.7500, 11.5167, -6.0000, Leo},
  462. X    {11.5167, 11.8333, -6.0000, Vir},
  463. X    {0.0000, 0.3333, -7.0000, Psc},
  464. X    {23.8333, 24.0000, -7.0000, Psc},
  465. X    {14.2500, 14.6667, -8.0000, Vir},
  466. X    {15.9167, 16.2667, -8.0000, Oph},
  467. X    {20.0000, 20.5333, -9.0000, Aql},
  468. X    {21.3333, 21.8667, -9.0000, Aqr},
  469. X    {17.1667, 17.9667, -10.0000, Oph},
  470. X    {5.8333, 8.0833, -11.0000, Mon},
  471. X    {4.9167, 5.0833, -11.0000, Eri},
  472. X    {5.0833, 5.8333, -11.0000, Ori},
  473. X    {8.0833, 8.3667, -11.0000, Hya},
  474. X    {9.5833, 10.7500, -11.0000, Sex},
  475. X    {11.8333, 12.8333, -11.0000, Vir},
  476. X    {17.5833, 17.6667, -11.6667, Oph},
  477. X    {18.8667, 20.0000, -12.0333, Aql},
  478. X    {4.8333, 4.9167, -14.5000, Eri},
  479. X    {20.5333, 21.3333, -15.0000, Aqr},
  480. X    {17.1667, 18.2500, -16.0000, Ser},
  481. X    {18.2500, 18.8667, -16.0000, Sct},
  482. X    {8.3667, 8.5833, -17.0000, Hya},
  483. X    {16.2667, 16.3750, -18.2500, Oph},
  484. X    {8.5833, 9.0833, -19.0000, Hya},
  485. X    {10.7500, 10.8333, -19.0000, Crt},
  486. X    {16.2667, 16.3750, -19.2500, Oph},
  487. X    {15.6667, 15.9167, -20.0000, Lib},
  488. X    {12.5833, 12.8333, -22.0000, Crv},
  489. X    {12.8333, 14.2500, -22.0000, Vir},
  490. X    {9.0833, 9.7500, -24.0000, Hya},
  491. X    {1.6667, 2.6500, -24.3833, Cet},
  492. X    {2.6500, 3.7500, -24.3833, Eri},
  493. X    {10.8333, 11.8333, -24.5000, Crt},
  494. X    {11.8333, 12.5833, -24.5000, Crv},
  495. X    {14.2500, 14.9167, -24.5000, Lib},
  496. X    {16.2667, 16.7500, -24.5833, Oph},
  497. X    {0.0000, 1.6667, -25.5000, Cet},
  498. X    {21.3333, 21.8667, -25.5000, Cap},
  499. X    {21.8667, 23.8333, -25.5000, Aqr},
  500. X    {23.8333, 24.0000, -25.5000, Cet},
  501. X    {9.7500, 10.2500, -26.5000, Hya},
  502. X    {4.7000, 4.8333, -27.2500, Eri},
  503. X    {4.8333, 6.1167, -27.2500, Lep},
  504. X    {20.0000, 21.3333, -28.0000, Cap},
  505. X    {10.2500, 10.5833, -29.1667, Hya},
  506. X    {12.5833, 14.9167, -29.5000, Hya},
  507. X    {14.9167, 15.6667, -29.5000, Lib},
  508. X    {15.6667, 16.0000, -29.5000, Sco},
  509. X    {4.5833, 4.7000, -30.0000, Eri},
  510. X    {16.7500, 17.6000, -30.0000, Oph},
  511. X    {17.6000, 17.8333, -30.0000, Sgr},
  512. X    {10.5833, 10.8333, -31.1667, Hya},
  513. X    {6.1167, 7.3667, -33.0000, CMa},
  514. X    {12.2500, 12.5833, -33.0000, Hya},
  515. X    {10.8333, 12.2500, -35.0000, Hya},
  516. X    {3.5000, 3.7500, -36.0000, For},
  517. X    {8.3667, 9.3667, -36.7500, Pyx},
  518. X    {4.2667, 4.5833, -37.0000, Eri},
  519. X    {17.8333, 19.1667, -37.0000, Sgr},
  520. X    {21.3333, 23.0000, -37.0000, PsA},
  521. X    {23.0000, 23.3333, -37.0000, Scl},
  522. X    {3.0000, 3.5000, -39.5833, For},
  523. X    {9.3667, 11.0000, -39.7500, Ant},
  524. X    {0.0000, 1.6667, -40.0000, Scl},
  525. X    {1.6667, 3.0000, -40.0000, For},
  526. X    {3.8667, 4.2667, -40.0000, Eri},
  527. X    {23.3333, 24.0000, -40.0000, Scl},
  528. X    {14.1667, 14.9167, -42.0000, Cen},
  529. X    {15.6667, 16.0000, -42.0000, Lup},
  530. X    {16.0000, 16.4208, -42.0000, Sco},
  531. X    {4.8333, 5.0000, -43.0000, Cae},
  532. X    {5.0000, 6.5833, -43.0000, Col},
  533. X    {8.0000, 8.3667, -43.0000, Pup},
  534. X    {3.4167, 3.8667, -44.0000, Eri},
  535. X    {16.4208, 17.8333, -45.5000, Sco},
  536. X    {17.8333, 19.1667, -45.5000, CrA},
  537. X    {19.1667, 20.3333, -45.5000, Sgr},
  538. X    {20.3333, 21.3333, -45.5000, Mic},
  539. X    {3.0000, 3.4167, -46.0000, Eri},
  540. X    {4.5000, 4.8333, -46.5000, Cae},
  541. X    {15.3333, 15.6667, -48.0000, Lup},
  542. X    {0.0000, 2.3333, -48.1667, Phe},
  543. X    {2.6667, 3.0000, -49.0000, Eri},
  544. X    {4.0833, 4.2667, -49.0000, Hor},
  545. X    {4.2667, 4.5000, -49.0000, Cae},
  546. X    {21.3333, 22.0000, -50.0000, Gru},
  547. X    {6.0000, 8.0000, -50.7500, Pup},
  548. X    {8.0000, 8.1667, -50.7500, Vel},
  549. X    {2.4167, 2.6667, -51.0000, Eri},
  550. X    {3.8333, 4.0833, -51.0000, Hor},
  551. X    {0.0000, 1.8333, -51.5000, Phe},
  552. X    {6.0000, 6.1667, -52.5000, Car},
  553. X    {8.1667, 8.4500, -53.0000, Vel},
  554. X    {3.5000, 3.8333, -53.1667, Hor},
  555. X    {3.8333, 4.0000, -53.1667, Dor},
  556. X    {0.0000, 1.5833, -53.5000, Phe},
  557. X    {2.1667, 2.4167, -54.0000, Eri},
  558. X    {4.5000, 5.0000, -54.0000, Pic},
  559. X    {15.0500, 15.3333, -54.0000, Lup},
  560. X    {8.4500, 8.8333, -54.5000, Vel},
  561. X    {6.1667, 6.5000, -55.0000, Car},
  562. X    {11.8333, 12.8333, -55.0000, Cen},
  563. X    {14.1667, 15.0500, -55.0000, Lup},
  564. X    {15.0500, 15.3333, -55.0000, Nor},
  565. X    {4.0000, 4.3333, -56.5000, Dor},
  566. X    {8.8333, 11.0000, -56.5000, Vel},
  567. X    {11.0000, 11.2500, -56.5000, Cen},
  568. X    {17.5000, 18.0000, -57.0000, Ara},
  569. X    {18.0000, 20.3333, -57.0000, Tel},
  570. X    {22.0000, 23.3333, -57.0000, Gru},
  571. X    {3.2000, 3.5000, -57.5000, Hor},
  572. X    {5.0000, 5.5000, -57.5000, Pic},
  573. X    {6.5000, 6.8333, -58.0000, Car},
  574. X    {0.0000, 1.3333, -58.5000, Phe},
  575. X    {1.3333, 2.1667, -58.5000, Eri},
  576. X    {23.3333, 24.0000, -58.5000, Phe},
  577. X    {4.3333, 4.5833, -59.0000, Dor},
  578. X    {15.3333, 16.4208, -60.0000, Nor},
  579. X    {20.3333, 21.3333, -60.0000, Ind},
  580. X    {5.5000, 6.0000, -61.0000, Pic},
  581. X    {15.1667, 15.3333, -61.0000, Cir},
  582. X    {16.4208, 16.5833, -61.0000, Ara},
  583. X    {14.9167, 15.1667, -63.5833, Cir},
  584. X    {16.5833, 16.7500, -63.5833, Ara},
  585. X    {6.0000, 6.8333, -64.0000, Pic},
  586. X    {6.8333, 9.0333, -64.0000, Car},
  587. X    {11.2500, 11.8333, -64.0000, Cen},
  588. X    {11.8333, 12.8333, -64.0000, Cru},
  589. X    {12.8333, 14.5333, -64.0000, Cen},
  590. X    {13.5000, 13.6667, -65.0000, Cir},
  591. X    {16.7500, 16.8333, -65.0000, Ara},
  592. X    {2.1667, 3.2000, -67.5000, Hor},
  593. X    {3.2000, 4.5833, -67.5000, Ret},
  594. X    {14.7500, 14.9167, -67.5000, Cir},
  595. X    {16.8333, 17.5000, -67.5000, Ara},
  596. X    {17.5000, 18.0000, -67.5000, Pav},
  597. X    {22.0000, 23.3333, -67.5000, Tuc},
  598. X    {4.5833, 6.5833, -70.0000, Dor},
  599. X    {13.6667, 14.7500, -70.0000, Cir},
  600. X    {14.7500, 17.0000, -70.0000, TrA},
  601. X    {0.0000, 1.3333, -75.0000, Tuc},
  602. X    {3.5000, 4.5833, -75.0000, Hyi},
  603. X    {6.5833, 9.0333, -75.0000, Vol},
  604. X    {9.0333, 11.2500, -75.0000, Car},
  605. X    {11.2500, 13.6667, -75.0000, Mus},
  606. X    {18.0000, 21.3333, -75.0000, Pav},
  607. X    {21.3333, 23.3333, -75.0000, Ind},
  608. X    {23.3333, 24.0000, -75.0000, Tuc},
  609. X    {0.7500, 1.3333, -76.0000, Tuc},
  610. X    {0.0000, 3.5000, -82.5000, Hyi},
  611. X    {7.6667, 13.6667, -82.5000, Cha},
  612. X    {13.6667, 18.0000, -82.5000, Aps},
  613. X    {3.5000, 7.6667, -85.0000, Men},
  614. X    {0.0000, 24.0000, -90.0000, Oct},
  615. X    {0.0000, 24.0000, -90.0000, ""}
  616. X};
  617. X
  618. X/* given ra and dec (in rads) precessed to epoch e (an mjd)
  619. X * point *name to a string naming the constellation at that location.
  620. X */
  621. Xstatic
  622. Xconfnd(r, d, e, name)
  623. Xdouble r, d, e;
  624. Xchar **name;
  625. X{
  626. X    double ra1875, de1875, mjd1875;
  627. X    int i;
  628. X
  629. X    cal_mjd (1, 1.0, 1875, &mjd1875);
  630. X    precess (e, mjd1875, &r, &d);
  631. X        
  632. X    /* find constellation such that the declination entered is higher than
  633. X     * the lower boundary of the constellation when the upper and lower
  634. X     * right ascensions for the constellation bound the entered right
  635. X     * ascension
  636. X     */
  637. X    i = 0;
  638. X    ra1875 = radhr (r);
  639. X    de1875 = raddeg (d);
  640. X    while ((con_data[i].l_dec > de1875 || con_data[i].u_ra <= ra1875
  641. X             || con_data[i].l_ra > ra1875) && con_data[i].cons[0])
  642. X         i++;
  643. X
  644. X    *name = con_data[i].cons[0] ? con_data[i].cons : "<No constellation?!>";
  645. X}
  646. END_OF_FILE
  647.   if test 20370 -ne `wc -c <'constel.c'`; then
  648.     echo shar: \"'constel.c'\" unpacked with wrong size!
  649.   fi
  650.   # end of 'constel.c'
  651. fi
  652. if test -f 'sel_fld.c' -a "${1}" != "-c" ; then 
  653.   echo shar: Will not clobber existing file \"'sel_fld.c'\"
  654. else
  655.   echo shar: Extracting \"'sel_fld.c'\" \(27884 characters\)
  656.   sed "s/^X//" >'sel_fld.c' <<'END_OF_FILE'
  657. X#include <stdio.h>
  658. X#include "screen.h"
  659. X
  660. X/* define BANG if and only if your system supports the system() function.
  661. X */
  662. X#define    BANG
  663. X
  664. X/* table of the fields, with flags indicating which menu(s) they are on and
  665. X * whether pickable for changing or plotting.
  666. X * N.B. type must be long enough to hold 16 bits.
  667. X */
  668. Xtypedef unsigned short F_t;
  669. Xstatic F_t fields[] = {
  670. X    rcfpack (R_ALTM,    C_ALTM,        F_MMNU|F_CHG),
  671. X    rcfpack (R_CALLISTO,C_JMX,        F_MNUJ|F_PLT),
  672. X    rcfpack (R_CALLISTO,C_JMY,        F_MNUJ|F_PLT),
  673. X    rcfpack (R_CALLISTO,C_JMZ,        F_MNUJ|F_PLT),
  674. X    rcfpack (R_DAWN,    C_DAWN,        F_MMNU|F_CHG),
  675. X    rcfpack (R_DAWN,    C_DAWNV,    F_MMNU|F_PLT),
  676. X    rcfpack (R_DUSK,    C_DUSK,        F_MMNU|F_CHG),
  677. X    rcfpack (R_DUSK,    C_DUSKV,    F_MMNU|F_PLT),
  678. X    rcfpack (R_EPOCH,    C_EPOCHV,    F_MMNU|F_CHG),
  679. X    rcfpack (R_EUROPA,    C_JMX,        F_MNUJ|F_PLT),
  680. X    rcfpack (R_EUROPA,    C_JMY,        F_MNUJ|F_PLT),
  681. X    rcfpack (R_EUROPA,    C_JMZ,        F_MNUJ|F_PLT),
  682. X    rcfpack (R_GANYMEDE,C_JMX,        F_MNUJ|F_PLT),
  683. X    rcfpack (R_GANYMEDE,C_JMY,        F_MNUJ|F_PLT),
  684. X    rcfpack (R_GANYMEDE,C_JMZ,        F_MNUJ|F_PLT),
  685. X    rcfpack (R_HEIGHT,    C_HEIGHTV,    F_MMNU|F_CHG|F_PLT),
  686. X    rcfpack (R_IO,    C_JMX,        F_MNUJ|F_PLT),
  687. X    rcfpack (R_IO,    C_JMY,        F_MNUJ|F_PLT),
  688. X    rcfpack (R_IO,    C_JMZ,        F_MNUJ|F_PLT),
  689. X    rcfpack (R_JCML,    C_JCMLSI,    F_MNUJ|F_PLT),
  690. X    rcfpack (R_JCML,    C_JCMLSII,    F_MNUJ|F_PLT),
  691. X    rcfpack (R_JD,    C_JDV,        F_MMNU|F_CHG|F_PLT),
  692. X    rcfpack (R_JUPITER,    C_ALT,        F_MNU1|F_PLT),
  693. X    rcfpack (R_JUPITER,    C_AZ,        F_MNU1|F_PLT),
  694. X    rcfpack (R_JUPITER,    C_CONSTEL,    F_MNU1|F_CHG),
  695. X    rcfpack (R_JUPITER,    C_CONSTEL,    F_MNU2|F_CHG),
  696. X    rcfpack (R_JUPITER,    C_CONSTEL,    F_MNU3|F_CHG),
  697. X    rcfpack (R_JUPITER,    C_DEC,        F_MNU1|F_PLT),
  698. X    rcfpack (R_JUPITER,    C_EDIST,    F_MNU1|F_PLT),
  699. X    rcfpack (R_JUPITER,    C_ELONG,    F_MNU1|F_PLT),
  700. X    rcfpack (R_JUPITER,    C_HLAT,        F_MNU1|F_PLT),
  701. X    rcfpack (R_JUPITER,    C_HLONG,    F_MNU1|F_PLT),
  702. X    rcfpack (R_JUPITER,    C_MAG,        F_MNU1|F_PLT),
  703. X    rcfpack (R_JUPITER,    C_MARS,        F_MNU3|F_PLT),
  704. X    rcfpack (R_JUPITER,    C_MERCURY,    F_MNU3|F_PLT),
  705. X    rcfpack (R_JUPITER,    C_MOON,        F_MNU3|F_PLT),
  706. X    rcfpack (R_JUPITER,    C_NEPTUNE,    F_MNU3|F_PLT),
  707. X    rcfpack (R_JUPITER,    C_OBJ,        F_MNU1|F_CHG),
  708. X    rcfpack (R_JUPITER,    C_OBJ,        F_MNU2|F_CHG),
  709. X    rcfpack (R_JUPITER,    C_OBJ,        F_MNU3|F_CHG),
  710. X    rcfpack (R_JUPITER,    C_OBJX,        F_MNU3|F_PLT),
  711. X    rcfpack (R_JUPITER,    C_OBJY,        F_MNU3|F_PLT),
  712. X    rcfpack (R_JUPITER,    C_PHASE,    F_MNU1|F_PLT),
  713. X    rcfpack (R_JUPITER,    C_PLUTO,    F_MNU3|F_PLT),
  714. X    rcfpack (R_JUPITER,    C_RA,        F_MNU1|F_PLT),
  715. X    rcfpack (R_JUPITER,    C_RISEAZ,    F_MNU2|F_PLT),
  716. X    rcfpack (R_JUPITER,    C_RISETM,    F_MNU2|F_PLT),
  717. X    rcfpack (R_JUPITER,    C_SATURN,    F_MNU3|F_PLT),
  718. X    rcfpack (R_JUPITER,    C_SDIST,    F_MNU1|F_PLT),
  719. X    rcfpack (R_JUPITER,    C_SETAZ,    F_MNU2|F_PLT),
  720. X    rcfpack (R_JUPITER,    C_SETTM,    F_MNU2|F_PLT),
  721. X    rcfpack (R_JUPITER,    C_SIZE,        F_MNU1|F_PLT),
  722. X    rcfpack (R_JUPITER,    C_SUN,        F_MNU3|F_PLT),
  723. X    rcfpack (R_JUPITER,    C_TRANSALT,    F_MNU2|F_PLT),
  724. X    rcfpack (R_JUPITER,    C_TRANSTM,    F_MNU2|F_PLT),
  725. X    rcfpack (R_JUPITER,    C_TUP,        F_MNU2|F_PLT),
  726. X    rcfpack (R_JUPITER,    C_URANUS,    F_MNU3|F_PLT),
  727. X    rcfpack (R_JUPITER,    C_VENUS,    F_MNU3|F_PLT),
  728. X    rcfpack (R_JUPITER,    C_XTRA,        F_MNU1|F_CHG),
  729. X    rcfpack (R_JUPITER,    C_XTRA,        F_MNU2|F_CHG),
  730. X    rcfpack (R_JUPITER,    C_XTRA,        F_MNU3|F_CHG),
  731. X    rcfpack (R_LAT,    C_LATV,        F_MMNU|F_CHG|F_PLT),
  732. X    rcfpack (R_LD,    C_LD,        F_MMNU|F_PLT|F_CHG),
  733. X    rcfpack (R_LISTING,    C_LISTING,    F_MMNU|F_CHG),
  734. X    rcfpack (R_LON,    C_LON,        F_MMNU|F_CHG),
  735. X    rcfpack (R_LON,    C_LONV,        F_MMNU|F_PLT),
  736. X    rcfpack (R_LONG,    C_LONGV,    F_MMNU|F_CHG|F_PLT),
  737. X    rcfpack (R_LST,    C_LSTV,        F_MMNU|F_CHG|F_PLT),
  738. X    rcfpack (R_LT,    C_LT,        F_MMNU|F_CHG|F_PLT),
  739. X    rcfpack (R_MARS,    C_ALT,        F_MNU1|F_PLT),
  740. X    rcfpack (R_MARS,    C_AZ,        F_MNU1|F_PLT),
  741. X    rcfpack (R_MARS,    C_CONSTEL,    F_MNU1|F_CHG),
  742. X    rcfpack (R_MARS,    C_CONSTEL,    F_MNU2|F_CHG),
  743. X    rcfpack (R_MARS,    C_CONSTEL,    F_MNU3|F_CHG),
  744. X    rcfpack (R_MARS,    C_DEC,        F_MNU1|F_PLT),
  745. X    rcfpack (R_MARS,    C_EDIST,    F_MNU1|F_PLT),
  746. X    rcfpack (R_MARS,    C_ELONG,    F_MNU1|F_PLT),
  747. X    rcfpack (R_MARS,    C_HLAT,        F_MNU1|F_PLT),
  748. X    rcfpack (R_MARS,    C_HLONG,    F_MNU1|F_PLT),
  749. X    rcfpack (R_MARS,    C_JUPITER,    F_MNU3|F_PLT),
  750. X    rcfpack (R_MARS,    C_MAG,        F_MNU1|F_PLT),
  751. X    rcfpack (R_MARS,    C_MERCURY,    F_MNU3|F_PLT),
  752. X    rcfpack (R_MARS,    C_MOON,        F_MNU3|F_PLT),
  753. X    rcfpack (R_MARS,    C_NEPTUNE,    F_MNU3|F_PLT),
  754. X    rcfpack (R_MARS,    C_OBJ,        F_MNU1|F_CHG),
  755. X    rcfpack (R_MARS,    C_OBJ,        F_MNU2|F_CHG),
  756. X    rcfpack (R_MARS,    C_OBJ,        F_MNU3|F_CHG),
  757. X    rcfpack (R_MARS,    C_OBJX,        F_MNU3|F_PLT),
  758. X    rcfpack (R_MARS,    C_OBJY,        F_MNU3|F_PLT),
  759. X    rcfpack (R_MARS,    C_PHASE,    F_MNU1|F_PLT),
  760. X    rcfpack (R_MARS,    C_PLUTO,    F_MNU3|F_PLT),
  761. X    rcfpack (R_MARS,    C_RA,        F_MNU1|F_PLT),
  762. X    rcfpack (R_MARS,    C_RISEAZ,    F_MNU2|F_PLT),
  763. X    rcfpack (R_MARS,    C_RISETM,    F_MNU2|F_PLT),
  764. X    rcfpack (R_MARS,    C_SATURN,    F_MNU3|F_PLT),
  765. X    rcfpack (R_MARS,    C_SDIST,    F_MNU1|F_PLT),
  766. X    rcfpack (R_MARS,    C_SETAZ,    F_MNU2|F_PLT),
  767. X    rcfpack (R_MARS,    C_SETTM,    F_MNU2|F_PLT),
  768. X    rcfpack (R_MARS,    C_SIZE,        F_MNU1|F_PLT),
  769. X    rcfpack (R_MARS,    C_SUN,        F_MNU3|F_PLT),
  770. X    rcfpack (R_MARS,    C_TRANSALT,    F_MNU2|F_PLT),
  771. X    rcfpack (R_MARS,    C_TRANSTM,    F_MNU2|F_PLT),
  772. X    rcfpack (R_MARS,    C_TUP,        F_MNU2|F_PLT),
  773. X    rcfpack (R_MARS,    C_URANUS,    F_MNU3|F_PLT),
  774. X    rcfpack (R_MARS,    C_VENUS,    F_MNU3|F_PLT),
  775. X    rcfpack (R_MERCURY,    C_ALT,        F_MNU1|F_PLT),
  776. X    rcfpack (R_MERCURY,    C_AZ,        F_MNU1|F_PLT),
  777. X    rcfpack (R_MERCURY,    C_CONSTEL,    F_MNU1|F_CHG),
  778. X    rcfpack (R_MERCURY,    C_CONSTEL,    F_MNU2|F_CHG),
  779. X    rcfpack (R_MERCURY,    C_CONSTEL,    F_MNU3|F_CHG),
  780. X    rcfpack (R_MERCURY,    C_DEC,        F_MNU1|F_PLT),
  781. X    rcfpack (R_MERCURY,    C_EDIST,    F_MNU1|F_PLT),
  782. X    rcfpack (R_MERCURY,    C_ELONG,    F_MNU1|F_PLT),
  783. X    rcfpack (R_MERCURY,    C_HLAT,        F_MNU1|F_PLT),
  784. X    rcfpack (R_MERCURY,    C_HLONG,    F_MNU1|F_PLT),
  785. X    rcfpack (R_MERCURY,    C_JUPITER,    F_MNU3|F_PLT),
  786. X    rcfpack (R_MERCURY,    C_MAG,        F_MNU1|F_PLT),
  787. X    rcfpack (R_MERCURY,    C_MARS,        F_MNU3|F_PLT),
  788. X    rcfpack (R_MERCURY,    C_MOON,        F_MNU3|F_PLT),
  789. X    rcfpack (R_MERCURY,    C_NEPTUNE,    F_MNU3|F_PLT),
  790. X    rcfpack (R_MERCURY,    C_OBJ,        F_MNU1|F_CHG),
  791. X    rcfpack (R_MERCURY,    C_OBJ,        F_MNU2|F_CHG),
  792. X    rcfpack (R_MERCURY,    C_OBJ,        F_MNU3|F_CHG),
  793. X    rcfpack (R_MERCURY,    C_OBJX,        F_MNU3|F_PLT),
  794. X    rcfpack (R_MERCURY,    C_OBJY,        F_MNU3|F_PLT),
  795. X    rcfpack (R_MERCURY,    C_PHASE,    F_MNU1|F_PLT),
  796. X    rcfpack (R_MERCURY,    C_PLUTO,    F_MNU3|F_PLT),
  797. X    rcfpack (R_MERCURY,    C_RA,        F_MNU1|F_PLT),
  798. X    rcfpack (R_MERCURY,    C_RISEAZ,    F_MNU2|F_PLT),
  799. X    rcfpack (R_MERCURY,    C_RISETM,    F_MNU2|F_PLT),
  800. X    rcfpack (R_MERCURY,    C_SATURN,    F_MNU3|F_PLT),
  801. X    rcfpack (R_MERCURY,    C_SDIST,    F_MNU1|F_PLT),
  802. X    rcfpack (R_MERCURY,    C_SETAZ,    F_MNU2|F_PLT),
  803. X    rcfpack (R_MERCURY,    C_SETTM,    F_MNU2|F_PLT),
  804. X    rcfpack (R_MERCURY,    C_SIZE,        F_MNU1|F_PLT),
  805. X    rcfpack (R_MERCURY,    C_SUN,        F_MNU3|F_PLT),
  806. X    rcfpack (R_MERCURY,    C_TRANSALT,    F_MNU2|F_PLT),
  807. X    rcfpack (R_MERCURY,    C_TRANSTM,    F_MNU2|F_PLT),
  808. X    rcfpack (R_MERCURY,    C_TUP,        F_MNU2|F_PLT),
  809. X    rcfpack (R_MERCURY,    C_URANUS,    F_MNU3|F_PLT),
  810. X    rcfpack (R_MERCURY,    C_VENUS,    F_MNU3|F_PLT),
  811. X    rcfpack (R_MOON,    C_ALT,        F_MNU1|F_PLT),
  812. X    rcfpack (R_MOON,    C_AZ,        F_MNU1|F_PLT),
  813. X    rcfpack (R_MOON,    C_CONSTEL,    F_MNU1|F_CHG),
  814. X    rcfpack (R_MOON,    C_CONSTEL,    F_MNU2|F_CHG),
  815. X    rcfpack (R_MOON,    C_CONSTEL,    F_MNU3|F_CHG),
  816. X    rcfpack (R_MOON,    C_DEC,        F_MNU1|F_PLT),
  817. X    rcfpack (R_MOON,    C_EDIST,    F_MNU1|F_PLT),
  818. X    rcfpack (R_MOON,    C_ELONG,    F_MNU1|F_PLT),
  819. X    rcfpack (R_MOON,    C_HLAT,        F_MNU1|F_PLT),
  820. X    rcfpack (R_MOON,    C_HLONG,    F_MNU1|F_PLT),
  821. X    rcfpack (R_MOON,    C_JUPITER,    F_MNU3|F_PLT),
  822. X    rcfpack (R_MOON,    C_MAG,        F_MNU1|F_PLT),
  823. X    rcfpack (R_MOON,    C_MARS,        F_MNU3|F_PLT),
  824. X    rcfpack (R_MOON,    C_MERCURY,    F_MNU3|F_PLT),
  825. X    rcfpack (R_MOON,    C_NEPTUNE,    F_MNU3|F_PLT),
  826. X    rcfpack (R_MOON,    C_OBJ,        F_MNU1|F_CHG),
  827. X    rcfpack (R_MOON,    C_OBJ,        F_MNU2|F_CHG),
  828. X    rcfpack (R_MOON,    C_OBJ,        F_MNU3|F_CHG),
  829. X    rcfpack (R_MOON,    C_OBJX,        F_MNU3|F_PLT),
  830. X    rcfpack (R_MOON,    C_OBJY,        F_MNU3|F_PLT),
  831. X    rcfpack (R_MOON,    C_PHASE,    F_MNU1|F_PLT),
  832. X    rcfpack (R_MOON,    C_PLUTO,    F_MNU3|F_PLT),
  833. X    rcfpack (R_MOON,    C_RA,        F_MNU1|F_PLT),
  834. X    rcfpack (R_MOON,    C_RISEAZ,    F_MNU2|F_PLT),
  835. X    rcfpack (R_MOON,    C_RISETM,    F_MNU2|F_PLT),
  836. X    rcfpack (R_MOON,    C_SATURN,    F_MNU3|F_PLT),
  837. X    rcfpack (R_MOON,    C_SDIST,    F_MNU1|F_PLT),
  838. X    rcfpack (R_MOON,    C_SETAZ,    F_MNU2|F_PLT),
  839. X    rcfpack (R_MOON,    C_SETTM,    F_MNU2|F_PLT),
  840. X    rcfpack (R_MOON,    C_SIZE,        F_MNU1|F_PLT),
  841. X    rcfpack (R_MOON,    C_SUN,        F_MNU3|F_PLT),
  842. X    rcfpack (R_MOON,    C_TRANSALT,    F_MNU2|F_PLT),
  843. X    rcfpack (R_MOON,    C_TRANSTM,    F_MNU2|F_PLT),
  844. X    rcfpack (R_MOON,    C_TUP,        F_MNU2|F_PLT),
  845. X    rcfpack (R_MOON,    C_URANUS,    F_MNU3|F_PLT),
  846. X    rcfpack (R_MOON,    C_VENUS,    F_MNU3|F_PLT),
  847. X    rcfpack (R_NEPTUNE,    C_ALT,        F_MNU1|F_PLT),
  848. X    rcfpack (R_NEPTUNE,    C_AZ,        F_MNU1|F_PLT),
  849. X    rcfpack (R_NEPTUNE,    C_CONSTEL,    F_MNU1|F_CHG),
  850. X    rcfpack (R_NEPTUNE,    C_CONSTEL,    F_MNU2|F_CHG),
  851. X    rcfpack (R_NEPTUNE,    C_CONSTEL,    F_MNU3|F_CHG),
  852. X    rcfpack (R_NEPTUNE,    C_DEC,        F_MNU1|F_PLT),
  853. X    rcfpack (R_NEPTUNE,    C_EDIST,    F_MNU1|F_PLT),
  854. X    rcfpack (R_NEPTUNE,    C_ELONG,    F_MNU1|F_PLT),
  855. X    rcfpack (R_NEPTUNE,    C_HLAT,        F_MNU1|F_PLT),
  856. X    rcfpack (R_NEPTUNE,    C_HLONG,    F_MNU1|F_PLT),
  857. X    rcfpack (R_NEPTUNE,    C_JUPITER,    F_MNU3|F_PLT),
  858. X    rcfpack (R_NEPTUNE,    C_MAG,        F_MNU1|F_PLT),
  859. X    rcfpack (R_NEPTUNE,    C_MARS,        F_MNU3|F_PLT),
  860. X    rcfpack (R_NEPTUNE,    C_MERCURY,    F_MNU3|F_PLT),
  861. X    rcfpack (R_NEPTUNE,    C_MOON,        F_MNU3|F_PLT),
  862. X    rcfpack (R_NEPTUNE,    C_OBJ,        F_MNU1|F_CHG),
  863. X    rcfpack (R_NEPTUNE,    C_OBJ,        F_MNU2|F_CHG),
  864. X    rcfpack (R_NEPTUNE,    C_OBJ,        F_MNU3|F_CHG),
  865. X    rcfpack (R_NEPTUNE,    C_OBJX,        F_MNU3|F_PLT),
  866. X    rcfpack (R_NEPTUNE,    C_OBJY,        F_MNU3|F_PLT),
  867. X    rcfpack (R_NEPTUNE,    C_PHASE,    F_MNU1|F_PLT),
  868. X    rcfpack (R_NEPTUNE,    C_PLUTO,    F_MNU3|F_PLT),
  869. X    rcfpack (R_NEPTUNE,    C_RA,        F_MNU1|F_PLT),
  870. X    rcfpack (R_NEPTUNE,    C_RISEAZ,    F_MNU2|F_PLT),
  871. X    rcfpack (R_NEPTUNE,    C_RISETM,    F_MNU2|F_PLT),
  872. X    rcfpack (R_NEPTUNE,    C_SATURN,    F_MNU3|F_PLT),
  873. X    rcfpack (R_NEPTUNE,    C_SDIST,    F_MNU1|F_PLT),
  874. X    rcfpack (R_NEPTUNE,    C_SETAZ,    F_MNU2|F_PLT),
  875. X    rcfpack (R_NEPTUNE,    C_SETTM,    F_MNU2|F_PLT),
  876. X    rcfpack (R_NEPTUNE,    C_SIZE,        F_MNU1|F_PLT),
  877. X    rcfpack (R_NEPTUNE,    C_SUN,        F_MNU3|F_PLT),
  878. X    rcfpack (R_NEPTUNE,    C_TRANSALT,    F_MNU2|F_PLT),
  879. X    rcfpack (R_NEPTUNE,    C_TRANSTM,    F_MNU2|F_PLT),
  880. X    rcfpack (R_NEPTUNE,    C_TUP,        F_MNU2|F_PLT),
  881. X    rcfpack (R_NEPTUNE,    C_URANUS,    F_MNU3|F_PLT),
  882. X    rcfpack (R_NEPTUNE,    C_VENUS,    F_MNU3|F_PLT),
  883. X    rcfpack (R_NSTEP,    C_NSTEPV,    F_MMNU|F_CHG),
  884. X    rcfpack (R_OBJX,    C_ALT,        F_MNU1|F_PLT),
  885. X    rcfpack (R_OBJX,    C_AZ,        F_MNU1|F_PLT),
  886. X    rcfpack (R_OBJX,    C_CONSTEL,    F_MNU1|F_CHG),
  887. X    rcfpack (R_OBJX,    C_CONSTEL,    F_MNU2|F_CHG),
  888. X    rcfpack (R_OBJX,    C_CONSTEL,    F_MNU3|F_CHG),
  889. X    rcfpack (R_OBJX,    C_DEC,        F_MNU1|F_PLT),
  890. X    rcfpack (R_OBJX,    C_EDIST,    F_MNU1|F_PLT),
  891. X    rcfpack (R_OBJX,    C_ELONG,    F_MNU1|F_PLT),
  892. X    rcfpack (R_OBJX,    C_HLAT,        F_MNU1|F_PLT),
  893. X    rcfpack (R_OBJX,    C_HLONG,    F_MNU1|F_PLT),
  894. X    rcfpack (R_OBJX,    C_JUPITER,    F_MNU3|F_PLT),
  895. X    rcfpack (R_OBJX,    C_MAG,        F_MNU1|F_PLT),
  896. X    rcfpack (R_OBJX,    C_MARS,        F_MNU3|F_PLT),
  897. X    rcfpack (R_OBJX,    C_MERCURY,    F_MNU3|F_PLT),
  898. X    rcfpack (R_OBJX,    C_MOON,        F_MNU3|F_PLT),
  899. X    rcfpack (R_OBJX,    C_NEPTUNE,    F_MNU3|F_PLT),
  900. X    rcfpack (R_OBJX,    C_OBJ,        F_MNU1|F_CHG),
  901. X    rcfpack (R_OBJX,    C_OBJ,        F_MNU2|F_CHG),
  902. X    rcfpack (R_OBJX,    C_OBJ,        F_MNU3|F_CHG),
  903. X    rcfpack (R_OBJX,    C_OBJY,        F_MNU3|F_PLT),
  904. X    rcfpack (R_OBJX,    C_PHASE,    F_MNU1|F_PLT),
  905. X    rcfpack (R_OBJX,    C_PLUTO,    F_MNU3|F_PLT),
  906. X    rcfpack (R_OBJX,    C_RA,        F_MNU1|F_PLT),
  907. X    rcfpack (R_OBJX,    C_RISEAZ,    F_MNU2|F_PLT),
  908. X    rcfpack (R_OBJX,    C_RISETM,    F_MNU2|F_PLT),
  909. X    rcfpack (R_OBJX,    C_SATURN,    F_MNU3|F_PLT),
  910. X    rcfpack (R_OBJX,    C_SDIST,    F_MNU1|F_PLT),
  911. X    rcfpack (R_OBJX,    C_SETAZ,    F_MNU2|F_PLT),
  912. X    rcfpack (R_OBJX,    C_SETTM,    F_MNU2|F_PLT),
  913. X    rcfpack (R_OBJX,    C_SIZE,        F_MNU1|F_PLT),
  914. X    rcfpack (R_OBJX,    C_SUN,        F_MNU3|F_PLT),
  915. X    rcfpack (R_OBJX,    C_TRANSALT,    F_MNU2|F_PLT),
  916. X    rcfpack (R_OBJX,    C_TRANSTM,    F_MNU2|F_PLT),
  917. X    rcfpack (R_OBJX,    C_TUP,        F_MNU2|F_PLT),
  918. X    rcfpack (R_OBJX,    C_URANUS,    F_MNU3|F_PLT),
  919. X    rcfpack (R_OBJX,    C_VENUS,    F_MNU3|F_PLT),
  920. X    rcfpack (R_OBJY,    C_ALT,        F_MNU1|F_PLT),
  921. X    rcfpack (R_OBJY,    C_AZ,        F_MNU1|F_PLT),
  922. X    rcfpack (R_OBJY,    C_CONSTEL,    F_MNU1|F_CHG),
  923. X    rcfpack (R_OBJY,    C_CONSTEL,    F_MNU2|F_CHG),
  924. X    rcfpack (R_OBJY,    C_CONSTEL,    F_MNU3|F_CHG),
  925. X    rcfpack (R_OBJY,    C_DEC,        F_MNU1|F_PLT),
  926. X    rcfpack (R_OBJY,    C_EDIST,    F_MNU1|F_PLT),
  927. X    rcfpack (R_OBJY,    C_ELONG,    F_MNU1|F_PLT),
  928. X    rcfpack (R_OBJY,    C_HLAT,        F_MNU1|F_PLT),
  929. X    rcfpack (R_OBJY,    C_HLONG,    F_MNU1|F_PLT),
  930. X    rcfpack (R_OBJY,    C_JUPITER,    F_MNU3|F_PLT),
  931. X    rcfpack (R_OBJY,    C_MAG,        F_MNU1|F_PLT),
  932. X    rcfpack (R_OBJY,    C_MARS,        F_MNU3|F_PLT),
  933. X    rcfpack (R_OBJY,    C_MERCURY,    F_MNU3|F_PLT),
  934. X    rcfpack (R_OBJY,    C_MOON,        F_MNU3|F_PLT),
  935. X    rcfpack (R_OBJY,    C_NEPTUNE,    F_MNU3|F_PLT),
  936. X    rcfpack (R_OBJY,    C_OBJ,        F_MNU1|F_CHG),
  937. X    rcfpack (R_OBJY,    C_OBJ,        F_MNU2|F_CHG),
  938. X    rcfpack (R_OBJY,    C_OBJ,        F_MNU3|F_CHG),
  939. X    rcfpack (R_OBJY,    C_OBJX,        F_MNU3|F_PLT),
  940. X    rcfpack (R_OBJY,    C_PHASE,    F_MNU1|F_PLT),
  941. X    rcfpack (R_OBJY,    C_PLUTO,    F_MNU3|F_PLT),
  942. X    rcfpack (R_OBJY,    C_RA,        F_MNU1|F_PLT),
  943. X    rcfpack (R_OBJY,    C_RISEAZ,    F_MNU2|F_PLT),
  944. X    rcfpack (R_OBJY,    C_RISETM,    F_MNU2|F_PLT),
  945. X    rcfpack (R_OBJY,    C_SATURN,    F_MNU3|F_PLT),
  946. X    rcfpack (R_OBJY,    C_SDIST,    F_MNU1|F_PLT),
  947. X    rcfpack (R_OBJY,    C_SETAZ,    F_MNU2|F_PLT),
  948. X    rcfpack (R_OBJY,    C_SETTM,    F_MNU2|F_PLT),
  949. X    rcfpack (R_OBJY,    C_SIZE,        F_MNU1|F_PLT),
  950. X    rcfpack (R_OBJY,    C_SUN,        F_MNU3|F_PLT),
  951. X    rcfpack (R_OBJY,    C_TRANSALT,    F_MNU2|F_PLT),
  952. X    rcfpack (R_OBJY,    C_TRANSTM,    F_MNU2|F_PLT),
  953. X    rcfpack (R_OBJY,    C_TUP,        F_MNU2|F_PLT),
  954. X    rcfpack (R_OBJY,    C_URANUS,    F_MNU3|F_PLT),
  955. X    rcfpack (R_OBJY,    C_VENUS,    F_MNU3|F_PLT),
  956. X    rcfpack (R_PAUSE,    C_PAUSEV,    F_MMNU|F_CHG),
  957. X    rcfpack (R_PLOT,    C_PLOT,        F_MMNU|F_CHG),
  958. X    rcfpack (R_PLUTO,    C_ALT,        F_MNU1|F_PLT),
  959. X    rcfpack (R_PLUTO,    C_AZ,        F_MNU1|F_PLT),
  960. X    rcfpack (R_PLUTO,    C_CONSTEL,    F_MNU1|F_CHG),
  961. X    rcfpack (R_PLUTO,    C_CONSTEL,    F_MNU2|F_CHG),
  962. X    rcfpack (R_PLUTO,    C_CONSTEL,    F_MNU3|F_CHG),
  963. X    rcfpack (R_PLUTO,    C_DEC,        F_MNU1|F_PLT),
  964. X    rcfpack (R_PLUTO,    C_EDIST,    F_MNU1|F_PLT),
  965. X    rcfpack (R_PLUTO,    C_ELONG,    F_MNU1|F_PLT),
  966. X    rcfpack (R_PLUTO,    C_HLAT,        F_MNU1|F_PLT),
  967. X    rcfpack (R_PLUTO,    C_HLONG,    F_MNU1|F_PLT),
  968. X    rcfpack (R_PLUTO,    C_JUPITER,    F_MNU3|F_PLT),
  969. X    rcfpack (R_PLUTO,    C_MAG,        F_MNU1|F_PLT),
  970. X    rcfpack (R_PLUTO,    C_MARS,        F_MNU3|F_PLT),
  971. X    rcfpack (R_PLUTO,    C_MERCURY,    F_MNU3|F_PLT),
  972. X    rcfpack (R_PLUTO,    C_MOON,        F_MNU3|F_PLT),
  973. X    rcfpack (R_PLUTO,    C_NEPTUNE,    F_MNU3|F_PLT),
  974. X    rcfpack (R_PLUTO,    C_OBJ,        F_MNU1|F_CHG),
  975. X    rcfpack (R_PLUTO,    C_OBJ,        F_MNU2|F_CHG),
  976. X    rcfpack (R_PLUTO,    C_OBJ,        F_MNU3|F_CHG),
  977. X    rcfpack (R_PLUTO,    C_OBJX,        F_MNU3|F_PLT),
  978. X    rcfpack (R_PLUTO,    C_OBJY,        F_MNU3|F_PLT),
  979. X    rcfpack (R_PLUTO,    C_PHASE,    F_MNU1|F_PLT),
  980. X    rcfpack (R_PLUTO,    C_RA,        F_MNU1|F_PLT),
  981. X    rcfpack (R_PLUTO,    C_RISEAZ,    F_MNU2|F_PLT),
  982. X    rcfpack (R_PLUTO,    C_RISETM,    F_MNU2|F_PLT),
  983. X    rcfpack (R_PLUTO,    C_SATURN,    F_MNU3|F_PLT),
  984. X    rcfpack (R_PLUTO,    C_SDIST,    F_MNU1|F_PLT),
  985. X    rcfpack (R_PLUTO,    C_SETAZ,    F_MNU2|F_PLT),
  986. X    rcfpack (R_PLUTO,    C_SETTM,    F_MNU2|F_PLT),
  987. X    rcfpack (R_PLUTO,    C_SIZE,        F_MNU1|F_PLT),
  988. X    rcfpack (R_PLUTO,    C_SUN,        F_MNU3|F_PLT),
  989. X    rcfpack (R_PLUTO,    C_TRANSALT,    F_MNU2|F_PLT),
  990. X    rcfpack (R_PLUTO,    C_TRANSTM,    F_MNU2|F_PLT),
  991. X    rcfpack (R_PLUTO,    C_TUP,        F_MNU2|F_PLT),
  992. X    rcfpack (R_PLUTO,    C_URANUS,    F_MNU3|F_PLT),
  993. X    rcfpack (R_PLUTO,    C_VENUS,    F_MNU3|F_PLT),
  994. X    rcfpack (R_PRES,    C_PRESV,    F_MMNU|F_CHG|F_PLT),
  995. X    rcfpack (R_SATURN,    C_ALT,        F_MNU1|F_PLT),
  996. X    rcfpack (R_SATURN,    C_AZ,        F_MNU1|F_PLT),
  997. X    rcfpack (R_SATURN,    C_CONSTEL,    F_MNU1|F_CHG),
  998. X    rcfpack (R_SATURN,    C_CONSTEL,    F_MNU2|F_CHG),
  999. X    rcfpack (R_SATURN,    C_CONSTEL,    F_MNU3|F_CHG),
  1000. X    rcfpack (R_SATURN,    C_DEC,        F_MNU1|F_PLT),
  1001. X    rcfpack (R_SATURN,    C_EDIST,    F_MNU1|F_PLT),
  1002. X    rcfpack (R_SATURN,    C_ELONG,    F_MNU1|F_PLT),
  1003. X    rcfpack (R_SATURN,    C_HLAT,        F_MNU1|F_PLT),
  1004. X    rcfpack (R_SATURN,    C_HLONG,    F_MNU1|F_PLT),
  1005. X    rcfpack (R_SATURN,    C_JUPITER,    F_MNU3|F_PLT),
  1006. X    rcfpack (R_SATURN,    C_MAG,        F_MNU1|F_PLT),
  1007. X    rcfpack (R_SATURN,    C_MARS,        F_MNU3|F_PLT),
  1008. X    rcfpack (R_SATURN,    C_MERCURY,    F_MNU3|F_PLT),
  1009. X    rcfpack (R_SATURN,    C_MOON,        F_MNU3|F_PLT),
  1010. X    rcfpack (R_SATURN,    C_NEPTUNE,    F_MNU3|F_PLT),
  1011. X    rcfpack (R_SATURN,    C_OBJ,        F_MNU1|F_CHG),
  1012. X    rcfpack (R_SATURN,    C_OBJ,        F_MNU2|F_CHG),
  1013. X    rcfpack (R_SATURN,    C_OBJ,        F_MNU3|F_CHG),
  1014. X    rcfpack (R_SATURN,    C_OBJX,        F_MNU3|F_PLT),
  1015. X    rcfpack (R_SATURN,    C_OBJY,        F_MNU3|F_PLT),
  1016. X    rcfpack (R_SATURN,    C_PHASE,    F_MNU1|F_PLT),
  1017. X    rcfpack (R_SATURN,    C_PLUTO,    F_MNU3|F_PLT),
  1018. X    rcfpack (R_SATURN,    C_RA,        F_MNU1|F_PLT),
  1019. X    rcfpack (R_SATURN,    C_RISEAZ,    F_MNU2|F_PLT),
  1020. X    rcfpack (R_SATURN,    C_RISETM,    F_MNU2|F_PLT),
  1021. X    rcfpack (R_SATURN,    C_SDIST,    F_MNU1|F_PLT),
  1022. X    rcfpack (R_SATURN,    C_SETAZ,    F_MNU2|F_PLT),
  1023. X    rcfpack (R_SATURN,    C_SETTM,    F_MNU2|F_PLT),
  1024. X    rcfpack (R_SATURN,    C_SIZE,        F_MNU1|F_PLT),
  1025. X    rcfpack (R_SATURN,    C_SUN,        F_MNU3|F_PLT),
  1026. X    rcfpack (R_SATURN,    C_TRANSALT,    F_MNU2|F_PLT),
  1027. X    rcfpack (R_SATURN,    C_TRANSTM,    F_MNU2|F_PLT),
  1028. X    rcfpack (R_SATURN,    C_TUP,        F_MNU2|F_PLT),
  1029. X    rcfpack (R_SATURN,    C_URANUS,    F_MNU3|F_PLT),
  1030. X    rcfpack (R_SATURN,    C_VENUS,    F_MNU3|F_PLT),
  1031. X    rcfpack (R_SRCH,    C_SRCH,        F_MMNU|F_CHG|F_PLT),
  1032. X    rcfpack (R_STPSZ,    C_STPSZV,    F_MMNU|F_CHG),
  1033. X    rcfpack (R_SUN,    C_ALT,        F_MNU1|F_PLT),
  1034. X    rcfpack (R_SUN,    C_AZ,        F_MNU1|F_PLT),
  1035. X    rcfpack (R_SUN,    C_CONSTEL,    F_MNU1|F_CHG),
  1036. X    rcfpack (R_SUN,    C_CONSTEL,    F_MNU2|F_CHG),
  1037. X    rcfpack (R_SUN,    C_CONSTEL,    F_MNU3|F_CHG),
  1038. X    rcfpack (R_SUN,    C_DEC,        F_MNU1|F_PLT),
  1039. X    rcfpack (R_SUN,    C_EDIST,    F_MNU1|F_PLT),
  1040. X    rcfpack (R_SUN,    C_HLONG,    F_MNU1|F_PLT),
  1041. X    rcfpack (R_SUN,    C_JUPITER,    F_MNU3|F_PLT),
  1042. X    rcfpack (R_SUN,    C_MAG,        F_MNU1|F_PLT),
  1043. X    rcfpack (R_SUN,    C_MARS,        F_MNU3|F_PLT),
  1044. X    rcfpack (R_SUN,    C_MERCURY,    F_MNU3|F_PLT),
  1045. X    rcfpack (R_SUN,    C_MOON,        F_MNU3|F_PLT),
  1046. X    rcfpack (R_SUN,    C_NEPTUNE,    F_MNU3|F_PLT),
  1047. X    rcfpack (R_SUN,    C_OBJ,        F_MNU1|F_CHG),
  1048. X    rcfpack (R_SUN,    C_OBJ,        F_MNU2|F_CHG),
  1049. X    rcfpack (R_SUN,    C_OBJ,        F_MNU3|F_CHG),
  1050. X    rcfpack (R_SUN,    C_OBJX,        F_MNU3|F_PLT),
  1051. X    rcfpack (R_SUN,    C_OBJY,        F_MNU3|F_PLT),
  1052. X    rcfpack (R_SUN,    C_PLUTO,    F_MNU3|F_PLT),
  1053. X    rcfpack (R_SUN,    C_RA,        F_MNU1|F_PLT),
  1054. X    rcfpack (R_SUN,    C_RISEAZ,    F_MNU2|F_PLT),
  1055. X    rcfpack (R_SUN,    C_RISETM,    F_MNU2|F_PLT),
  1056. X    rcfpack (R_SUN,    C_SATURN,    F_MNU3|F_PLT),
  1057. X    rcfpack (R_SUN,    C_SETAZ,    F_MNU2|F_PLT),
  1058. X    rcfpack (R_SUN,    C_SETTM,    F_MNU2|F_PLT),
  1059. X    rcfpack (R_SUN,    C_SIZE,        F_MNU1|F_PLT),
  1060. X    rcfpack (R_SUN,    C_TRANSALT,    F_MNU2|F_PLT),
  1061. X    rcfpack (R_SUN,    C_TRANSTM,    F_MNU2|F_PLT),
  1062. X    rcfpack (R_SUN,    C_TUP,        F_MNU2|F_PLT),
  1063. X    rcfpack (R_SUN,    C_URANUS,    F_MNU3|F_PLT),
  1064. X    rcfpack (R_SUN,    C_VENUS,    F_MNU3|F_PLT),
  1065. X    rcfpack (R_TEMP,    C_TEMPV,    F_MMNU|F_CHG|F_PLT),
  1066. X    rcfpack (R_TZN,    C_TZN,        F_MMNU|F_CHG),
  1067. X    rcfpack (R_TZONE,    C_TZONEV,    F_MMNU|F_CHG),
  1068. X    rcfpack (R_UD,    C_UD,        F_MMNU|F_PLT|F_CHG),
  1069. X    rcfpack (R_URANUS,    C_ALT,        F_MNU1|F_PLT),
  1070. X    rcfpack (R_URANUS,    C_AZ,        F_MNU1|F_PLT),
  1071. X    rcfpack (R_URANUS,    C_CONSTEL,    F_MNU1|F_CHG),
  1072. X    rcfpack (R_URANUS,    C_CONSTEL,    F_MNU2|F_CHG),
  1073. X    rcfpack (R_URANUS,    C_CONSTEL,    F_MNU3|F_CHG),
  1074. X    rcfpack (R_URANUS,    C_DEC,        F_MNU1|F_PLT),
  1075. X    rcfpack (R_URANUS,    C_EDIST,    F_MNU1|F_PLT),
  1076. X    rcfpack (R_URANUS,    C_ELONG,    F_MNU1|F_PLT),
  1077. X    rcfpack (R_URANUS,    C_HLAT,        F_MNU1|F_PLT),
  1078. X    rcfpack (R_URANUS,    C_HLONG,    F_MNU1|F_PLT),
  1079. X    rcfpack (R_URANUS,    C_JUPITER,    F_MNU3|F_PLT),
  1080. X    rcfpack (R_URANUS,    C_MAG,        F_MNU1|F_PLT),
  1081. X    rcfpack (R_URANUS,    C_MARS,        F_MNU3|F_PLT),
  1082. X    rcfpack (R_URANUS,    C_MERCURY,    F_MNU3|F_PLT),
  1083. X    rcfpack (R_URANUS,    C_MOON,        F_MNU3|F_PLT),
  1084. X    rcfpack (R_URANUS,    C_NEPTUNE,    F_MNU3|F_PLT),
  1085. X    rcfpack (R_URANUS,    C_OBJ,        F_MNU1|F_CHG),
  1086. X    rcfpack (R_URANUS,    C_OBJ,        F_MNU2|F_CHG),
  1087. X    rcfpack (R_URANUS,    C_OBJ,        F_MNU3|F_CHG),
  1088. X    rcfpack (R_URANUS,    C_OBJX,        F_MNU3|F_PLT),
  1089. X    rcfpack (R_URANUS,    C_OBJY,        F_MNU3|F_PLT),
  1090. X    rcfpack (R_URANUS,    C_PHASE,    F_MNU1|F_PLT),
  1091. X    rcfpack (R_URANUS,    C_PLUTO,    F_MNU3|F_PLT),
  1092. X    rcfpack (R_URANUS,    C_RA,        F_MNU1|F_PLT),
  1093. X    rcfpack (R_URANUS,    C_RISEAZ,    F_MNU2|F_PLT),
  1094. X    rcfpack (R_URANUS,    C_RISETM,    F_MNU2|F_PLT),
  1095. X    rcfpack (R_URANUS,    C_SATURN,    F_MNU3|F_PLT),
  1096. X    rcfpack (R_URANUS,    C_SDIST,    F_MNU1|F_PLT),
  1097. X    rcfpack (R_URANUS,    C_SETAZ,    F_MNU2|F_PLT),
  1098. X    rcfpack (R_URANUS,    C_SETTM,    F_MNU2|F_PLT),
  1099. X    rcfpack (R_URANUS,    C_SIZE,        F_MNU1|F_PLT),
  1100. X    rcfpack (R_URANUS,    C_SUN,        F_MNU3|F_PLT),
  1101. X    rcfpack (R_URANUS,    C_TRANSALT,    F_MNU2|F_PLT),
  1102. X    rcfpack (R_URANUS,    C_TRANSTM,    F_MNU2|F_PLT),
  1103. X    rcfpack (R_URANUS,    C_TUP,        F_MNU2|F_PLT),
  1104. X    rcfpack (R_URANUS,    C_VENUS,    F_MNU3|F_PLT),
  1105. X    rcfpack (R_UT,    C_UTV,        F_MMNU|F_PLT|F_CHG),
  1106. X    rcfpack (R_VENUS,    C_ALT,        F_MNU1|F_PLT),
  1107. X    rcfpack (R_VENUS,    C_AZ,        F_MNU1|F_PLT),
  1108. X    rcfpack (R_VENUS,    C_CONSTEL,    F_MNU1|F_CHG),
  1109. X    rcfpack (R_VENUS,    C_CONSTEL,    F_MNU2|F_CHG),
  1110. X    rcfpack (R_VENUS,    C_CONSTEL,    F_MNU3|F_CHG),
  1111. X    rcfpack (R_VENUS,    C_DEC,        F_MNU1|F_PLT),
  1112. X    rcfpack (R_VENUS,    C_EDIST,    F_MNU1|F_PLT),
  1113. X    rcfpack (R_VENUS,    C_ELONG,    F_MNU1|F_PLT),
  1114. X    rcfpack (R_VENUS,    C_HLAT,        F_MNU1|F_PLT),
  1115. X    rcfpack (R_VENUS,    C_HLONG,    F_MNU1|F_PLT),
  1116. X    rcfpack (R_VENUS,    C_JUPITER,    F_MNU3|F_PLT),
  1117. X    rcfpack (R_VENUS,    C_MAG,        F_MNU1|F_PLT),
  1118. X    rcfpack (R_VENUS,    C_MARS,        F_MNU3|F_PLT),
  1119. X    rcfpack (R_VENUS,    C_MERCURY,    F_MNU3|F_PLT),
  1120. X    rcfpack (R_VENUS,    C_MOON,        F_MNU3|F_PLT),
  1121. X    rcfpack (R_VENUS,    C_NEPTUNE,    F_MNU3|F_PLT),
  1122. X    rcfpack (R_VENUS,    C_OBJ,        F_MNU1|F_CHG),
  1123. X    rcfpack (R_VENUS,    C_OBJ,        F_MNU2|F_CHG),
  1124. X    rcfpack (R_VENUS,    C_OBJ,        F_MNU3|F_CHG),
  1125. X    rcfpack (R_VENUS,    C_OBJX,        F_MNU3|F_PLT),
  1126. X    rcfpack (R_VENUS,    C_OBJY,        F_MNU3|F_PLT),
  1127. X    rcfpack (R_VENUS,    C_PHASE,    F_MNU1|F_PLT),
  1128. X    rcfpack (R_VENUS,    C_PLUTO,    F_MNU3|F_PLT),
  1129. X    rcfpack (R_VENUS,    C_RA,        F_MNU1|F_PLT),
  1130. X    rcfpack (R_VENUS,    C_RISEAZ,    F_MNU2|F_PLT),
  1131. X    rcfpack (R_VENUS,    C_RISETM,    F_MNU2|F_PLT),
  1132. X    rcfpack (R_VENUS,    C_SATURN,    F_MNU3|F_PLT),
  1133. X    rcfpack (R_VENUS,    C_SDIST,    F_MNU1|F_PLT),
  1134. X    rcfpack (R_VENUS,    C_SETAZ,    F_MNU2|F_PLT),
  1135. X    rcfpack (R_VENUS,    C_SETTM,    F_MNU2|F_PLT),
  1136. X    rcfpack (R_VENUS,    C_SIZE,        F_MNU1|F_PLT),
  1137. X    rcfpack (R_VENUS,    C_SUN,        F_MNU3|F_PLT),
  1138. X    rcfpack (R_VENUS,    C_TRANSALT,    F_MNU2|F_PLT),
  1139. X    rcfpack (R_VENUS,    C_TRANSTM,    F_MNU2|F_PLT),
  1140. X    rcfpack (R_VENUS,    C_TUP,        F_MNU2|F_PLT),
  1141. X    rcfpack (R_VENUS,    C_URANUS,    F_MNU3|F_PLT),
  1142. X    rcfpack (R_WATCH,    C_WATCH,    F_MMNU|F_CHG),
  1143. X};
  1144. X#define    NFIELDS (sizeof(fields)/sizeof(fields[0]))
  1145. X
  1146. X/* let op select a field by moving around and hitting RETURN or SPACE, or
  1147. X *   until see END. also allow moving directly to frequently used fields 
  1148. X *   with some hot-keys.
  1149. X * only allow fields with the given flag mask.
  1150. X * return the rcfpack()'d field, or 0 if typed END.
  1151. X * N.B. we might also exit() entirely by calling bye() if op types QUIT.
  1152. X */
  1153. Xsel_fld (f, flag, prmpt, help)
  1154. Xint f;        /* inital row, col */
  1155. Xint flag;
  1156. Xchar *prmpt, *help;
  1157. X{
  1158. X    extern void bye();
  1159. X    int r = unpackr(f), c = unpackc(f);
  1160. X    char *lastp;
  1161. X    int ch;
  1162. X
  1163. X    lastp = 0;
  1164. X    while (1) {
  1165. X        if (lastp != prmpt) {
  1166. X        lastp = prmpt;
  1167. X        f_prompt (lastp);
  1168. X        }
  1169. X        c_pos (r, c);
  1170. X        switch (ch = read_char()) {
  1171. X        case REDRAW:
  1172. X        redraw_screen(2);    /* redraw all from scratch */
  1173. X        lastp = 0;
  1174. X        break;
  1175. X        case VERSION:
  1176. X        version();
  1177. X        lastp = 0;
  1178. X        break;
  1179. X        case HELP:
  1180. X        f_msg (help);
  1181. X        lastp = 0;
  1182. X        break;
  1183. X        case QUIT:
  1184. X        f_prompt ("Exit ephem? (y) ");
  1185. X        if (read_char() == 'y')
  1186. X            bye();    /* never returns */
  1187. X        lastp = 0;
  1188. X        break;
  1189. X#ifdef BANG
  1190. X        case '!': {
  1191. X        char buf[NC];
  1192. X        f_prompt ("!");
  1193. X        if (read_line (buf, sizeof(buf)-2) > 0) {
  1194. X            c_erase();
  1195. X            byetty();
  1196. X            (void) system (buf);
  1197. X            printf ("\nHit any key to resume ephem...");
  1198. X            (void) read_char();
  1199. X            redraw_screen(2);    /* redraw all from scratch */
  1200. X        }
  1201. X        lastp = 0;
  1202. X        }
  1203. X        break;
  1204. X#endif
  1205. X        case END:
  1206. X        return (0);
  1207. X        case '\r': case ' ':
  1208. X        return (rcfpack (r, c, 0));
  1209. X        default:
  1210. X        move_cur (ch, flag, &r, &c);
  1211. X        break;
  1212. X        }
  1213. X    }
  1214. X}
  1215. X
  1216. X/* move cursor to next field in given direction: hjkl, or directly to a
  1217. X * field, and set *rp and *cp.
  1218. X * limit eligible fields to those with given flag mask.
  1219. X */
  1220. Xstatic
  1221. Xmove_cur (dirchar, flag, rp, cp)
  1222. Xchar dirchar;
  1223. Xint flag;
  1224. Xint *rp, *cp;
  1225. X{
  1226. X    int curr = *rp, curc = *cp;
  1227. X    F_t f, newf, *fp;
  1228. X    int d, newd;
  1229. X
  1230. X    wrapped:
  1231. X    newf = 0;
  1232. X    newd = 1000;
  1233. X
  1234. X    switch (dirchar) {
  1235. X    case 'h': /* left */
  1236. X        /* go to next field to the left, or wrap.  */
  1237. X        for (fp = fields+NFIELDS; --fp >= fields; ) {
  1238. X        f = *fp;
  1239. X        if (tstpackf(f,flag) && unpackr(f) == curr) {
  1240. X            d = curc - unpackc(f);
  1241. X            if (d > 0 && d < newd) {
  1242. X            newf = f;
  1243. X            newd = d;
  1244. X            }
  1245. X        }
  1246. X        }
  1247. X        if (!newf) {
  1248. X        curc = NC;
  1249. X        goto wrapped;
  1250. X        }
  1251. X        break;
  1252. X
  1253. X    case 'j': /* down */
  1254. X        /* go to closest field on next row down with anything on it,
  1255. X         * or wrap.
  1256. X         */
  1257. X        for (fp = fields+NFIELDS; --fp >= fields; ) {
  1258. X        f = *fp;
  1259. X        if (tstpackf(f,flag)) {
  1260. X            d = unpackr(f) - curr;
  1261. X            if (d > 0 && d < newd) {
  1262. X            newf = f;
  1263. X            newd = d;
  1264. X            }
  1265. X        }
  1266. X        }
  1267. X        if (newf) {
  1268. X        /* now find the field closest to current col on that row */
  1269. X        newf = nearestfld (unpackr(newf), curc, flag);
  1270. X        } else {
  1271. X        curr = 0;
  1272. X        goto wrapped;
  1273. X        }
  1274. X        break;
  1275. X
  1276. X    case 'k': /* up */
  1277. X        /* go to closest field on next row up with anything on it, 
  1278. X         * or wrap.
  1279. X         */
  1280. X        for (fp = fields+NFIELDS; --fp >= fields; ) {
  1281. X        f = *fp;
  1282. X        if (tstpackf(f,flag)) {
  1283. X            d = curr - unpackr(f);
  1284. X            if (d > 0 && d < newd) {
  1285. X            newf = f;
  1286. X            newd = d;
  1287. X            }
  1288. X        }
  1289. X        }
  1290. X        if (newf) {
  1291. X        /* now find the field closest to current col on that row */
  1292. X        newf = nearestfld (unpackr(newf), curc, flag);
  1293. X        } else {
  1294. X        curr = NR+1;
  1295. X        goto wrapped;
  1296. X        }
  1297. X        break;
  1298. X
  1299. X    case 'l': /* right */
  1300. X        /* go to next field to the right, or wrap.  */
  1301. X        for (fp = fields+NFIELDS; --fp >= fields; ) {
  1302. X        f = *fp;
  1303. X        if (tstpackf(f,flag) && unpackr(f) == curr) {
  1304. X            d = unpackc(f) - curc;
  1305. X            if (d > 0 && d < newd) {
  1306. X            newf = f;
  1307. X            newd = d;
  1308. X            }
  1309. X        }
  1310. X        }
  1311. X        if (!newf) {
  1312. X        curc = 0;
  1313. X        goto wrapped;
  1314. X        }
  1315. X        break;
  1316. X
  1317. X    /* handy shorthands directly to a given spot.
  1318. X     * calling nearestfld() automatically allows for which menu
  1319. X     *   is up now and what is pickable. you can use rcfpack()
  1320. X     *   directly for top half fields that are always up.
  1321. X     * N.B. using nearestfld() can be too aggressive. it will try
  1322. X     *   other fields entirely if one you intend is not eligible.
  1323. X     */
  1324. X    case 'S': newf = nearestfld (R_SUN, C_OBJ, flag); break;
  1325. X    case 'M': newf = nearestfld (R_MOON, C_OBJ, flag); break;
  1326. X    case 'e': newf = nearestfld (R_MERCURY, C_OBJ, flag); break;
  1327. X    case 'v': newf = nearestfld (R_VENUS, C_OBJ, flag); break;
  1328. X    case 'm': newf = nearestfld (R_MARS, C_OBJ, flag); break;
  1329. X    case 'J': newf = nearestfld (R_JUPITER, C_OBJ, flag); break;
  1330. X    case 's': newf = nearestfld (R_SATURN, C_OBJ, flag); break;
  1331. X    case 'u': newf = nearestfld (R_URANUS, C_OBJ, flag); break;
  1332. X    case 'n': newf = nearestfld (R_NEPTUNE, C_OBJ, flag); break;
  1333. X    case 'p': newf = nearestfld (R_PLUTO, C_OBJ, flag); break;
  1334. X    case 'x': newf = nearestfld (R_OBJX, C_OBJ, flag); break;
  1335. X    case 'y': newf = nearestfld (R_OBJY, C_OBJ, flag); break;
  1336. X    case 'c': newf = nearestfld (R_ALTM, C_ALTM, flag); break;
  1337. X    case 'd': newf = nearestfld (R_UD, C_UD, flag); break;
  1338. X    case 'o': newf = nearestfld (R_EPOCH, C_EPOCHV, flag); break;
  1339. X    case 'z': newf = nearestfld (R_STPSZ, C_STPSZV, flag); break;
  1340. X    case 'w': newf = nearestfld (R_WATCH, C_WATCH, flag); break;
  1341. X    case 'L': newf = nearestfld (R_LISTING, C_LISTING, flag); break;
  1342. X    }
  1343. X
  1344. X    if (newf) {
  1345. X        *rp = unpackr(newf);
  1346. X        *cp = unpackc(newf);
  1347. X    }
  1348. X}
  1349. X
  1350. X/* return the nearest field with given flag mask, either way, on this row,
  1351. X * else 0 if none.
  1352. X */
  1353. Xstatic int
  1354. Xnearestfld (r, c, flag)
  1355. Xint r, c, flag;
  1356. X{
  1357. X    F_t nf, f, *fp;
  1358. X    int d, d0;
  1359. X
  1360. X    nf = 0;
  1361. X    d0 = 1000;
  1362. X
  1363. X    for (fp = fields+NFIELDS; --fp >= fields; ) {
  1364. X        f = *fp;
  1365. X        if (tstpackf(f,flag) && unpackr(f) == r) {
  1366. X        d = abs(c - unpackc(f));
  1367. X        if (d < d0) {
  1368. X            nf = f;
  1369. X            d0 = d;
  1370. X        }
  1371. X        }
  1372. X    }
  1373. X    return (nf);
  1374. X}
  1375. END_OF_FILE
  1376.   if test 27884 -ne `wc -c <'sel_fld.c'`; then
  1377.     echo shar: \"'sel_fld.c'\" unpacked with wrong size!
  1378.   fi
  1379.   # end of 'sel_fld.c'
  1380. fi
  1381. echo shar: End of archive 4 \(of 9\).
  1382. cp /dev/null ark4isdone
  1383. MISSING=""
  1384. for I in 1 2 3 4 5 6 7 8 9 ; do
  1385.     if test ! -f ark${I}isdone ; then
  1386.     MISSING="${MISSING} ${I}"
  1387.     fi
  1388. done
  1389. if test "${MISSING}" = "" ; then
  1390.     echo You have unpacked all 9 archives.
  1391.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1392. else
  1393.     echo You still must unpack the following archives:
  1394.     echo "        " ${MISSING}
  1395. fi
  1396. exit 0
  1397. exit 0 # Just in case...
  1398.