Imported Upstream version 2.5.2p1
[debian/amanda] / server-src / conffile.h
diff --git a/server-src/conffile.h b/server-src/conffile.h
deleted file mode 100644 (file)
index 1bb3043..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * Amanda, The Advanced Maryland Automatic Network Disk Archiver
- * Copyright (c) 1991-2000 University of Maryland at College Park
- * All Rights Reserved.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of U.M. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  U.M. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- *
- * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.
- * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: James da Silva, Systems Design and Analysis Group
- *                        Computer Science Department
- *                        University of Maryland at College Park
- */
-/*
- * $Id: conffile.h,v 1.72.2.3 2006/11/09 14:35:10 martinea Exp $
- *
- * interface for config file reading code
- */
-#ifndef CONFFILE_H
-#define CONFFILE_H
-
-#include "amanda.h"
-#include "util.h"
-
-#define CONFFILE_NAME "amanda.conf"
-
-typedef enum {
-    CNF_ORG,
-    CNF_MAILTO,
-    CNF_DUMPUSER,
-    CNF_TAPEDEV,
-    CNF_CHNGRDEV,
-    CNF_CHNGRFILE,
-    CNF_LABELSTR,
-    CNF_TAPELIST,
-    CNF_DISKFILE,
-    CNF_INFOFILE,
-    CNF_LOGDIR,
-    CNF_INDEXDIR,
-    CNF_TAPETYPE,
-    CNF_DUMPCYCLE,
-    CNF_RUNSPERCYCLE,
-    CNF_TAPECYCLE,
-    CNF_NETUSAGE,
-    CNF_INPARALLEL,
-    CNF_DUMPORDER,
-    CNF_BUMPPERCENT,
-    CNF_BUMPSIZE,
-    CNF_BUMPMULT,
-    CNF_BUMPDAYS,
-    CNF_TPCHANGER,
-    CNF_RUNTAPES,
-    CNF_MAXDUMPS,
-    CNF_ETIMEOUT,
-    CNF_DTIMEOUT,
-    CNF_CTIMEOUT,
-    CNF_TAPEBUFS,
-    CNF_RAWTAPEDEV,
-    CNF_PRINTER,
-    CNF_AUTOFLUSH,
-    CNF_RESERVE,
-    CNF_MAXDUMPSIZE,
-    CNF_COLUMNSPEC,
-    CNF_AMRECOVER_DO_FSF,
-    CNF_AMRECOVER_CHECK_LABEL,
-    CNF_AMRECOVER_CHANGER,
-    CNF_TAPERALGO,
-    CNF_DISPLAYUNIT,
-    CNF_KRB5KEYTAB,
-    CNF_KRB5PRINCIPAL,
-    CNF_LABEL_NEW_TAPES,
-    CNF_USETIMESTAMPS,
-    CNF_CNF
-} confparm_t;
-
-typedef enum tapetype_e  {
-    TAPETYPE_COMMENT,
-    TAPETYPE_LBL_TEMPL,
-    TAPETYPE_BLOCKSIZE,
-    TAPETYPE_LENGTH,
-    TAPETYPE_FILEMARK,
-    TAPETYPE_SPEED,
-    TAPETYPE_FILE_PAD,
-    TAPETYPE_TAPETYPE
-} tapetype_ee;
-
-typedef struct tapetype_s {
-    struct tapetype_s *next;
-    int seen;
-    char *name;
-
-    val_t value[TAPETYPE_TAPETYPE];
-} tapetype_t;
-
-#define tapetype_get(tapetype, field) (tapetype->field)
-#define tapetype_get_name(tapetype) tapetype->name
-#define tapetype_get_seen(tapetype) tapetype->seen
-#define tapetype_get_comment(tapetype)   get_conftype_string(&tapetype->value[TAPETYPE_COMMENT])
-#define tapetype_get_lbl_templ(tapetype) get_conftype_string(&tapetype->value[TAPETYPE_LBL_TEMPL])
-#define tapetype_get_blocksize(tapetype) get_conftype_size  (&tapetype->value[TAPETYPE_BLOCKSIZE])
-#define tapetype_get_length(tapetype)    get_conftype_am64  (&tapetype->value[TAPETYPE_LENGTH])
-#define tapetype_get_filemark(tapetype)  get_conftype_am64  (&tapetype->value[TAPETYPE_FILEMARK])
-#define tapetype_get_speed(tapetype)     get_conftype_int   (&tapetype->value[TAPETYPE_SPEED])
-#define tapetype_get_file_pad(tapetype)  get_conftype_bool  (&tapetype->value[TAPETYPE_FILE_PAD])
-
-/* Dump strategies */
-#define DS_SKIP                0       /* Don't do any dumps at all */
-#define DS_STANDARD    1       /* Standard (0 1 1 1 1 2 2 2 ...) */
-#define DS_NOFULL      2       /* No full's (1 1 1 ...) */
-#define DS_NOINC       3       /* No inc's (0 0 0 ...) */
-#define DS_4           4       /* ? (0 1 2 3 4 5 6 7 8 9 10 11 ...) */
-#define DS_5           5       /* ? (0 1 1 1 1 1 1 1 1 1 1 1 ...) */
-#define DS_HANOI       6       /* Tower of Hanoi (? ? ? ? ? ...) */
-#define DS_INCRONLY    7       /* Forced fulls (0 1 1 2 2 FORCE0 1 1 ...) */
-
-/* Estimate strategies */
-#define ES_CLIENT      0       /* client estimate */
-#define ES_SERVER      1       /* server estimate */
-#define ES_CALCSIZE    2       /* calcsize estimate */
-
-#define ALGO_FIRST     0
-#define ALGO_FIRSTFIT  1
-#define ALGO_LARGEST   2
-#define ALGO_LARGESTFIT        3
-#define ALGO_SMALLEST  4
-#define ALGO_LAST      5
-
-typedef enum dumptype_e  {
-    DUMPTYPE_COMMENT,
-    DUMPTYPE_PROGRAM,
-    DUMPTYPE_SRVCOMPPROG,
-    DUMPTYPE_CLNTCOMPPROG,
-    DUMPTYPE_SRV_ENCRYPT,
-    DUMPTYPE_CLNT_ENCRYPT,
-    DUMPTYPE_AMANDAD_PATH,
-    DUMPTYPE_CLIENT_USERNAME,
-    DUMPTYPE_SSH_KEYS,
-    DUMPTYPE_SECURITY_DRIVER,
-    DUMPTYPE_EXCLUDE,
-    DUMPTYPE_INCLUDE,
-    DUMPTYPE_PRIORITY,
-    DUMPTYPE_DUMPCYCLE,
-    DUMPTYPE_MAXDUMPS,
-    DUMPTYPE_MAXPROMOTEDAY,
-    DUMPTYPE_BUMPPERCENT,
-    DUMPTYPE_BUMPSIZE,
-    DUMPTYPE_BUMPDAYS,
-    DUMPTYPE_BUMPMULT,
-    DUMPTYPE_STARTTIME,
-    DUMPTYPE_STRATEGY,
-    DUMPTYPE_ESTIMATE,
-    DUMPTYPE_COMPRESS,
-    DUMPTYPE_ENCRYPT,
-    DUMPTYPE_SRV_DECRYPT_OPT,
-    DUMPTYPE_CLNT_DECRYPT_OPT,
-    DUMPTYPE_COMPRATE,
-    DUMPTYPE_TAPE_SPLITSIZE,
-    DUMPTYPE_FALLBACK_SPLITSIZE,
-    DUMPTYPE_SPLIT_DISKBUFFER,
-    DUMPTYPE_RECORD,
-    DUMPTYPE_SKIP_INCR,
-    DUMPTYPE_SKIP_FULL,
-    DUMPTYPE_HOLDINGDISK,
-    DUMPTYPE_KENCRYPT,
-    DUMPTYPE_IGNORE,
-    DUMPTYPE_INDEX,
-    DUMPTYPE_DUMPTYPE
-} dumptype_ee;
-
-typedef struct dumptype_s {
-    struct dumptype_s *next;
-    int seen;
-    char *name;
-
-    val_t value[DUMPTYPE_DUMPTYPE];
-} dumptype_t;
-
-#define dumptype_get_name(dumptype) dumptype->name
-#define dumptype_get_seen(dumptype) dumptype->seen
-#define dumptype_get_comment(dumptype)            get_conftype_string   (&dumptype->value[DUMPTYPE_COMMENT])
-#define dumptype_get_program(dumptype)            get_conftype_string   (&dumptype->value[DUMPTYPE_PROGRAM])
-#define dumptype_get_srvcompprog(dumptype)        get_conftype_string   (&dumptype->value[DUMPTYPE_SRVCOMPPROG])
-#define dumptype_get_clntcompprog(dumptype)       get_conftype_string   (&dumptype->value[DUMPTYPE_CLNTCOMPPROG])
-#define dumptype_get_srv_encrypt(dumptype)        get_conftype_string   (&dumptype->value[DUMPTYPE_SRV_ENCRYPT])
-#define dumptype_get_clnt_encrypt(dumptype)       get_conftype_string   (&dumptype->value[DUMPTYPE_CLNT_ENCRYPT])
-#define dumptype_get_amandad_path(dumptype)       get_conftype_string   (&dumptype->value[DUMPTYPE_AMANDAD_PATH])
-#define dumptype_get_client_username(dumptype)    get_conftype_string   (&dumptype->value[DUMPTYPE_CLIENT_USERNAME])
-#define dumptype_get_ssh_keys(dumptype)           get_conftype_string   (&dumptype->value[DUMPTYPE_SSH_KEYS])
-#define dumptype_get_security_driver(dumptype)    get_conftype_string   (&dumptype->value[DUMPTYPE_SECURITY_DRIVER])
-#define dumptype_get_exclude(dumptype)            get_conftype_exinclude(&dumptype->value[DUMPTYPE_EXCLUDE])
-#define dumptype_get_include(dumptype)            get_conftype_exinclude(&dumptype->value[DUMPTYPE_INCLUDE])
-#define dumptype_get_priority(dumptype)           get_conftype_priority (&dumptype->value[DUMPTYPE_PRIORITY])
-#define dumptype_get_dumpcycle(dumptype)          get_conftype_int      (&dumptype->value[DUMPTYPE_DUMPCYCLE])
-#define dumptype_get_maxcycle(dumptype)           get_conftype_int      (&dumptype->value[DUMPTYPE_MAXCYCLE])
-#define dumptype_get_frequency(dumptype)          get_conftype_int      (&dumptype->value[DUMPTYPE_FREQUENCY])
-#define dumptype_get_maxdumps(dumptype)           get_conftype_int      (&dumptype->value[DUMPTYPE_MAXDUMPS])
-#define dumptype_get_maxpromoteday(dumptype)      get_conftype_int      (&dumptype->value[DUMPTYPE_MAXPROMOTEDAY])
-#define dumptype_get_bumppercent(dumptype)        get_conftype_int      (&dumptype->value[DUMPTYPE_BUMPPERCENT])
-#define dumptype_get_bumpsize(dumptype)           get_conftype_am64     (&dumptype->value[DUMPTYPE_BUMPSIZE])
-#define dumptype_get_bumpdays(dumptype)           get_conftype_int      (&dumptype->value[DUMPTYPE_BUMPDAYS])
-#define dumptype_get_bumpmult(dumptype)           get_conftype_real     (&dumptype->value[DUMPTYPE_BUMPMULT])
-#define dumptype_get_starttime(dumptype)          get_conftype_time     (&dumptype->value[DUMPTYPE_STARTTIME])
-#define dumptype_get_strategy(dumptype)           get_conftype_strategy (&dumptype->value[DUMPTYPE_STRATEGY])
-#define dumptype_get_estimate(dumptype)           get_conftype_estimate (&dumptype->value[DUMPTYPE_ESTIMATE])
-#define dumptype_get_compress(dumptype)           get_conftype_compress (&dumptype->value[DUMPTYPE_COMPRESS])
-#define dumptype_get_encrypt(dumptype)            get_conftype_encrypt  (&dumptype->value[DUMPTYPE_ENCRYPT])
-#define dumptype_get_srv_decrypt_opt(dumptype)    get_conftype_string   (&dumptype->value[DUMPTYPE_SRV_DECRYPT_OPT])
-#define dumptype_get_clnt_decrypt_opt(dumptype)   get_conftype_string   (&dumptype->value[DUMPTYPE_CLNT_DECRYPT_OPT])
-#define dumptype_get_comprate(dumptype)                                   dumptype->value[DUMPTYPE_COMPRATE].v.rate
-#define dumptype_get_tape_splitsize(dumptype)     get_conftype_am64     (&dumptype->value[DUMPTYPE_TAPE_SPLITSIZE])
-#define dumptype_get_fallback_splitsize(dumptype) get_conftype_am64     (&dumptype->value[DUMPTYPE_FALLBACK_SPLITSIZE])
-#define dumptype_get_split_diskbuffer(dumptype)   get_conftype_string   (&dumptype->value[DUMPTYPE_SPLIT_DISKBUFFER])
-#define dumptype_get_record(dumptype)             get_conftype_bool     (&dumptype->value[DUMPTYPE_RECORD])
-#define dumptype_get_skip_incr(dumptype)          get_conftype_bool     (&dumptype->value[DUMPTYPE_SKIP_INCR])
-#define dumptype_get_skip_full(dumptype)          get_conftype_bool     (&dumptype->value[DUMPTYPE_SKIP_FULL])
-#define dumptype_get_to_holdingdisk(dumptype)     get_conftype_hold     (&dumptype->value[DUMPTYPE_HOLDINGDISK])
-#define dumptype_get_kencrypt(dumptype)           get_conftype_bool     (&dumptype->value[DUMPTYPE_KENCRYPT])
-#define dumptype_get_ignore(dumptype)             get_conftype_bool     (&dumptype->value[DUMPTYPE_IGNORE])
-#define dumptype_get_index(dumptype)              get_conftype_bool     (&dumptype->value[DUMPTYPE_INDEX])
-
-/* A network interface */
-typedef enum interface_e  {
-    INTER_COMMENT,
-    INTER_MAXUSAGE,
-    INTER_INTER
-} interface_ee;
-
-
-typedef struct interface_s {
-    struct interface_s *next;
-    int seen;
-    char *name;
-
-    val_t value[INTER_INTER];
-
-    unsigned long curusage;            /* current usage */
-} interface_t;
-
-#define interface_get_name(interface) interface->name
-#define interface_get_seen(interface) interface->seen
-#define interface_get_comment(interface)  get_conftype_string(&interface->value[INTER_COMMENT])
-#define interface_get_maxusage(interface) get_conftype_int   (&interface->value[INTER_MAXUSAGE])
-
-/* A holding disk */
-typedef enum holdingdisk_e  {
-    HOLDING_COMMENT,
-    HOLDING_DISKDIR,
-    HOLDING_DISKSIZE,
-    HOLDING_CHUNKSIZE,
-    HOLDING_HOLDING
-} holdingdisk_ee;
-
-typedef struct holdingdisk_s {
-    struct holdingdisk_s *next;
-    int seen;
-    char *name;
-
-    val_t value[HOLDING_HOLDING];
-
-    void *up;                  /* generic user pointer */
-    off_t disksize;
-} holdingdisk_t;
-
-#define holdingdisk_get_name(holdingdisk) (holdingdisk)->name
-#define holdingdisk_get_seen(holdingdisk) (holdingdisk)->seen
-#define holdingdisk_get_comment(holdingdisk)   get_conftype_string(&(holdingdisk)->value[HOLDING_COMMENT])
-#define holdingdisk_get_diskdir(holdingdisk)   get_conftype_string(&(holdingdisk)->value[HOLDING_DISKDIR])
-#define holdingdisk_get_disksize(holdingdisk)  get_conftype_am64  (&(holdingdisk)->value[HOLDING_DISKSIZE])
-#define holdingdisk_get_chunksize(holdingdisk) get_conftype_am64  (&(holdingdisk)->value[HOLDING_CHUNKSIZE])
-
-/* for each column we define some values on how to
- * format this column element
- */
-typedef struct {
-    char *Name;                /* column name */
-    int PrefixSpace;   /* the blank space to print before this
-                        * column. It is used to get the space
-                        * between the colums
-                        */
-    int Width;         /* the width of the column itself */
-    int Precision;     /* the precision if its a float */
-    int MaxWidth;      /* if set, Width will be recalculated
-                        * to the space needed */
-    char *Format;      /* the printf format string for this
-                        * column element
-                        */
-    char *Title;       /* the title to use for this column */
-} ColumnInfo;
-
-/* this corresponds to the normal output of amanda, but may
- * be adapted to any spacing as you like.
- */
-extern ColumnInfo ColumnData[];
-
-extern char *config_name;
-extern char *config_dir;
-
-extern holdingdisk_t *holdingdisks;
-extern int num_holdingdisks;
-
-void parse_server_conf(int parse_argc, char **parse_argv, int *new_argc,
-                      char ***new_argv);
-char **get_config_options(int);
-void report_bad_conf_arg(void);
-void free_server_config(void);
-
-int read_conffile(char *filename);
-int getconf_seen(confparm_t parameter);
-int getconf_boolean(confparm_t parameter);
-int getconf_int(confparm_t parameter);
-long getconf_long(confparm_t parameter);
-ssize_t getconf_size(confparm_t parameter);
-time_t getconf_time(confparm_t parameter);
-off_t getconf_am64(confparm_t parameter);
-double getconf_real(confparm_t parameter);
-char *getconf_str(confparm_t parameter);
-int getconf_taperalgo(confparm_t parameter);
-char *getconf_byname(char *confname);
-char *getconf_list(char *listname);
-dumptype_t *lookup_dumptype(char *identifier);
-dumptype_t *read_dumptype(char *name, FILE *from, char *fname, int *linenum);
-tapetype_t *lookup_tapetype(char *identifier);
-holdingdisk_t *lookup_holdingdisk(char *identifier);
-interface_t *lookup_interface(char *identifier);
-holdingdisk_t *getconf_holdingdisks(void);
-long int getconf_unit_divisor(void);
-void dump_configuration(char *filename);
-int ColumnDataCount(void);
-int StringToColumn(char *s);
-char LastChar(char *s);
-int SetColumDataFromString(ColumnInfo* ci, char *s, char **errstr);
-
-/* this is in securityconf.h */
-char *generic_get_security_conf(char *, void *);
-#endif /* ! CONFFILE_H */