1 /*
2  * Copyright 2010 University Corporation for Atmospheric
3  * Research/Unidata. See COPYRIGHT file for more info.
4  *
5  * This header file is for the parallel I/O functions of netCDF.
6  *
7  */
8 /* "$Id: netcdf_par.h,v 1.1 2010/06/01 15:46:49 ed Exp $" */
9 
10 #ifndef NCCONFIGURE_H
11 #define NCCONFIGURE_H 1
12 
13 /*
14 This is included in bottom
15 of config.h. It is where,
16 typically, alternatives to
17 missing functions should be
18 defined.
19 */
20 
21 #ifndef HAVE_STRDUP
22 extern char* strdup(const char*);
23 #endif
24 
25 /* #if HAVE_BASETSD_H */
26 /* #ifndef ssize_t */
27 /* #ifndef SSIZE_T */
28 /* #include <BaseTsd.h> */
29 /* #endif */
30 /* #define ssize_t SSIZE_T */
31 /* #endif */
32 /* #endif */
33 
34 
35 
36 /* handle null arguments */
37 #ifndef nulldup
38 #ifdef HAVE_STRDUP
39 #define nulldup(s) ((s)==NULL?NULL:strdup(s))
40 #else
41 char *nulldup(const char* s);
42 #endif
43 #endif
44 
45 
46 #ifndef nulldup
47 #define nulldup(s) ((s)==NULL?NULL:strdup(s))
48 #endif
49 #ifndef nulllen
50 #define nulllen(s) ((s)==NULL?0:strlen(s))
51 #endif
52 #ifndef nullfree
53 #define nullfree(s) {if((s)!=NULL) {free(s);} else {}}
54 #endif
55 
56 #ifndef HAVE_UCHAR
57 typedef unsigned char uchar;
58 #endif
59 
60 #ifndef HAVE_LONGLONG
61 typedef long long longlong;
62 typedef unsigned long long ulonglong;
63 #endif
64 
65 #ifndef HAVE_USHORT
66 typedef unsigned short ushort;
67 #endif
68 
69 #ifndef HAVE_UINT
70 typedef unsigned int uint;
71 #endif
72 
73 #endif /* NCCONFIGURE_H */
74