X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fbc_types.h;h=bd63176d301350e03e1bbaed587a8f5c71012bbf;hb=d80730759db76731f110ff35fda81075f49dfbf3;hp=52af67ddc6b187e3d99e5feebd7232a37be86f52;hpb=da9f0514d42ea9e9774ac191efa6d6f77a6363f5;p=bacula%2Fbacula diff --git a/bacula/src/bc_types.h b/bacula/src/bc_types.h index 52af67ddc6..bd63176d30 100644 --- a/bacula/src/bc_types.h +++ b/bacula/src/bc_types.h @@ -1,4 +1,33 @@ /* + Bacula® - The Network Backup Solution + + Copyright (C) 2000-2008 Free Software Foundation Europe e.V. + + The main author of Bacula is Kern Sibbald, with contributions from + many others, a complete list can be found in the file AUTHORS. + This program is Free Software; you can redistribute it and/or + modify it under the terms of version two of the GNU General Public + License as published by the Free Software Foundation and included + in the file LICENSE. + + 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. + + 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., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. + + Bacula® is a registered trademark of John Walker. + The licensor of Bacula is the Free Software Foundation Europe + (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, + Switzerland, email:ftf@fsfeurope.org. +*/ +/* + Define integer types for Bacula -- Kern Sibbald + Integer types. These types should be be used in all contexts in which the length of an integer stored on removable media must be known regardless of the @@ -8,28 +37,10 @@ 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. - */ -/* - - Copyright (C) 2000, 2001 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. - - 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. - - 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. + Version $Id$ */ @@ -37,8 +48,8 @@ #ifndef __bc_types_INCLUDED #define __bc_types_INCLUDED -/* ****FIXME***** implement 64 bit file addresses ! */ -#define faddr_t long +typedef char POOLMEM; + /* Types */ @@ -51,7 +62,7 @@ typedef unsigned int u_int; #ifndef HAVE_INTXX_T # if (SIZEOF_CHAR == 1) -typedef char int8_t; +typedef signed char int8_t; # else # error "8 bit int type not found." # endif @@ -78,17 +89,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 +121,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 +133,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 +143,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) @@ -159,17 +172,29 @@ typedef u_int32_t u_intmax_t; typedef double float64_t; 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 +#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 + +#endif /* __bc_types_INCLUDED */