1/*********************************************************************
2 *   Copyright 2009, UCAR/Unidata
3 *   See netcdf/COPYRIGHT file for copying and redistribution conditions.
4 *********************************************************************/
5/* $Id: offsets.h,v 1.2 2010/05/24 19:59:58 dmh Exp $ */
6/* $Header: /upc/share/CVS/netcdf-3/ncgen/offsets.h,v 1.2 2010/05/24 19:59:58 dmh Exp $ */
7
8#ifndef OFFSETS_H
9#define OFFSETS_H 1
10
11typedef struct Alignment {
12    char* typename;
13    unsigned int alignment;
14Alignment;
15
16/* Define indices for every primitive C type */
17/* NAT => NOT-A-TYPE*/
18#define NATINDEX       0
19#define CHARINDEX      1
20#define UCHARINDEX     2
21#define SHORTINDEX     3
22#define USHORTINDEX    4
23#define INTINDEX       5
24#define UINTINDEX      6
25#define LONGINDEX      7
26#define ULONGINDEX     8
27#define LONGLONGINDEX  9
28#define ULONGLONGINDEX 10
29#define FLOATINDEX     11
30#define DOUBLEINDEX    12
31#define PTRINDEX       13
32#define NCVLENINDEX    14
33
34#define NCTYPES        15
35
36/* Capture in struct and in a vector*/
37typedef struct Typealignset {
38    Alignment charalign; /* char*/
39    Alignment ucharalign; /* unsigned char*/
40    Alignment shortalign; /* short*/
41    Alignment ushortalign; /* unsigned short*/
42    Alignment intalign; /* int*/
43    Alignment uintalign; /* unsigned int*/
44    Alignment longalign; /* long*/
45    Alignment ulongalign; /* unsigned long*/
46    Alignment longlongalign; /* long long*/
47    Alignment ulonglongalign; /* unsigned long long*/
48    Alignment floatalign; /* float*/
49    Alignment doublealign; /* double*/
50    Alignment ptralign; /* void**/
51    Alignment ncvlenalign; /* nc_vlen_t*/
52Typealignset;
53
54typedef Alignment Typealignvec;
55
56extern char* ctypenames[];
57
58extern void compute_alignments(void);
59extern unsigned int nctypealignment(nc_type nctype);
60
61#endif /*OFFSETS_H*/


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed