1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*********************************************************************
- * Copyright 1993, UCAR/Unidata
- * See netcdf/COPYRIGHT file for copying and redistribution conditions.
- * $Header: /upc/share/CVS/netcdf-3/libncdap3/dapalign.h,v 1.3 2009/09/23 22:26:00 dmh Exp $
- *********************************************************************/
- #ifndef ALIGN_H
- #define ALIGN_H 1
- typedef struct NCtypealignment {
- char* typename;
- int alignment;
- } NCtypealignment;
- /* Define indices for every primitive C type */
- /* NAT => NOT-A-TYPE*/
- #define NCCTYPENAT 0
- #define NCCTYPECHAR 1
- #define NCCTYPEUCHAR 2
- #define NCCTYPESHORT 3
- #define NCCTYPEUSHORT 4
- #define NCCTYPEINT 5
- #define NCCTYPEUINT 6
- #define NCCTYPELONG 7
- #define NCCTYPEULONG 8
- #define NCCTYPELONGLONG 9
- #define NCCTYPEULONGLONG 10
- #define NCCTYPEFLOAT 11
- #define NCCTYPEDOUBLE 12
- #define NCCTYPEPTR 13
- #define NCCTYPENCVLEN 14
- /* Capture in struct and in a vector*/
- typedef struct NCtypealignset {
- NCtypealignment charalign; /* char*/
- NCtypealignment ucharalign; /* unsigned char*/
- NCtypealignment shortalign; /* short*/
- NCtypealignment ushortalign; /* unsigned short*/
- NCtypealignment intalign; /* int*/
- NCtypealignment uintalign; /* unsigned int*/
- NCtypealignment longalign; /* long*/
- NCtypealignment ulongalign; /* unsigned long*/
- NCtypealignment longlongalign; /* long long*/
- NCtypealignment ulonglongalign; /* unsigned long long*/
- NCtypealignment floatalign; /* float*/
- NCtypealignment doublealign; /* double*/
- NCtypealignment ptralign; /* void**/
- NCtypealignment ncvlenalign; /* nc_vlen_t*/
- } NCtypealignset;
- typedef NCtypealignment NCtypealignvec;
- extern void compute_nccalignments(void);
- extern unsigned int ncctypealignment(int nctype);
- extern int nccpadding(unsigned long offset, int alignment);
- #endif /*ALIGN_H*/
|