/*============================================================================ WCSLIB 4.3 - an implementation of the FITS WCS standard. Copyright (C) 1995-2007, Mark Calabretta This file is part of WCSLIB. WCSLIB is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. WCSLIB 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with WCSLIB. If not, see . Correspondence concerning WCSLIB may be directed to: Internet email: mcalabre@atnf.csiro.au Postal address: Dr. Mark Calabretta Australia Telescope National Facility, CSIRO PO Box 76 Epping NSW 1710 AUSTRALIA Author: Mark Calabretta, Australia Telescope National Facility http://www.atnf.csiro.au/~mcalabre/index.html $Id: wcshdr_f.c,v 4.3 2007/12/27 05:48:07 cal103 Exp $ *===========================================================================*/ #include #include /* Fortran name mangling. */ #include #define wcspih_ F77_FUNC(wcspih, WCSPIH) #define wcstab_ F77_FUNC(wcstab, WCSTAB) #define wcsidx_ F77_FUNC(wcsidx, WCSIDX) #define wcsvcopy_ F77_FUNC(wcsvcopy, WCSVCOPY) #define wcsvfree_ F77_FUNC(wcsvfree, WCSVFREE) /*--------------------------------------------------------------------------*/ int wcspih_( char header[], const int *nkeys, const int *relax, const int *errlvl, int *nreject, int *nwcs, int *wcsp) { return wcspih(header, *nkeys, *relax, *errlvl, nreject, nwcs, (struct wcsprm **)wcsp); } /*--------------------------------------------------------------------------*/ int wcstab_(int *wcs) { return wcstab((struct wcsprm *)wcs); } /*--------------------------------------------------------------------------*/ int wcsidx_(int *nwcs, int *wcsp, int alts[27]) { return wcsidx(*nwcs, (struct wcsprm **)wcsp, alts); } /*--------------------------------------------------------------------------*/ int wcsvcopy_(const int *wcspp, const int *i, int *wcs) { struct wcsprm *wcsdst, *wcssrc; /* Do a shallow copy. */ wcssrc = *((struct wcsprm **)wcspp) + *i; wcsdst = (struct wcsprm *)wcs; *wcsdst = *wcssrc; /* Don't take memory. */ wcsdst->m_flag = 0; wcsdst->m_naxis = 0; wcsdst->m_crpix = 0x0; wcsdst->m_pc = 0x0; wcsdst->m_cdelt = 0x0; wcsdst->m_cunit = 0x0; wcsdst->m_ctype = 0x0; wcsdst->m_crval = 0x0; wcsdst->m_pv = 0x0; wcsdst->m_ps = 0x0; wcsdst->m_cd = 0x0; wcsdst->m_crota = 0x0; wcsdst->m_cname = 0x0; wcsdst->m_crder = 0x0; wcsdst->m_csyer = 0x0; wcsdst->m_wtb = 0x0; wcsdst->m_tab = 0x0; return 0; } /*--------------------------------------------------------------------------*/ int wcsvfree_(int *nwcs, int *wcspp) { return wcsvfree(nwcs, (struct wcsprm **)wcspp); }