/usr/include/ncarg/ncl/NclAdvancedFile.h is in libncarg-dev 6.3.0-13.
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 | /************************************************************************
*                                                                       *
*                 Copyright (C)  1994                                   *
*         University Corporation for Atmospheric Research               *
*                 All Rights Reserved                                   *
*                                                                       *
************************************************************************/
/*
 *      $Id: NclAdvancedFile.h 15249 2014-04-21 16:03:44Z huangwei $
 */
#ifndef NclAdvancedFile_h
#define NclAdvancedFile_h
#ifdef NIO_LIB_ONLY
#include "niohlu.h"
#include "nioNresDB.h"
#include "nioCallbacks.h"
#else
#include <ncarg/hlu/hlu.h>
#include <ncarg/hlu/NresDB.h>
#include <ncarg/hlu/Callbacks.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <assert.h>
#include <math.h>
#include "defs.h"
#include "Symbol.h"
#include "NclVar.h"
#include "NclFile.h"
#include "NclGroup.h"
#include "NclFileInterfaces.h"
#include "DataSupport.h"
#include "VarSupport.h"
#include "NclMultiDValData.h"
#include "NclAtt.h"
#include "AttSupport.h"
#include "NclType.h"
#include "TypeSupport.h"
#include "FileSupport.h"
#include "NclMdInc.h"
#include "NclList.h"
#include "NclCoordVar.h"
#include "NclCallBacksI.h"
#include "NclData.h"
#include "NclAdvancedFileStructure.h"
extern int grib_version;
typedef struct _NclAdvancedFileRec NclAdvancedFileRec;
typedef struct _NclAdvancedFileClassRec NclAdvancedFileClassRec;
typedef NclAdvancedFileRec *NclAdvancedFile;
typedef NclAdvancedFileClassRec *NclAdvancedFileClass;
typedef NhlErrorTypes (*NclAssignFileGrpFunc)(NclFile thefile, NclQuark grp_name);
typedef NhlErrorTypes (*NclAssignFileVlenFunc)(NclFile thefile, NclQuark vlen_name, NclQuark var_name,
                                               NclQuark type, NclQuark *dim_names, ng_size_t ndims);
typedef NhlErrorTypes (*NclAssignFileEnumFunc)(NclFile thefile, NclQuark vlen_name, NclQuark var_name,
                                               NclQuark dim_name, NclQuark *mem_name, void *mem_value,
                                               ng_size_t n_mems, NclBasicDataTypes val_type);
typedef NhlErrorTypes (*NclAssignFileOpaqueFunc)(NclFile thefile, NclQuark vlen_name, NclQuark var_name,
                                                 int var_size, NclQuark dim_name);
typedef NhlErrorTypes (*NclAssignFileCompoundFunc)(NclFile thefile, NclQuark vlen_name, NclQuark var_name,
                                                   ng_size_t n_dims, NclQuark *dim_name, ng_size_t n_mems,
                                                   NclQuark *mem_name, NclQuark *mem_type, int *mem_size);
typedef NhlErrorTypes (*NclWriteFileCompoundFunc)(NclFile thefile, NclQuark vlen_name, NclQuark var_name,
                                                  ng_size_t n_mems, NclQuark *mem_name, NclList thelist);
typedef struct _NclAdvancedFileClassPart
{
    NclAssignFileGrpFunc    write_grp;
    NclAssignFileVlenFunc   create_vlen_type;
    NclAssignFileEnumFunc   create_enum_type;
    NclAssignFileOpaqueFunc   create_opaque_type;
    NclAssignFileCompoundFunc create_compound_type;
    NclWriteFileCompoundFunc  write_compound;
    int new_stuff;	/* Advanced part(s) beyond _NclFileClasspart */
} NclAdvancedFileClassPart;
typedef struct _NclAdvancedFilePart
{
    NclQuark        fname;
    NclQuark        fpath;
    NclQuark        file_ext_q;
    int             wr_status;
    NclFileFormat   file_format;
    NclFileGrpNode *grpnode;
    struct _NclFormatFunctionRecord *format_funcs;
} NclAdvancedFilePart;
 
struct _NclAdvancedFileClassRec
{
    NclObjClassPart     obj_class;
    NclFileClassPart    file_class;
    NclAdvancedFileClassPart advancedfile_class;
};
struct _NclAdvancedFileRec
{
    NclObjPart      obj;
    NclFilePart     file;
    NclAdvancedFilePart  advancedfile;
};
extern NclObjClass nclAdvancedFileClass;
extern NclAdvancedFileClassRec nclAdvancedFileClassRec;
extern NclFile _NclAdvancedFileCreate(NclObj       inst,
                                 NclObjClass  theclass,
                                 NclObjTypes  obj_type,
                                 unsigned int obj_type_mask,
                                 NclStatus    status,
                                 NclQuark     path,
                                 int          rw_status,
				 NclQuark     file_ext_q,
				 NclQuark     fname_q,
				 NhlBoolean   is_http, 
				 char        *end_of_name,
				 int          len_path);
void _clearNclPrintIndentation();
void _increaseNclPrintIndentation();
void _decreaseNclPrintIndentation();
void _printNclFileUDTRecord(FILE *fp, NclAdvancedFile thefile, NclFileUDTRecord *udt_rec);
void _printNclFileAttRecord(FILE *fp, NclAdvancedFile thefile, NclFileAttRecord *att_rec);
void _printNclFileDimRecord(FILE *fp, NclAdvancedFile thefile, NclFileDimRecord *dim_rec);
void _printNclFileChunkDimRecord(FILE *fp, NclAdvancedFile thefile, NclFileDimRecord *dim_rec);
void _printNclFileVarDimRecord(FILE *fp, NclFileDimRecord *dim_rec);
void _printNclFileVarNode(FILE *fp, NclAdvancedFile thefile, NclFileVarNode *varnode);
void _printNclFileVarRecord(FILE *fp, NclAdvancedFile thefile, NclFileVarRecord *var_rec);
void _printNclFileGrpRecord(FILE *fp, NclAdvancedFile thefile, NclFileGrpRecord *grp_rec);
NhlErrorTypes _NclAdvancedFilePrintSummary(NclObj self, FILE *fp);
extern void AdvancedLoadVarAtts(NclAdvancedFile thefile, NclQuark var);
extern char *_getComponentName(const char *fullname, char **structname);
extern NclFileCompoundNode *_getComponentNodeFromVarNode(NclFileVarNode *varnode,
                                                         const char *component_name);
extern NclVar _NclCreateVlenVar(char *var_name, void *val,
                                int ndims, NclQuark *dimnames,
                                ng_size_t *dimsizes, NclBasicDataTypes type);
extern NclQuark *_NclGetGrpNames(void *therec, int *num_grps);
#endif /* NclAdvancedFile_h */
 |