source: XIOS/dev/branch_openmp/extern/src_netcdf4/dapalign.h @ 1501

Last change on this file since 1501 was 409, checked in by ymipsl, 11 years ago

Add improved nectdf internal library src

YM

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1/*********************************************************************
2 *   Copyright 1993, UCAR/Unidata
3 *   See netcdf/COPYRIGHT file for copying and redistribution conditions.
4 *   $Header: /upc/share/CVS/netcdf-3/libncdap3/dapalign.h,v 1.3 2009/09/23 22:26:00 dmh Exp $
5 *********************************************************************/
6#ifndef ALIGN_H
7#define ALIGN_H 1
8
9typedef struct NCtypealignment {
10    char* typename;
11    int alignment;
12} NCtypealignment;
13
14/* Define indices for every primitive C type */
15/* NAT => NOT-A-TYPE*/
16#define NCCTYPENAT       0
17#define NCCTYPECHAR      1
18#define NCCTYPEUCHAR     2
19#define NCCTYPESHORT     3
20#define NCCTYPEUSHORT    4
21#define NCCTYPEINT       5
22#define NCCTYPEUINT      6
23#define NCCTYPELONG      7
24#define NCCTYPEULONG     8
25#define NCCTYPELONGLONG  9
26#define NCCTYPEULONGLONG 10
27#define NCCTYPEFLOAT     11
28#define NCCTYPEDOUBLE    12
29#define NCCTYPEPTR       13
30#define NCCTYPENCVLEN    14
31
32/* Capture in struct and in a vector*/
33typedef struct NCtypealignset {
34    NCtypealignment charalign;    /* char*/
35    NCtypealignment ucharalign;   /* unsigned char*/
36    NCtypealignment shortalign;   /* short*/
37    NCtypealignment ushortalign;          /* unsigned short*/
38    NCtypealignment intalign;     /* int*/
39    NCtypealignment uintalign;    /* unsigned int*/
40    NCtypealignment longalign;    /* long*/
41    NCtypealignment ulongalign;   /* unsigned long*/
42    NCtypealignment longlongalign;  /* long long*/
43    NCtypealignment ulonglongalign; /* unsigned long long*/
44    NCtypealignment floatalign;   /* float*/
45    NCtypealignment doublealign;          /* double*/
46    NCtypealignment ptralign;     /* void**/
47    NCtypealignment ncvlenalign;          /* nc_vlen_t*/
48} NCtypealignset;
49
50typedef NCtypealignment NCtypealignvec;
51
52extern void compute_nccalignments(void);
53extern unsigned int ncctypealignment(int nctype);
54extern int nccpadding(unsigned long offset, int alignment);
55
56#endif /*ALIGN_H*/
Note: See TracBrowser for help on using the repository browser.