SpiceZst.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:7k
源码类别:

OpenGL

开发平台:

Visual C++

  1. /*
  2. -Header_File SpiceZst.h ( Fortran/C string conversion utilities )
  3. -Abstract
  4.    Define prototypes for CSPICE Fortran/C string conversion utilities.
  5.    Caution: these prototypes are subject to revision without notice.
  6.    These are private routines and are not part of the official CSPICE
  7.    user interface.
  8. -Disclaimer
  9.    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
  10.    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
  11.    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
  12.    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
  13.    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
  14.    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
  15.    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
  16.    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
  17.    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
  18.    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
  19.    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
  20.    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
  21.    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  22.    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
  23.    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
  24.    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
  25.    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
  26.    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
  27.    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
  28.    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
  29. -Required_Reading
  30.    None.
  31. -Particulars
  32.    None.
  33. -Literature_References
  34.    None.
  35. -Author_and_Institution
  36.    N.J. Bachman       (JPL)
  37.    K.R. Gehringer     (JPL)
  38.    E.D. Wright        (JPL)
  39. -Version
  40.    -CSPICE Version 6.0.0, 10-JUL-2002 (NJB)
  41.       Added prototype for new functions C2F_MapStrArr and 
  42.       C2F_MapFixStrArr.
  43.    -CSPICE Version 5.0.0, 18-MAY-2001 (WLT)
  44.       Added #ifdef's to add namespace specification for C++ compilation.
  45.    -CSPICE Version 4.0.0, 14-FEB-2000 (NJB)
  46.       Added prototype for new function C2F_CreateStrArr_Sig.
  47.     
  48.    -CSPICE Version 3.0.0, 12-JUL-1999 (NJB)
  49.     
  50.       Added prototype for function C2F_CreateFixStrArr.
  51.       Added prototype for function F2C_ConvertTrStrArr.
  52.       Removed reference in comments to C2F_CreateStrArr_Sig, which
  53.       does not exist.
  54.    -CSPICE Version 2.0.1, 06-MAR-1998 (NJB)
  55.       Type SpiceVoid was changed to void.
  56.       
  57.    -CSPICE Version 2.0.1, 09-FEB-1998 (EDW)
  58.       Added prototype for F2C_ConvertStrArr.
  59.    -CSPICE Version 2.0.0, 04-JAN-1998 (NJB)
  60.       Added prototype for F2C_ConvertStr.
  61.    -CSPICE Version 1.0.0, 25-OCT-1997 (NJB) (KRG) (EDW)
  62. -Index_Entries
  63.    protoypes of CSPICE Fortran/C string conversion utilities
  64. */
  65. #include <stdlib.h>
  66. #include <string.h>
  67. #include "SpiceZdf.h"
  68. #ifndef HAVE_FCSTRINGS_H
  69. #define HAVE_FCSTRINGS_H
  70. #ifdef __cplusplus
  71. namespace Jpl_NAIF_CSpice {
  72. #endif
  73.    SpiceStatus C2F_CreateStr          ( ConstSpiceChar *,
  74.                                         SpiceInt *,
  75.                                         SpiceChar **      );
  76.    void        C2F_CreateStr_Sig      ( ConstSpiceChar *,
  77.                                         SpiceInt *,
  78.                                         SpiceChar **      );
  79.    void        C2F_CreateFixStrArr    ( SpiceInt           nStr,
  80.                                         SpiceInt           cStrDim,
  81.                                         ConstSpiceChar  ** cStrArr,
  82.                                         SpiceInt         * fStrLen,
  83.                                         SpiceChar       ** fStrArr  );
  84.                                         
  85.    SpiceStatus C2F_CreateStrArr       ( SpiceInt,
  86.                                         ConstSpiceChar **,
  87.                                         SpiceInt *,
  88.                                         SpiceChar **      );
  89.    void        C2F_CreateStrArr_Sig   ( SpiceInt           nStr,
  90.                                         ConstSpiceChar  ** cStrArr,
  91.                                         SpiceInt         * fStrLen,
  92.                                         SpiceChar       ** fStrArr );
  93.                                         
  94.    void        C2F_MapFixStrArr       ( ConstSpiceChar  *  caller,
  95.                                         SpiceInt           nStr,
  96.                                         SpiceInt           cStrLen,
  97.                                         const void       * cStrArr,
  98.                                         SpiceInt         * fStrLen,
  99.                                         SpiceChar       ** fStrArr  );
  100.    void        C2F_MapStrArr          ( ConstSpiceChar  *  caller,
  101.                                         SpiceInt           nStr,
  102.                                         SpiceInt           cStrLen,
  103.                                         const void       * cStrArr,
  104.                                         SpiceInt         * fStrLen,
  105.                                         SpiceChar       ** fStrArr  );
  106.    SpiceStatus C2F_StrCpy             ( ConstSpiceChar *,
  107.                                         SpiceInt,
  108.                                         SpiceChar *       );
  109.    void        F_Alloc                ( SpiceInt,
  110.                                         SpiceChar**       );
  111.    void        F2C_ConvertStr         ( SpiceInt,
  112.                                         SpiceChar *       );
  113.    void        F2C_ConvertStrArr      ( SpiceInt      n,
  114.                                         SpiceInt      lenout,
  115.                                         SpiceChar   * cvals  );
  116.    void        F2C_ConvertTrStrArr    ( SpiceInt      n,
  117.                                         SpiceInt      lenout,
  118.                                         SpiceChar   * cvals  );
  119.    SpiceStatus F2C_CreateStr          ( SpiceInt,
  120.                                         ConstSpiceChar *,
  121.                                         SpiceChar **      );
  122.    void        F2C_CreateStr_Sig      ( SpiceInt,
  123.                                         ConstSpiceChar *,
  124.                                         SpiceChar **      );
  125.    SpiceStatus F2C_CreateStrArr       ( SpiceInt,
  126.                                         SpiceInt,
  127.                                         ConstSpiceChar *,
  128.                                         SpiceChar ***     );
  129.    void        F2C_CreateStrArr_Sig   ( SpiceInt,
  130.                                         SpiceInt,
  131.                                         ConstSpiceChar *,
  132.                                         SpiceChar ***     );
  133.    void        F2C_FreeStrArr         ( SpiceChar  **cStrArr );
  134.    SpiceStatus F2C_StrCpy             ( SpiceInt,
  135.                                         ConstSpiceChar *,
  136.                                         SpiceInt,
  137.                                         SpiceChar *       );
  138.    SpiceInt    F_StrLen               ( SpiceInt,
  139.                                         ConstSpiceChar *  );
  140. #ifdef __cplusplus
  141. }
  142. #endif
  143.    
  144. #endif