]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/astro/astro.h
9bootfat: rename open() to fileinit and make it static as its really a internal funct...
[plan9front.git] / sys / src / cmd / astro / astro.h
1 #include        <u.h>
2 #include        <libc.h>
3
4 #pragma varargck        type    "R"     double
5 #pragma varargck        type    "D"     double
6
7 typedef struct  Obj1    Obj1;
8 typedef struct  Obj2    Obj2;
9 typedef struct  Obj3    Obj3;
10 typedef struct  Occ     Occ;
11 typedef struct  Event   Event;
12 typedef struct  Tim     Tim;
13 typedef struct  Moontab Moontab;
14
15 #define NPTS    12
16 #define PER     1.0
17
18 enum
19 {
20         DARK    = 1<<0,
21         SIGNIF  = 1<<1,
22         PTIME   = 1<<2,
23         LIGHT   = 1<<3,
24 };
25
26 struct  Obj1
27 {
28         double  ra;
29         double  decl2;
30         double  semi2;
31         double  az;
32         double  el;
33         double  mag;
34 };
35 struct  Obj2
36 {
37         char*   name;
38         char*   name1;
39         void    (*obj)(void);
40         Obj1    point[NPTS+2];
41 };
42 struct  Obj3
43 {
44         double  t1;
45         double  e1;
46         double  t2;
47         double  e2;
48         double  t3;
49         double  e3;
50         double  t4;
51         double  e4;
52         double  t5;
53         double  e5;
54 };
55 struct Event
56 {
57         char*   format;
58         char*   arg1;
59         char*   arg2;
60         double  tim;
61         int     flag;
62 };
63 struct  Moontab
64 {
65         double  f;
66         char    c[4];
67 };
68 struct  Occ
69 {
70         Obj1    act;
71         Obj1    del0;
72         Obj1    del1;
73         Obj1    del2;
74 };
75 struct  Tim
76 {
77         double  ifa[5];
78         char    tz[4];
79 };
80
81 double  converge;
82
83 char    flags[128];
84 int     nperiods;
85 double  wlong, awlong, nlat, elev;
86 double  obliq, phi, eps, tobliq;
87 double  dphi, deps;
88 double  day, deld, per;
89 double  eday, capt, capt2, capt3, gst;
90 double  pi, pipi, radian, radsec, deltat;
91 double  erad, glat;
92 double  xms, yms, zms;
93 double  xdot, ydot, zdot;
94
95 double  ecc, incl, node, argp, mrad, anom, motion;
96
97 double  lambda, beta, rad, mag, semi;
98 double  alpha, delta, rp, hp;
99 double  ra, decl, semi2;
100 double  lha, decl2, lmb2;
101 double  az, el;
102
103 double  meday, seday, mhp, salph, sdelt, srad;
104
105 double* cafp;
106 char*   cacp;
107
108 double  rah, ram, ras, dday, dmin, dsec;
109 long    sao;
110 double  da, dd, px, epoch;
111 char    line[100];
112 Obj2    osun;
113 Obj2    omoon;
114 Obj2    oshad;
115 Obj2    omerc;
116 Obj2    ovenus;
117 Obj2    omars;
118 Obj2    osat;
119 Obj2    ouran;
120 Obj2    onept;
121 Obj2    oplut;
122 Obj2    ojup;
123 Obj2    ostar;
124 Obj2    ocomet;
125 Obj3    occ;
126 Obj2*   eobj1;
127 Obj2*   eobj2;
128
129 char*   startab;
130
131 extern  int     dmo[];
132 extern  Obj2*   objlst[];
133
134 extern  double  venfp[];
135 extern  char    vencp[];
136 extern  double  sunfp[];
137 extern  char    suncp[];
138 extern  double  mercfp[];
139 extern  char    merccp[];
140 extern  double  nutfp[];
141 extern  char    nutcp[];
142 extern  Moontab moontab[];
143
144 extern  void    args(int, char**);
145 extern  void    bdtsetup(double, Tim*);
146 extern  double  betcross(double);
147 extern  double  convdate(Tim*);
148 extern  double  cosadd(int, double, ...);
149 extern  double  cosx(double, int, int, int, int, double);
150 extern  double  dist(Obj1*, Obj1*);
151 extern  double  dsrc(double, Tim*, int);
152 extern  void    dtsetup(double, Tim*);
153 extern  int     evcomp(void*, void*);
154 extern  void    event(char*, char*, char*, double, int);
155 extern  void    evflush(void);
156 extern  double  fmod(double, double);
157 extern  void    fstar(void);
158 extern  void    fsun(void);
159 extern  void    geo(void);
160 extern  void    helio(void);
161 extern  void    icosadd(double*, char*);
162 extern  void    init(void);
163 extern  void    jup(void);
164 extern  int     lastsun(Tim*, int);
165 extern  void    main(int, char**);
166 extern  void    mars(void);
167 extern  double  melong(Obj2*);
168 extern  void    merc(void);
169 extern  void    moon(void);
170 extern  void    numb(int);
171 extern  void    nutate(void);
172 extern  void    occult(Obj2*, Obj2*, double);
173 extern  void    output(char*, Obj1*);
174 extern  void    pdate(double);
175 extern  double  pinorm(double);
176 extern  void    ptime(double);
177 extern  void    pstime(double);
178 extern  double  pyth(double);
179 extern  double  readate(void);
180 extern  double  readdt(void);
181 extern  void    readlat(int);
182 extern  double  rise(Obj2*, double);
183 extern  int     rline(int);
184 extern  void    sat(void);
185 extern  void    uran(void);
186 extern  void    nept(void);
187 extern  void    plut(void);
188 extern  void    satel(double);
189 extern  void    satels(void);
190 extern  void    search(void);
191 extern  double  set(Obj2*, double);
192 extern  void    set3pt(Obj2*, int, Occ*);
193 extern  void    setime(double);
194 extern  void    setobj(Obj1*);
195 extern  void    setpt(Occ*, double);
196 extern  void    shad(void);
197 extern  double  sinadd(int, double, ...);
198 extern  double  sinx(double, int, int, int, int, double);
199 extern  char*   skip(int);
200 extern  double  solstice(int);
201 extern  void    star(void);
202 extern  void    stars(void);
203 extern  void    sun(void);
204 extern  double  sunel(double);
205 extern  void    venus(void);
206 extern  int     vis(double, double, double, double);
207 extern  void    comet(void);
208 extern  int     Rconv(Fmt*);
209 extern  int     Dconv(Fmt*);
210 extern  double  etdate(long, int, double);