/* @(#)stdd.fc 17.1.1.1 (ES0-DMD) 01/25/02 17:34:08 */ /*=========================================================================== Copyright (C) 1995 European Southern Observatory (ESO) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Massachusetss Ave, Cambridge, MA 02139, USA. Corresponding concerning ESO-MIDAS should be addressed as follows: Internet e-mail: midas@eso.org Postal address: European Southern Observatory Data Management Division Karl-Schwarzschild-Strasse 2 D 85748 Garching bei Muenchen GERMANY ===========================================================================*/ /*++++++++++++++++++++++++ STDD.FC +++++++++++++++++++++++++++++++++++++++ .LANGUAGE C .IDENTIFICATION Module STDD.FC .COMMENTS Module contains layer between the descriptor related FORTRAN STxxxx interfaces and the SC_interfaces written in (hopefully independent) C .AUTHOR K. Banse ESO - Garching .KEYWORDS standard interfaces. .ENVIRONMENT FORTRAN and C standards .VERSION [1.00] 871207: created from SXFTOC.C .VERSION [1.80] 871210: add data type option .VERSION [1.90] 880125: take care of base address in 'vmr' .VERSION [2.00] 880127: add STFPUT, STFGET .VERSION [2.10] 880208: make sure, that CHARACTER is used only for a single variable .VERSION [2.50] 880401: new version - split up numeric + character stuff ! .VERSION [2.60] 880411: modified new version - the last one .VERSION [3.00] 901213: Master file. CG. -----------------------------------------------------------------------------*/ #include #include SUBROUTINE STDWRC(no,descr,noelm,values,felem,maxvals,dunit,status) fint2c *no; /* IN : no. of data frame */ CHARACTER descr; /* IN : descriptor name (max. 15 char.) */ fint2c *noelm; /* IN : CHAR*noelm */ CHARACTER values; /* IN : buffer with descriptor data */ fint2c *felem; /* IN : position of 1st descrip. value to be accessed */ fint2c *maxvals; /* IN : no. of data values to write */ fint2c *dunit; /* IN : unit-pointer */ fint2c *status; { *status = SCDWRC(*no,STRIPPED_STRING(descr),*noelm, CHAR_LOC(values),*felem,*maxvals,dunit); } SUBROUTINE STDWRD(no,descr,values,felem,maxvals,dunit,status) fint2c *no; /* IN : no. of data frame */ CHARACTER descr; /* IN : descriptor name (max. 15 char.) */ double *values; /* IN : buffer with descriptor data */ fint2c *felem; /* IN : position of 1st descrip. value to be accessed */ fint2c *maxvals; /* IN : no. of data values to write */ fint2c *dunit; /* IN : unit-pointer */ fint2c *status; { *status = SCDWRD(*no,STRIPPED_STRING(descr),values,*felem,*maxvals,dunit); } SUBROUTINE STDWRH(no,descr,values,felem,maxvals,status) fint2c *no; /* IN : no. of data frame */ CHARACTER descr; /* IN : descriptor name (max. 15 char.) */ CHARACTER values; /* IN : buffer with descriptor data */ fint2c *felem; /* IN : position of 1st descrip. value to be accessed */ fint2c *maxvals; /* IN : no. of data values to write */ fint2c *status; { *status = SCDWRH(*no,STRIPPED_STRING(descr), CHAR_LOC(values),*felem,*maxvals); } SUBROUTINE STDWRI(no,descr,values,felem,maxvals,dunit,status) fint2c *no; /* IN : no. of data frame */ CHARACTER descr; /* IN : descriptor name (max. 15 char.) */ fint2c *values; /* IN : buffer with descriptor data */ fint2c *felem; /* IN : position of 1st descrip. value to be accessed */ fint2c *maxvals; /* IN : no. of data values to write */ fint2c *dunit; /* IN : unit-pointer */ fint2c *status; { *status = SCDWRI(*no,STRIPPED_STRING(descr),values,*felem,*maxvals,dunit); } SUBROUTINE STDWRL(no,descr,values,felem,maxvals,dunit,status) fint2c *no; /* IN : no. of data frame */ CHARACTER descr; /* IN : descriptor name (max. 15 char.) */ fint2c *values; /* IN : buffer with descriptor data */ fint2c *felem; /* IN : position of 1st descrip. value to be accessed */ fint2c *maxvals; /* IN : no. of data values to write */ fint2c *dunit; /* IN : unit-pointer */ fint2c *status; { *status = SCDWRL(*no,STRIPPED_STRING(descr),values,*felem,*maxvals,dunit); } SUBROUTINE STDWRR(no,descr,values,felem,maxvals,dunit,status) fint2c *no; /* IN : no. of data frame */ CHARACTER descr; /* IN : descriptor name (max. 15 char.) */ float *values; /* IN : buffer with descriptor data */ fint2c *felem; /* IN : position of 1st descrip. value to be accessed */ fint2c *maxvals; /* IN : no. of data values to write */ fint2c *dunit; /* IN : unit-pointer */ fint2c *status; { *status = SCDWRR(*no,STRIPPED_STRING(descr),values,*felem,*maxvals,dunit); }