X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fbaconfig.h;h=b9c6cd9719aa991451e76117d4f956ca2cb13ca0;hb=cc5a22a1c290a97349880b891252333e507e7331;hp=f160f06a0bb3656afa7fdfd1eb9c3bebbcbce26d;hpb=36a3f2c93cc02f33b571bc55c623a25a8fc440e6;p=bacula%2Fbacula diff --git a/bacula/src/baconfig.h b/bacula/src/baconfig.h index f160f06a0b..b9c6cd9719 100644 --- a/bacula/src/baconfig.h +++ b/bacula/src/baconfig.h @@ -30,6 +30,8 @@ /* Bacula common configuration defines */ +#undef TRUE +#undef FALSE #define TRUE 1 #define FALSE 0 @@ -60,9 +62,13 @@ #define _(s) gettext((s)) #define N_(s) (s) #else +#undef _ #define _(s) (s) +#undef N_ #define N_(s) (s) -#define textdomain(x) +#undef textdomain +#define textdomain(d) +/* #define bindtextdomain(p, d) */ #endif @@ -70,11 +76,14 @@ #define MAXSTRING 500 /* Maximum length to edit time/date */ -#define MAX_TIME_LENGTH 30 +#define MAX_TIME_LENGTH 50 /* Maximum Name length including EOS */ #define MAX_NAME_LENGTH 128 +/* Maximume number of user entered command args */ +#define MAX_CMD_ARGS 30 + /* All tape operations MUST be a multiple of this */ #define TAPE_BSIZE 1024 #if !defined(DEV_BSIZE) && defined(BSIZE) @@ -85,24 +94,68 @@ #define DEV_BSIZE 512 #endif -/* Maximum number of bytes that you can push into a +/* + * Maximum number of bytes that you can push into a * socket. */ #define MAX_NETWORK_BUFFER_SIZE (32 * 1024) -/* Stream definitions. Once defined these must NEVER +/* + * Stream definitions. Once defined these must NEVER * change as they go on the storage media. + * Note, the following streams are passed from the SD to the DIR + * so that they may be put into the catalog (actually only the + * stat packet part of the attr record is put in the catalog. + * + * STREAM_UNIX_ATTRIBUTES + * STREAM_UNIX_ATTRIBUTES_EX + * STREAM_MD5_SIGNATURE + * STREAM_SHA1_SIGNATURE */ -#define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */ -#define STREAM_FILE_DATA 2 /* Standard uncompressed data */ -#define STREAM_MD5_SIGNATURE 3 /* MD5 signature for the file */ -#define STREAM_GZIP_DATA 4 /* GZip compressed file data */ -#define STREAM_WIN32_ATTRIBUTES 5 /* Windows attributes (superset of Unix) */ -#define STREAM_SPARSE_DATA 6 /* Sparse data stream */ -#define STREAM_SPARSE_GZIP_DATA 7 -#define STREAM_PROGRAM_NAMES 8 /* program names for program data */ -#define STREAM_PROGRAM_DATA 9 /* Data needing program */ -#define STREAM_SHA1_SIGNATURE 10 /* SHA1 signature for the file */ +#define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */ +#define STREAM_FILE_DATA 2 /* Standard uncompressed data */ +#define STREAM_MD5_SIGNATURE 3 /* MD5 signature for the file */ +#define STREAM_GZIP_DATA 4 /* GZip compressed file data */ +/* Extended Unix attributes with Win32 Extended data. Deprecated. */ +#define STREAM_UNIX_ATTRIBUTES_EX 5 /* Extended Unix attr for Win32 EX */ +#define STREAM_SPARSE_DATA 6 /* Sparse data stream */ +#define STREAM_SPARSE_GZIP_DATA 7 +#define STREAM_PROGRAM_NAMES 8 /* program names for program data */ +#define STREAM_PROGRAM_DATA 9 /* Data needing program */ +#define STREAM_SHA1_SIGNATURE 10 /* SHA1 signature for the file */ +#define STREAM_WIN32_DATA 11 /* Win32 BackupRead data */ +#define STREAM_WIN32_GZIP_DATA 12 /* Gzipped Win32 BackupRead data */ + +/* + * File type (Bacula defined). + * NOTE!!! These are saved in the Attributes record on the tape, so + * do not change them. If need be, add to them. + * + * This is stored as 32 bits on tape, but only FT_MASK bits are + * used for the file type. The upper bits are used to indicate + * additional optional fields in the attribute record. + */ +#define FT_MASK 0xFFFF /* Bits used by FT (type) */ +#define FT_LNKSAVED 1 /* hard link to file already saved */ +#define FT_REGE 2 /* Regular file but empty */ +#define FT_REG 3 /* Regular file */ +#define FT_LNK 4 /* Soft Link */ +#define FT_DIR 5 /* Directory */ +#define FT_SPEC 6 /* Special file -- chr, blk, fifo, sock */ +#define FT_NOACCESS 7 /* Not able to access */ +#define FT_NOFOLLOW 8 /* Could not follow link */ +#define FT_NOSTAT 9 /* Could not stat file */ +#define FT_NOCHG 10 /* Incremental option, file not changed */ +#define FT_DIRNOCHG 11 /* Incremental option, directory not changed */ +#define FT_ISARCH 12 /* Trying to save archive file */ +#define FT_NORECURSE 13 /* No recursion into directory */ +#define FT_NOFSCHG 14 /* Different file system, prohibited */ +#define FT_NOOPEN 15 /* Could not open directory */ +#define FT_RAW 16 /* Raw block device */ +#define FT_FIFO 17 /* Raw fifo device */ + +/* Definitions for upper part of type word (see above). */ +#define AR_DATA_STREAM (1<<16) /* Data stream id present */ /* * Internal code for Signature types @@ -278,21 +331,21 @@ extern void _v(char *file, int line, pthread_mutex_t *m); /* Messages that are printed (uses d_msg) */ -#define Pmsg0(lvl, msg) d_msg(__FILE__, __LINE__, lvl, msg) -#define Pmsg1(lvl, msg, a1) d_msg(__FILE__, __LINE__, lvl, msg, a1) -#define Pmsg2(lvl, msg, a1, a2) d_msg(__FILE__, __LINE__, lvl, msg, a1, a2) -#define Pmsg3(lvl, msg, a1, a2, a3) d_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3) -#define Pmsg4(lvl, msg, arg1, arg2, arg3, arg4) d_msg(__FILE__, __LINE__, lvl, msg, arg1, arg2, arg3, arg4) -#define Pmsg5(lvl, msg, a1, a2, a3, a4, a5) d_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5) -#define Pmsg6(lvl, msg, a1, a2, a3, a4, a5, a6) d_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5, a6) -#define Pmsg7(lvl, msg, a1, a2, a3, a4, a5, a6, a7) d_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5, a6, a7) -#define Pmsg8(lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8) d_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8) -#define Pmsg9(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9) d_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9) -#define Pmsg10(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) d_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) -#define Pmsg11(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) d_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) -#define Pmsg12(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) d_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) -#define Pmsg13(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) d_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) -#define Pmsg14(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) d_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) +#define Pmsg0(lvl, msg) p_msg(__FILE__, __LINE__, lvl, msg) +#define Pmsg1(lvl, msg, a1) p_msg(__FILE__, __LINE__, lvl, msg, a1) +#define Pmsg2(lvl, msg, a1, a2) p_msg(__FILE__, __LINE__, lvl, msg, a1, a2) +#define Pmsg3(lvl, msg, a1, a2, a3) p_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3) +#define Pmsg4(lvl, msg, arg1, arg2, arg3, arg4) p_msg(__FILE__, __LINE__, lvl, msg, arg1, arg2, arg3, arg4) +#define Pmsg5(lvl, msg, a1, a2, a3, a4, a5) p_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5) +#define Pmsg6(lvl, msg, a1, a2, a3, a4, a5, a6) p_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5, a6) +#define Pmsg7(lvl, msg, a1, a2, a3, a4, a5, a6, a7) p_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5, a6, a7) +#define Pmsg8(lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8) p_msg(__FILE__, __LINE__, lvl, msg, a1, a2, a3, a4, a5, a6, a7, a8) +#define Pmsg9(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9) p_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9) +#define Pmsg10(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) p_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) +#define Pmsg11(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) p_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) +#define Pmsg12(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) p_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) +#define Pmsg13(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) p_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) +#define Pmsg14(lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) p_msg(__FILE__,__LINE__,lvl,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) /* Daemon Error Messages that are delivered according to the message resource */ @@ -328,19 +381,25 @@ extern void _v(char *file, int line, pthread_mutex_t *m); #define Mmsg15(buf,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) m_msg(__FILE__,__LINE__,buf,msg,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) /* Edit message into Pool Memory buffer -- no __FILE__ and __LINE__ */ -int Mmsg(char **msgbuf, char *fmt,...); +int Mmsg(POOLMEM **msgbuf, char *fmt,...); +struct JCR; void d_msg(char *file, int line, int level, char *fmt,...); +void p_msg(char *file, int line, int level, char *fmt,...); void e_msg(char *file, int line, int type, int level, char *fmt,...); -void j_msg(char *file, int line, void *vjcr, int type, int level, char *fmt,...); -int m_msg(char *file, int line, char **msgbuf, char *fmt,...); +void j_msg(char *file, int line, JCR *jcr, int type, int level, char *fmt,...); +int m_msg(char *file, int line, POOLMEM **msgbuf, char *fmt,...); /* Use our strdup with smartalloc */ #undef strdup #define strdup(buf) bad_call_on_strdup_use_bstrdup(buf) +/* Use our fgets which handles interrupts */ +#undef fgets +#define fgets(x,y,z) bfgets((x), (y), (z)) + #ifdef DEBUG #define bstrdup(str) strcpy((char *) b_malloc(__FILE__,__LINE__,strlen((str))+1),(str)) #else @@ -367,19 +426,15 @@ extern int thr_setconcurrency(int); #else + /* Not needed on most systems */ #define set_thread_concurrency(x) #endif -#ifdef HAVE_IRIX_OS -#define socklen_t int -#endif - #ifdef HAVE_DARWIN_OS -#define socklen_t int /* Apparently someone forgot to wrap getdomainname as a C function */ -extern "C" int getdomainname(char *name, size_t len); +extern "C" int getdomainname(char *name, int len); /* Darwin lib fnmatch() doesn't work, so use our own */ #undef HAVE_FNMATCH @@ -391,11 +446,9 @@ extern "C" int getdomainname(char *name, size_t len); #endif #ifdef HAVE_AIX_OS -#define crid_t int -#define class_id_t unsigned int #endif - +/* This probably should be done on a machine by machine basic, but it works */ #define ALIGN_SIZE (sizeof(double)) #define BALIGN(x) (((x) + ALIGN_SIZE - 1) & ~(ALIGN_SIZE -1)) @@ -414,9 +467,4 @@ extern "C" int getdomainname(char *name, size_t len); #define REPLACE_NEVER 'n' #define REPLACE_IFOLDER 'o' -#ifdef __SVR4 -#undef socklen_t -#define socklen_t int -#endif - #endif /* _BACONFIG_H */