1             /* A JPL binary ephemeris header contains five doubles and */
2             /* (up to) 41 int32_t integers,  so:                          */
3 #define JPL_HEADER_SIZE (5 * sizeof( double) + 41 * sizeof( int32_t))
4 
5 #pragma pack(1)
6 
7 struct jpl_eph_data {
8    double ephem_start, ephem_end, ephem_step;
9    int32_t ncon;
10    double au;
11    double emrat;
12    int32_t ipt[13][3];
13    int32_t ephemeris_version;
14                /* This is the end of the file header.  Following are */
15                /* items computed within my code.                     */
16    int32_t kernel_size, recsize, ncoeff;
17    int32_t swap_bytes;
18    int32_t curr_cache_loc;
19    double pvsun[6];
20    double *cache;
21    void *iinfo;
22    FILE *ifile;
23    };
24 #pragma pack()
25 
26 struct interpolation_info
27    {
28    double pc[18],vc[18], twot;
29    int np, nv;
30    };
31 
32