This file is indexed.

/usr/include/ncarg/ncl/defs.h is in libncarg-dev 6.2.0-3+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
/*
 *      $Id: defs.h,v 1.27 2010-04-14 21:29:48 huangwei Exp $
 */
/************************************************************************
*                                                                       *
*                Copyright (C)  1993                                    *
*        University Corporation for Atmospheric Research                *
*                All Rights Reserved                                    *
*                                                                       *
************************************************************************/
/*
 *	File:		defs.h 
 *
 *	Author:		Ethan Alpert
 *			National Center for Atmospheric Research
 *			PO 3000, Boulder, Colorado
 *
 *	Date:		Tue Jun 29 15:40:27 MDT 1993
 *
 *	Description:	Contains definitions for ncl
 */
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _NCdefs_h
#define _NCdefs_h

#ifndef NIO_LIB_ONLY
#include "ncarg/hlu/NgSizeT.h"
#endif
#include    <stddef.h>

#define NCL_MAX_DIMENSIONS 32
#define NCL_MAX_FVARS 16
#define NCL_MAX_GVARS 2
#define NCL_MAX_STRING 256
#define NCL_MAX_COMPOUND_COMPONETS 256
#define NCL_MAX_ATTRIBUTES 32
#define NCL_MAX_SYMS_PER_STMNT 300
#define NCL_SRC_TREE_NODE_LIST_SIZE 1000
#define NCL_MISSING_VALUE_ATT "_FillValue"
#define NclANY NULL
#define NhlTNclData "nclData"

#ifndef NCL_MAX_NAME_LENGTH
#define NCL_MAX_NAME_LENGTH    256
#endif

#ifdef NCLDEBUG
#ifndef NCL_MAX_MEMORY_RECORD
#define NCL_MAX_MEMORY_RECORD   1024
#endif

struct _NclMemoryStruct
{
    size_t size;
    size_t memloc;
    size_t linenumb;
    char   filename[NCL_MAX_NAME_LENGTH];
};

typedef struct _NclMemoryStruct NclMemoryStruct;

struct _NclMemoryRecord
{
    unsigned long totalMemoryAllocated;
    unsigned long totalMemoryFreed;
    size_t num_allocated;
    size_t max_allocated;
    size_t num_freed;
    size_t used;
    NclMemoryStruct *record;
};

typedef struct _NclMemoryRecord NclMemoryRecord;

extern NclMemoryRecord ncl_memory_record;
extern void _initializeNclMemoryRecord();
extern void _finalizeNclMemoryRecord();
extern short NCLdebug_on;
#else
extern void *NclMalloc(
#if    NhlNeedProto
ng_usize_t     /* size */
#endif
);

extern void *NclCalloc(
#if    NhlNeedProto
ng_usize_t     /* num */,
ng_usize_t     /* size */
#endif
);

extern void *NclRealloc(
#if    NhlNeedProto
void   *       /* ptr */       ,
ng_usize_t     /* size */
#endif
);

extern NhlErrorTypes NclFree(
#if    NhlNeedProto
void * /* size */
#endif
);
#endif

typedef enum {	NORMAL = 0,
		VARSUBSEL = 1,
		COORD = 2,
		COORDSUBSEL = 3,
		FILEVAR = 4,
		FILEVARSUBSEL = 5,
		PARAM = 6,
		RETURNVAR = 7,
		HLUOBJ = 8,
		FILEGROUP = 9,
		RETURNGROUP = 10,
		ATTVALLINK = 11         /* this serves as a wrapper for an attribute put into a list */
} NclVarTypes;

typedef struct _NclDimRec {
        int   dim_quark;
        int   dim_num;
        ng_size_t   dim_size;
} NclDimRec;


typedef void (*NclPromptFunc)(
#if     NhlNeedProto
void * /*user_data*/,
int /*arg*/
#endif
);



/*
* Maximum number of error messages to be printed
* for a single statement includes blocks.
*/
#define NCL_MAX_ERROR 15
/*
* The following must be a PRIME number
*/
#define NCL_SYM_TAB_SIZE 211

#ifndef NclQuarkIsDef
typedef NrmQuark NclQuark;
#define NclQuarkIsDef
#endif

typedef size_t  NclValue;

typedef struct _NclGenericVal {
	size_t  kind;
	char *name;
} NclGenericVal;

extern FILE* _NclGetOutputStream(
#if	NhlNeedProto
void
#endif
);
extern FILE* _NclGetInputStream(
#if	NhlNeedProto
void
#endif
);
extern FILE* _NclGetErrorStream(
#if	NhlNeedProto
void
#endif
);

void _NclPushNewInputFile(
#if NhlNeedProto
FILE * /*fp*/,
const char * /*name*/,
int /*cline_number*/
#endif
);

void _NclPushNewInputStr(
#if NhlNeedProto
char* /*tmp_input*/,
const char* /*name*/,
int /*size*/,
int /*cline_number*/
#endif
);

char *_NclPopInputStr(
#if NhlNeedProto
void
#endif
);

FILE *_NclPopInputFile(
#if NhlNeedProto
void
#endif
);


typedef int (*NclVaPrintFunc)(
#if	NhlNeedProto
FILE* /*fp*/,
const char* /*fmt*/,
va_list /*arg*/
#endif
);

extern int nclfprintf(
#if	NhlNeedVarArgProto
	FILE * /*fp*/,
	char * /*fmt*/,
	...
#endif
);

NclVaPrintFunc _NclSetPrintFunc(
#if NhlNeedProto
NclVaPrintFunc thepit
#endif
);

void _NclStartCmdLinePager(
#if NhlNeedProto
void
#endif
);
void _NclEndCmdLinePager(
#if NhlNeedProto
void
#endif
);
typedef struct _ext_stack {
        struct _NclSymbol*tmp_sym;
        struct _ext_stack * next;
} ExtStack;

#ifdef NCLDEBUG
void *_underNclMalloc(int linenum, const char *filename, ng_usize_t size);
void _underNclFree(int linenum, const char *filename, void *ptr);
void *_underNclCalloc(int linenum, const char *filename,
                      ng_usize_t num, ng_usize_t size);
void *_underNclRealloc(int linenum, const char *filename,
                       void *ptr, ng_usize_t size);

#define NclMalloc(size)	_underNclMalloc(__LINE__, __FILE__, (ng_usize_t) size)
#define NclCalloc(num, size)	_underNclCalloc(__LINE__, __FILE__, \
				                (ng_usize_t) num, (ng_usize_t) size)
#define NclRealloc(ptr, size)	_underNclRealloc(__LINE__, __FILE__, \
				                 ptr, (ng_usize_t) size)
#define NclFree(ptr)	_underNclFree(__LINE__, __FILE__, ptr)
#else
extern void *NclMalloc(
#if     NhlNeedProto
ng_usize_t      /* size */
#endif
);

extern void *NclCalloc(
#if     NhlNeedProto
ng_usize_t      /* num */,
ng_usize_t      /* size */
#endif
);

extern void *NclRealloc(
#if     NhlNeedProto
void    *       /* ptr */       ,
ng_usize_t      /* size */
#endif
);

extern NhlErrorTypes NclFree(
#if     NhlNeedProto
void * /* size */
#endif
);
#endif

#endif /*_NCdefs.h*/
#ifdef __cplusplus
}
#endif