1
/* @(#)fitshkw.h 19.1 (ESO-IPG) 02/25/03 13:49:31 */
2
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3
.COPYRIGHT (c) 1994 European Southern Observatory
6
.AUTHOR P.Grosbol ESO/IPG
7
.KEYWORDS FITS, hierarchical keywords, definitions
8
.PURPOSE define FITS hierarchical keywords
9
.VERSION 1.0 1990-Nov-21 : Creation, PJG
10
.VERSION 1.1 1993-Nov-11 : Add 'OUT-#' level to detector, PJG
11
.VERSION 1.2 1994-Feb-04 : Add more level-2 names, PJG
12
--------------------------------------------------------------------*/
14
typedef struct { /* Hierarchical KW level */
15
char *name; /* Name of level keyword */
16
char *abrv; /* Abbreviation for name */
17
char *next; /* Pointer to next level */
18
KWDEF *kw; /* Pointer to keywords level */
21
static KWDEF esogkw[] = {
22
{"ID", 'S',WDESC,0,"ID", 1,'S',0.0,""},
23
{"NAME", 'S',WDESC,0,"NAME", 1,'S',0.0,""},
24
{"TYPE", 'S',WDESC,0,"TYPE", 1,'S',0.0,""},
25
{"MODE", 'S',WDESC,0,"MODE", 1,'S',0.0,""},
26
{"STATUS", 'S',WDESC,0,"STATUS", 1,'S',0.0,""},
27
{"", '\0',0,0,"",0,'\0', 0.0,""},
28
{(char *) 0,'\0',0,0,(char *) 0,0,'\0',0.0,(char *) 0}
31
static KWDEF esotkw[] = {
32
{"ID", 'S',WDESC,0,"ID", 1,'S',0.0,""},
33
{"NAME", 'S',WDESC,0,"NAME", 1,'S',0.0,""},
34
{"TYPE", 'S',WDESC,0,"TYPE", 1,'S',0.0,""},
35
{"MODE", 'S',WDESC,0,"MODE", 1,'S',0.0,""},
36
{"STATUS", 'S',WDESC,0,"STATUS", 1,'S',0.0,""},
37
{"", '\0',0,0,"",0,'\0',0.0,""},
38
{(char *) 0,'\0',0,0,(char *) 0,0,'\0',0.0,(char *) 0}
41
static KWDEF esoakw[] = {
42
{"ID", 'S',WDESC,0,"ID", 1,'S',0.0,""},
43
{"NAME", 'S',WDESC,0,"NAME", 1,'S',0.0,""},
44
{"TYPE", 'S',WDESC,0,"TYPE", 1,'S',0.0,""},
45
{"MODE", 'S',WDESC,0,"MODE", 1,'S',0.0,""},
46
{"STATUS", 'S',WDESC,0,"STATUS", 1,'S',0.0,""},
47
{"", '\0',0,0,"",0,'\0',0.0,""},
48
{(char *) 0,'\0',0,0,(char *) 0,0,'\0',0.0,(char *) 0}
51
static KWDEF esoikw[] = {
52
{"ID", 'S',WDESC,0,"ID", 1,'S',0.0,""},
53
{"NAME", 'S',WDESC,0,"NAME", 1,'S',0.0,""},
54
{"TYPE", 'S',WDESC,0,"TYPE", 1,'S',0.0,""},
55
{"MODE", 'S',WDESC,0,"MODE", 1,'S',0.0,""},
56
{"STATUS", 'S',WDESC,0,"STATUS", 1,'S',0.0,""},
57
{"", '\0',0,0,"",0,'\0',0.0,""},
58
{(char *) 0,'\0',0,0,(char *) 0,0,'\0',0.0,(char *) 0}
61
static KWDEF esodkw[] = {
62
{"ID", 'S',WDESC,0,"ID", 1,'S',0.0,""},
63
{"NAME", 'S',WDESC,0,"NAME", 1,'S',0.0,""},
64
{"TYPE", 'S',WDESC,0,"TYPE", 1,'S',0.0,""},
65
{"MODE", 'S',WDESC,0,"MODE", 1,'S',0.0,""},
66
{"STATUS", 'S',WDESC,0,"STATUS", 1,'S',0.0,""},
67
{"PARM#", 'S',WDESC,0,"PARM#", 1,'S',0.0,""},
68
{"DATE", 'T',WDESC,0,"DATE", 1,'R',0.0,""},
69
{"", '\0',0,0,"",0,'\0',0.0,""},
70
{(char *) 0,'\0',0,0,(char *) 0,0,'\0',0.0,(char *) 0}
73
static KWDEF esockw[] = {
74
{"ID", 'S',WDESC,0,"ID", 1,'S',0.0,""},
75
{"NAME", 'S',WDESC,0,"NAME", 1,'S',0.0,""},
76
{"TYPE", 'S',WDESC,0,"TYPE", 1,'S',0.0,""},
77
{"MODE", 'S',WDESC,0,"MODE", 1,'S',0.0,""},
78
{"", '\0',0,0,"",0,'\0',0.0,""},
79
{(char *) 0,'\0',0,0,(char *) 0,0,'\0',0.0,(char *) 0}
82
static HKWL esogen[] = {
83
{"PROJ","P", (char *) 0, esogkw},
84
{"TARG","T", (char *) 0, esogkw},
85
{"EXPO","E", (char *) 0, esogkw},
86
{"CAT","C", (char *) 0, esogkw},
87
{"WIND","W", (char *) 0, esogkw},
88
{(char *) 0, "", (char *) 0, (KWDEF *) 0}
91
static HKWL esotel[] = {
92
{"FOCU","F", (char *) 0, esotkw},
93
{"TRAK","T", (char *) 0, esotkw},
94
{"DOME","D", (char *) 0, esotkw},
95
{"PARANG","P", (char *) 0, esotkw},
96
{"AIRM","A", (char *) 0, esotkw},
97
{(char *) 0, "", (char *) 0, esotkw}
100
static HKWL esoada[] = {
101
{"LAMP-#","L#", (char *) 0, esoakw},
102
{"GUID-#","G#", (char *) 0, esoakw},
103
{(char *) 0, "", (char *) 0, (KWDEF *) 0}
106
static HKWL esoins[] = {
107
{"FOCU", "F", (char *) 0, esoikw},
108
{"COMP", "C", (char *) 0, esoikw},
109
{"MIRR-#","M#", (char *) 0, esoikw},
110
{"GRAT-#","G#", (char *) 0, esoikw},
111
{"SLIT-#","S#", (char *) 0, esoikw},
112
{"OPTI-#","O#", (char *) 0, esoikw},
113
{(char *) 0, "", (char *) 0, (KWDEF *) 0}
116
static HKWL esodet[] = {
117
{"FRAM","F", (char *) 0, esodkw},
118
{"SHUT","S", (char *) 0, esodkw},
119
{"COMP","C", (char *) 0, esodkw},
120
{"OUT-#","O#", (char *) 0, esodkw},
121
{(char *) 0, "", (char *) 0, esodkw}
124
static HKWL esohkw[] = {
125
{"GEN","G", (char *) esogen, esogkw},
126
{"TEL","T", (char *) esotel, esotkw},
127
{"ADA","A", (char *) esoada, esoakw},
128
{"INS","I", (char *) esoins, esoikw},
129
{"DET","D", (char *) esodet, esodkw},
130
{"ARC","C", (char *) 0, esockw},
131
{(char *) 0, "", (char *) 0, (KWDEF *) 0}
134
static HKWL hkwgrp[] = {
135
{"ESO", "_E", (char *) esohkw, (KWDEF *) 0},
136
{(char *) 0, "", (char *) 0, (KWDEF *) 0}