File: getwcstab_f.c

package info (click to toggle)
wcslib 7.4%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 9,752 kB
  • sloc: ansic: 32,656; lex: 9,281; fortran: 6,634; sh: 3,369; sed: 497; pascal: 188; makefile: 15
file content (48 lines) | stat: -rw-r--r-- 1,793 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*============================================================================
  WCSLIB 7.4 - an implementation of the FITS WCS standard.
  Copyright (C) 1995-2021, 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 http://www.gnu.org/licenses.

  Author: Mark Calabretta, Australia Telescope National Facility, CSIRO.
  http://www.atnf.csiro.au/people/Mark.Calabretta
  $Id: getwcstab_f.c,v 7.4 2021/01/31 02:24:52 mcalabre Exp $
*===========================================================================*/

#include <getwcstab.h>

// Fortran name mangling.
#include <wcsconfig_f77.h>
#define ftwcst_ F77_FUNC(ftwcst, FTWCST)

// CFITSIO global variable defined by/for the FITSIO wrappers that maps
// Fortran unit numbers to fitsfile *; see f77_wrap.h and f77_wrap1.c.
extern fitsfile *gFitsFiles[];

//----------------------------------------------------------------------------

int ftwcst_(
  int *unit,
  int *nwtb,
  int *wtb,
  int *status)

{
  // *wtb is meant to hold a pointer to a wtbarr struct.  On 64-bit machines
  // sizeof(void *) = 2 * sizeof(int) = sizeof(long).
  long wtbp = *((long *)wtb);
  return fits_read_wcstab(gFitsFiles[*unit], *nwtb, (void *)wtbp, status);
}