/* -Header_File SpiceZpr.h ( CSPICE prototypes ) -Abstract Define prototypes for CSPICE user-interface-level functions. -Copyright Copyright (1997), California Institute of Technology. U.S. Government sponsorship acknowledged. -Required_Reading None. -Literature_References None. -Particulars This is the header file containing prototypes for CSPICE user-level C routines. Prototypes for the underlying f2c'd SPICELIB routines are contained in the separate header file SpiceZfc. However, those routines are not part of the official CSPICE API. -Author_and_Institution N.J. Bachman (JPL) K.R. Gehringer (JPL) E.D. Wright (JPL) -Version -CSPICE Version 5.0.0, 03-MAR-1998 (NJB) Added prototypes for etcal_c ltime_c stelab_c tpictr_c twovec_c vsubg_c -CSPICE Version 4.0.0, 11-FEB-1998 (EDW) Added prototypes for timdef_c tsetyr_c -CSPICE Version 3.0.0, 02-FEB-1998 (NJB) Added prototypes for pckuof_c tipbod_c Type SpiceVoid was replaced with void. -CSPICE Version 2.0.0, 06-JAN-1998 (NJB) Changed all input-only character pointers to type ConstSpiceChar. -CSPICE Version 1.0.0, 25-OCT-1997 (NJB) (KRG) (EDW) -Index_Entries protoypes of CSPICE functions */ /* Include Files: */ #ifndef HAVE_SPICEDEFS_H #include "SpiceZdf.h" #endif #ifndef HAVE_SPICEWRAPPERS_H #define HAVE_SPICEWRAPPERS_H /* Function prototypes for CSPICE functions are listed below. Each prototype is accompanied by a function abstract and brief I/O description. See the headers of the C wrappers for detailed descriptions of the routines' interfaces. The list below should be maintained in alphabetical order. */ void bodc2n_c ( SpiceInt code, SpiceInt namelen, SpiceChar * name, SpiceBoolean * found ); void boddef_c ( ConstSpiceChar * name, SpiceInt code ); void bodn2c_c ( ConstSpiceChar * name, SpiceInt * code, SpiceBoolean * found ); SpiceBoolean bodfnd_c ( SpiceInt body, ConstSpiceChar * item ); void bodvar_c ( SpiceInt body, ConstSpiceChar * item, SpiceInt * dim , SpiceDouble values[10] ); SpiceDouble b1900_c ( void ); SpiceDouble b1950_c ( void ); void chkin_c ( ConstSpiceChar * module ); void chkout_c ( ConstSpiceChar * module ); void ckcls_c ( SpiceInt handle ); void ckgp_c ( SpiceInt inst, SpiceDouble sclkdp, SpiceDouble tol, ConstSpiceChar * ref, SpiceDouble cmat[3][3], SpiceDouble * clkout, SpiceBoolean * found ); void ckgpav_c ( SpiceInt inst, SpiceDouble sclkdp, SpiceDouble tol, ConstSpiceChar * ref, SpiceDouble cmat[3][3], SpiceDouble av[3], SpiceDouble * clkout, SpiceBoolean * found ); void cklpf_c ( ConstSpiceChar * fname, SpiceInt * handle ); void ckopn_c ( ConstSpiceChar * name, ConstSpiceChar * ifname, SpiceInt ncomch, SpiceInt * handle ); void ckupf_c ( SpiceInt handle ); void ckw01_c ( SpiceInt handle, SpiceDouble begtime, SpiceDouble endtime, SpiceInt inst, ConstSpiceChar * ref, SpiceBoolean avflag, ConstSpiceChar * segid, SpiceInt nrec, SpiceDouble sclkdp [], SpiceDouble quats [][4], SpiceDouble avvs [][3] ); void ckw02_c ( SpiceInt handle, SpiceDouble begtim, SpiceDouble endtim, SpiceInt inst, ConstSpiceChar * ref, ConstSpiceChar * segid, SpiceInt nrec, SpiceDouble start [], SpiceDouble stop [], SpiceDouble quats [][4], SpiceDouble avvs [][3], SpiceDouble rates [] ); void ckw03_c ( SpiceInt handle, SpiceDouble begtim, SpiceDouble endtim, SpiceInt inst, ConstSpiceChar * ref, SpiceBoolean avflag, ConstSpiceChar * segid, SpiceInt nrec, SpiceDouble sclkdp [], SpiceDouble quats [][4], SpiceDouble avvs [][3], SpiceInt nints, SpiceDouble starts [] ); SpiceDouble clight_c ( void ); void conics_c ( SpiceDouble elts[8], SpiceDouble et, SpiceDouble state[6] ); void cyllat_c ( SpiceDouble r, SpiceDouble lonc, SpiceDouble z, SpiceDouble * radius, SpiceDouble * lon, SpiceDouble * lat ); void cylrec_c ( SpiceDouble r, SpiceDouble lon, SpiceDouble z, SpiceDouble rectan[3] ); void cylsph_c ( SpiceDouble r, SpiceDouble lonc, SpiceDouble z, SpiceDouble * radius, SpiceDouble * colat, SpiceDouble * lon ); SpiceDouble dpr_c ( void ); SpiceBoolean eqstr_c ( ConstSpiceChar * a, ConstSpiceChar * b ); void erract_c ( ConstSpiceChar * operation, SpiceInt lenout, SpiceChar * action ); void errch_c ( ConstSpiceChar * marker, ConstSpiceChar * string ); void errdev_c ( ConstSpiceChar * operation, SpiceInt lenout, SpiceChar * device ); void errdp_c ( ConstSpiceChar * marker, SpiceDouble number ); /* void errfnm_c ( ConstSpiceChar * marker, SpiceInt unit ); */ void errint_c ( ConstSpiceChar * marker, SpiceInt number ); void errprt_c ( ConstSpiceChar * operation, SpiceInt lenout, SpiceChar * list ); void etcal_c ( SpiceDouble et, SpiceInt lenout, SpiceChar * string ); void et2utc_c ( SpiceDouble et , ConstSpiceChar * format, SpiceInt prec, SpiceInt lenout, SpiceChar * utcstr ); void eul2m_c ( SpiceDouble angle3, SpiceDouble angle2, SpiceDouble angle1, SpiceInt axis3, SpiceInt axis2, SpiceInt axis1, SpiceDouble r [3][3] ); SpiceBoolean exists_c ( ConstSpiceChar * name ); void expool_c ( ConstSpiceChar * name, SpiceBoolean * found ); SpiceBoolean failed_c ( void ); void gcpool_c ( ConstSpiceChar * name, SpiceInt start, SpiceInt room, SpiceInt lenout, SpiceInt * n, void * cvals, SpiceBoolean * found ); void gdpool_c ( ConstSpiceChar * name, SpiceInt start, SpiceInt room, SpiceInt * n, SpiceDouble * values, SpiceBoolean * found ); void georec_c ( SpiceDouble lon, SpiceDouble lat, SpiceDouble alt, SpiceDouble re, SpiceDouble f, SpiceDouble rectan[3] ); void getcml_c ( SpiceInt * argc, SpiceChar *** argv ); SpiceInt getcml_ ( SpiceChar * outline, SpiceInt len ); void gipool_c ( ConstSpiceChar * name, SpiceInt start, SpiceInt room, SpiceInt * n, SpiceInt * ivals, SpiceBoolean * found ); SpiceDouble halfpi_c ( void ); SpiceBoolean iswhsp_c ( ConstSpiceChar * string ); SpiceDouble j1900_c ( void ); SpiceDouble j1950_c ( void ); SpiceDouble j2000_c ( void ); SpiceDouble j2100_c ( void ); SpiceDouble jyear_c ( void ); SpiceInt lastnb_c ( ConstSpiceChar * string ); void latcyl_c ( SpiceDouble radius, SpiceDouble lon, SpiceDouble lat, SpiceDouble * r, SpiceDouble * lonc, SpiceDouble * z ); void latrec_c ( SpiceDouble radius, SpiceDouble longitude, SpiceDouble latitude, SpiceDouble rectan [3] ); void latsph_c ( SpiceDouble radius, SpiceDouble lon, SpiceDouble lat, SpiceDouble * rho, SpiceDouble * colat, SpiceDouble * lons ); void lcase_c ( SpiceChar * in, SpiceInt lenout, SpiceChar * out ); void ldpool_c ( ConstSpiceChar * filename ); void ltime_c ( SpiceDouble etobs, SpiceInt obs, ConstSpiceChar * dir, SpiceInt targ, SpiceDouble * ettarg, SpiceDouble * elapsd ); void m2eul_c ( SpiceDouble r[3][3], SpiceInt axis3, SpiceInt axis2, SpiceInt axis1, SpiceDouble * angle3, SpiceDouble * angle2, SpiceDouble * angle1 ); void m2q_c ( SpiceDouble r[3][3], SpiceDouble q[4] ); void mtxm_c ( SpiceDouble m1 [3][3], SpiceDouble m2 [3][3], SpiceDouble mout[3][3] ); void mtxmg_c ( void * m1, void * m2, SpiceInt row1, SpiceInt col1, SpiceInt col2, void * mout ); void mtxv_c ( SpiceDouble m1 [3][3], SpiceDouble vin [3], SpiceDouble vout[3] ); void mtxvg_c ( void * m1, void * v2, SpiceInt ncol1, SpiceInt nr1r2, void * vout ); void mxm_c ( SpiceDouble m1 [3][3], SpiceDouble m2 [3][3], SpiceDouble mout[3][3] ); void mxmg_c ( void * m1, void * m2, SpiceInt row1, SpiceInt col1, SpiceInt col2, void * mout ); void mxmt_c ( SpiceDouble m1 [3][3], SpiceDouble m2 [3][3], SpiceDouble mout[3][3] ); void mxmtg_c ( void * m1, void * m2, SpiceInt nrow1, SpiceInt nc1c2, SpiceInt nrow2, void * mout ); void mxv_c ( SpiceDouble m1[3][3], SpiceDouble vin[3], SpiceDouble vout[3] ); void mxvg_c ( void * m1, void * v2, SpiceInt nrow1, SpiceInt nc1r2, void * vout ); void nearpt_c ( SpiceDouble positn[3], SpiceDouble a, SpiceDouble b, SpiceDouble c, SpiceDouble npoint[3], SpiceDouble * alt ); void oscelt_c ( ConstSpiceDouble state[6], SpiceDouble et , SpiceDouble mu , SpiceDouble elts[8] ); void pcklof_c ( ConstSpiceChar * fname, SpiceInt * handle ); void pckuof_c ( SpiceInt handle ); SpiceDouble pi_c ( void ); SpiceChar * prompt_c ( ConstSpiceChar * label ); void prop2b_c ( SpiceDouble gm, SpiceDouble pvinit[6], SpiceDouble dt, SpiceDouble pvprop[6] ); void prsdp_c ( ConstSpiceChar * string, SpiceDouble * dpval ); void prsint_c ( ConstSpiceChar * string, SpiceInt * intval ); void putcml_c ( SpiceInt argc , SpiceChar ** argv ); void q2m_c ( SpiceDouble q[4], SpiceDouble r[3][3] ); void radrec_c ( SpiceDouble range, SpiceDouble ra, SpiceDouble dec, SpiceDouble rectan[3] ); void reccyl_c ( SpiceDouble rectan[3], SpiceDouble * r, SpiceDouble * lon, SpiceDouble * z ); void recgeo_c ( SpiceDouble rectan[3], SpiceDouble re, SpiceDouble f, SpiceDouble * lon, SpiceDouble * lat, SpiceDouble * alt ); void reclat_c ( SpiceDouble rectan[3], SpiceDouble * radius, SpiceDouble * longitude, SpiceDouble * latitude ); void recrad_c ( SpiceDouble rectan[3], SpiceDouble * radius, SpiceDouble * ra, SpiceDouble * dec ); void reset_c ( void ); SpiceBoolean return_c ( void ); void rotate_c ( SpiceDouble angle, SpiceInt iaxis, SpiceDouble mout[3][3] ); void rotmat_c ( SpiceDouble m1[3][3], SpiceDouble angle, SpiceInt iaxis, SpiceDouble mout[3][3] ); void recsph_c ( SpiceDouble rectan[3], SpiceDouble * r, SpiceDouble * colat, SpiceDouble * lon ); void rotvec_c ( SpiceDouble v1[3], SpiceDouble angle, SpiceInt iaxis, SpiceDouble vout[3] ); SpiceDouble rpd_c ( void ); void scdecd_c ( SpiceInt sc, SpiceDouble sclkdp, SpiceInt sclklen, SpiceChar * sclkch ); void sce2s_c ( SpiceInt sc, SpiceDouble et, SpiceInt sclklen, SpiceChar * sclkch ); void sce2t_c ( SpiceInt sc, SpiceDouble et, SpiceDouble * sclkdp ); void scencd_c ( SpiceInt sc, ConstSpiceChar * sclkch, SpiceDouble * sclkdp ); void scfmt_c ( SpiceInt sc, SpiceDouble ticks, SpiceInt clkstrlen, SpiceChar * clkstr ); void scpart_c ( SpiceInt sc, SpiceInt * nparts, SpiceDouble * pstart, SpiceDouble * pstop ); void scs2e_c ( SpiceInt sc, ConstSpiceChar * sclkch, SpiceDouble * et ); void sct2e_c ( SpiceInt sc, SpiceDouble sclkdp, SpiceDouble * et ); void sctiks_c ( SpiceInt sc, ConstSpiceChar * clkstr, SpiceDouble * ticks ); SpiceDouble spd_c ( void ); void setmsg_c ( ConstSpiceChar * msg ); void sigerr_c ( ConstSpiceChar * message ); void sphcyl_c ( SpiceDouble radius, SpiceDouble colat, SpiceDouble slon, SpiceDouble * r, SpiceDouble * lon, SpiceDouble * z ); void sphlat_c ( SpiceDouble r, SpiceDouble colat, SpiceDouble lons, SpiceDouble * radius, SpiceDouble * lon, SpiceDouble * lat ); void sphrec_c ( SpiceDouble r, SpiceDouble colat, SpiceDouble lon, SpiceDouble rectan[3] ); void spkez_c ( SpiceInt target, SpiceDouble epoch, ConstSpiceChar * frame, ConstSpiceChar * abcorr, SpiceInt observer, SpiceDouble state[6], SpiceDouble * lt ); void spkezr_c ( ConstSpiceChar * target, SpiceDouble epoch, ConstSpiceChar * frame, ConstSpiceChar * abcorr, ConstSpiceChar * observer, SpiceDouble state[6], SpiceDouble * lt ); void spkgeo_c ( SpiceInt targ, SpiceDouble et, ConstSpiceChar * ref, SpiceInt obs, SpiceDouble state[6], SpiceDouble * lt ); void spklef_c ( ConstSpiceChar * filename, SpiceInt * handle ); void spkuef_c ( SpiceInt handle ); void stelab_c ( SpiceDouble pobj[3], SpiceDouble vobs[3], SpiceDouble appobj[3] ); void str2et_c ( ConstSpiceChar * date, SpiceDouble * et ); SpiceDouble sumad_c ( ConstSpiceDouble array[], SpiceInt n ); SpiceDouble sumai_c ( ConstSpiceInt array[], SpiceInt n ); void surfpt_c ( SpiceDouble positn[3], SpiceDouble u[3], SpiceDouble a, SpiceDouble b, SpiceDouble c, SpiceDouble point[3], SpiceBoolean * found ); void surfnm_c ( SpiceDouble a, SpiceDouble b, SpiceDouble c, SpiceDouble point[3], SpiceDouble normal[3] ); void sxform_c ( ConstSpiceChar * from, ConstSpiceChar * to, SpiceDouble et, SpiceDouble xform[6][6] ); void timdef_c ( ConstSpiceChar * action, ConstSpiceChar * item, SpiceInt lenout, SpiceChar * value ); void timout_c ( SpiceDouble et, ConstSpiceChar * pictur, SpiceInt lenout, SpiceChar * output ); void tipbod_c ( ConstSpiceChar * ref, SpiceInt body, SpiceDouble et, SpiceDouble tipm[3][3] ); void tisbod_c ( ConstSpiceChar * ref, SpiceInt body, SpiceDouble et, SpiceDouble tsipm[6][6] ); ConstSpiceChar * tkvrsn_c ( ConstSpiceChar * item ); void tpictr_c ( ConstSpiceChar * sample, SpiceInt lenpictur, SpiceInt lenerror, SpiceChar * pictur, SpiceBoolean * ok, SpiceChar * error ); void trcoff_c ( void ); void tsetyr_c ( SpiceInt year ); SpiceDouble twopi_c ( void ); void twovec_c ( SpiceDouble axdef [3], SpiceInt indexa, SpiceDouble plndef [3], SpiceInt indexp, SpiceDouble mout [3][3] ); SpiceDouble tyear_c ( void ); void ucase_c ( SpiceChar * in, SpiceInt lenout, SpiceChar * out ); void ucrss_c ( SpiceDouble v1[3], SpiceDouble v2[3], SpiceDouble vout[3] ); SpiceDouble unitim_c ( SpiceDouble epoch, ConstSpiceChar * insys, ConstSpiceChar * outsys ); void unorm_c ( SpiceDouble v1[3], SpiceDouble vout[3], SpiceDouble * vmag ); void utc2et_c ( ConstSpiceChar * utcstr, SpiceDouble * et ); void vadd_c ( SpiceDouble v1[3], SpiceDouble v2[3], SpiceDouble vout[3] ) ; void vcrss_c ( SpiceDouble v1[3], SpiceDouble v2[3], SpiceDouble vout[3] ); SpiceDouble vdist_c ( SpiceDouble v1[3], SpiceDouble v2[3] ); SpiceDouble vdot_c ( SpiceDouble v1[3], SpiceDouble v2[3] ); void vequ_c ( SpiceDouble vin[3], SpiceDouble vout[3] ); void vhat_c ( SpiceDouble v1 [3], SpiceDouble vout[3] ); void vlcom3_c ( SpiceDouble a, SpiceDouble v1[3], SpiceDouble b, SpiceDouble v2[3], SpiceDouble c, SpiceDouble v3[3], SpiceDouble sum[3] ); void vlcom_c ( SpiceDouble a, SpiceDouble v1[3], SpiceDouble b, SpiceDouble v2[3], SpiceDouble sum[3] ); void vminus_c ( SpiceDouble v1[3], SpiceDouble vout[3] ); SpiceDouble vnorm_c ( SpiceDouble v1[3] ); void vperp_c ( SpiceDouble a[3], SpiceDouble b[3], SpiceDouble p[3] ); void vproj_c ( SpiceDouble a[3], SpiceDouble b[3], SpiceDouble p[3] ); void vscl_c ( SpiceDouble s, SpiceDouble v1[3], SpiceDouble vout[3] ); SpiceDouble vsep_c ( SpiceDouble v1[3], SpiceDouble v2[3] ); void vsub_c ( SpiceDouble v1[3], SpiceDouble v2[3], SpiceDouble vout[3] ); void vsubg_c ( SpiceDouble * v1, SpiceDouble * v2, SpiceInt ndim, SpiceDouble * vout ); SpiceBoolean vzero_c ( SpiceDouble v[3] ); void xpose_c ( SpiceDouble m1 [3][3], SpiceDouble mout[3][3] ); void xpose6_c ( SpiceDouble m1 [6][6], SpiceDouble mout[6][6] ); void zzgetcml_c( SpiceInt * argc, SpiceChar *** argv, SpiceBoolean init ); #endif