X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fbc_types.h;h=fe0471874841a66eba045d3069697374d62965d4;hb=9c47eb07a54ffa760db9fa2645271910ac38d323;hp=e6e4c5338188117ccec75bee6aa2f5f1897fa146;hpb=0c621cdf675d463a1ff119a5d719f472e83830fd;p=bacula%2Fbacula diff --git a/bacula/src/bc_types.h b/bacula/src/bc_types.h index e6e4c53381..fe04718748 100644 --- a/bacula/src/bc_types.h +++ b/bacula/src/bc_types.h @@ -1,12 +1,12 @@ /* Bacula® - The Network Backup Solution - Copyright (C) 2000-2007 Free Software Foundation Europe e.V. + 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 + modify it under the terms of version three of the GNU Affero General Public License as published by the Free Software Foundation and included in the file LICENSE. @@ -15,12 +15,12 @@ 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 + You should have received a copy of the GNU Affero 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. + Bacula® is a registered trademark of Kern Sibbald. The licensor of Bacula is the Free Software Foundation Europe (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, Switzerland, email:ftf@fsfeurope.org. @@ -48,6 +48,20 @@ #ifndef __bc_types_INCLUDED #define __bc_types_INCLUDED +/* + * These are the sizes of the current definitions of database + * Ids. In general, FileId_t can be set to uint64_t and it + * *should* work. Users have reported back that it does work + * for PostgreSQL. For the other types, all places in Bacula + * have been converted, but no one has actually tested it. + * In principle, the only field that really should need to be + * 64 bits is the FileId_t + */ +typedef uint64_t FileId_t; +typedef uint32_t DBId_t; /* general DB id type */ +typedef uint32_t JobId_t; + + typedef char POOLMEM; @@ -147,6 +161,31 @@ typedef u_int64_t u_intmax_t; # endif #endif +#ifndef HAVE_INTPTR_T +#define HAVE_INTPTR_T 1 +# if (SIZEOF_INT_P == 4) +typedef int32_t intptr_t; +# else +# if (SIZEOF_INT_P == 8) +typedef int64_t intptr_t; +# else +# error "Can't find sizeof pointer. Required!" +# endif +# endif +#endif + +#ifndef HAVE_UINTPTR_T +#define HAVE_UINTPTR_T 1 +# if (SIZEOF_INT_P == 4) +typedef uint32_t uintptr_t; +# else +# if (SIZEOF_INT_P == 8) +typedef uint64_t uintptr_t; +# else +# error "Can't find sizeof pointer. Required!" +# endif +# endif +#endif /* Limits for the above types. */ #undef INT8_MIN @@ -172,7 +211,6 @@ typedef u_int64_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 @@ -197,3 +235,24 @@ typedef float float32_t; #else #define sockopt_val_t void * #endif + +/* + * Status codes returned by create_file() + * Used in findlib, filed, and plugins + */ +enum { + CF_SKIP = 1, /* skip file (not newer or something) */ + CF_ERROR, /* error creating file */ + CF_EXTRACT, /* file created, data to extract */ + CF_CREATED, /* file created, no data to extract */ + CF_CORE /* let bacula core handle the file creation */ +}; + +#ifndef MAX +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + +#endif /* __bc_types_INCLUDED */