]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/bc_types.h
Vacation work -- see tech log
[bacula/bacula] / bacula / src / bc_types.h
index 52af67ddc6b187e3d99e5feebd7232a37be86f52..3229b35d0e6aaa8b8e795796e534e127a2f665e3 100644 (file)
@@ -8,28 +8,29 @@
 
     int8_t,  int16_t,  int32_t,  int64_t
     uint8_t, uint16_t, uint32_t, uint64_t
-    float32_t, float64_t
 
     Also, we define types such as file address lengths.
 
+    Version $Id$
+
  */
 /*
-
-   Copyright (C) 2000, 2001 Kern Sibbald and John Walker
+   Copyright (C) 2000-2004 Kern Sibbald and John Walker
 
    This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   as published by the Free Software Foundation; either version 2
-   of the License, or (at your option) any later version.
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of
+   the License, or (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+   You should have received a copy of the GNU General Public
+   License along with this program; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+   MA 02111-1307, USA.
 
  */
 
@@ -37,8 +38,8 @@
 #ifndef __bc_types_INCLUDED
 #define __bc_types_INCLUDED
 
-/* ****FIXME***** implement 64 bit file addresses ! */
-#define faddr_t long 
+typedef char POOLMEM;
+
 
 /* Types */
 
@@ -78,17 +79,17 @@ typedef uint32_t u_int32_t;
 #  if (SIZEOF_CHAR == 1)
 typedef unsigned char u_int8_t;
 #  else
-#   error "8 bit int type not found."
+#   error "8 bit int type not found. Required!"
 #  endif
 #  if (SIZEOF_SHORT_INT == 2)
 typedef unsigned short int u_int16_t;
 #  else
-#   error "16 bit int type not found."
+#   error "16 bit int type not found. Required!"
 #  endif
 #  if (SIZEOF_INT == 4)
 typedef unsigned int u_int32_t;
 #  else
-#   error "32 bit int type not found."
+#   error "32 bit int type not found. Required!"
 #  endif
 # endif
 #endif
@@ -110,7 +111,7 @@ typedef long int int64_t;
 # ifdef HAVE_INT64_T
 typedef int64_t intmax_t;
 # else
-typedef int32_t intmax_t;
+#   error "64 bit type not found. Required!"
 # endif
 #endif
 
@@ -122,6 +123,8 @@ typedef unsigned long long int u_int64_t;
 #  if (SIZEOF_LONG_INT == 8)
 typedef unsigned long int u_int64_t;
 #   define HAVE_U_INT64_T 1
+#  else
+#   error "64 bit type not found. Required!"
 #  endif
 # endif
 #endif
@@ -130,20 +133,20 @@ typedef unsigned long int u_int64_t;
 # ifdef HAVE_U_INT64_T
 typedef u_int64_t u_intmax_t;
 # else
-typedef u_int32_t u_intmax_t;
+#   error "64 bit type not found. Required!"
 # endif
 #endif
 
 
 /* Limits for the above types. */
-#undef INT8_MIN  
-#undef INT8_MAX  
-#undef UINT8_MAX 
-#undef INT16_MIN 
-#undef INT16_MAX 
+#undef INT8_MIN
+#undef INT8_MAX
+#undef UINT8_MAX
+#undef INT16_MIN
+#undef INT16_MAX
 #undef UINT16_MAX
-#undef INT32_MIN 
-#undef INT32_MAX 
+#undef INT32_MIN
+#undef INT32_MAX
 #undef UINT32_MAX
 
 #define INT8_MIN        (-127-1)
@@ -162,14 +165,29 @@ typedef float             float32_t;
 #endif /* __bc_types_INCLUDED */
 
 /* Define the uint versions actually used in Bacula */
+#ifndef uint8_t
 #define uint8_t u_int8_t
 #define uint16_t u_int16_t
 #define uint32_t u_int32_t
 #define uint64_t u_int64_t
 #define uintmax_t u_intmax_t
+#endif
 
-#define btime_t uint64_t
+/* Bacula time -- Unix time with microseconds */
+#define btime_t int64_t
+/* Unix time (time_t) widened to 64 bits */
+#define utime_t int64_t
 
 #ifdef HAVE_CYGWIN
+#define int_least16_t int32_t
+#endif
+
+#ifndef HAVE_SOCKLEN_T
 #define socklen_t int
 #endif
+
+#ifdef HAVE_OLD_SOCKOPT
+#define sockopt_val_t char *
+#else
+#define sockopt_val_t void *
+#endif