]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/parse_conf.h
Add const for Solaris' C++ compiler
[bacula/bacula] / bacula / src / lib / parse_conf.h
index 1227d0a937e30272fa8ccf23372dd4d8ea1299f6..fe4be0fc048f0e926f62b96f96c6a78eec70b7bb 100644 (file)
@@ -30,7 +30,7 @@ typedef void (MSG_RES_HANDLER)(LEX *lc, struct res_items *item, int index, int p
  * tables.
  */
 struct res_items {
-   char *name;                        /* Resource name i.e. Director, ... */
+   const char *name;                  /* Resource name i.e. Director, ... */
    MSG_RES_HANDLER *handler;          /* Routine storing the resource item */
    void **value;                      /* Where to store the item */
    int  code;                         /* item code/additional info */
@@ -63,7 +63,7 @@ struct RES {
  * resources that are available to this daemon.
  */
 struct s_res {       
-   char *name;                        /* resource name */
+   const char *name;                  /* resource name */
    struct res_items *items;           /* list of resource keywords */
    int rcode;                         /* code if needed */
    RES *res_head;                     /* where to store it */
@@ -109,7 +109,17 @@ void dump_resource(int type, RES *res, void sendmsg(void *sock, char *fmt, ...),
 void free_resource(int type);
 void init_resource(int type, struct res_items *item);
 void save_resource(int type, struct res_items *item, int pass);
-char *res_to_str(int rcode);
+const char *res_to_str(int rcode);
+
+/* Loop through each resource of type, returning in var */
+#define foreach_res(var, type) \
+    for(var=NULL; (*((void **)&(var))=(void *)GetNextRes((type), (RES *)var));) 
+
+#ifdef the_old_way
+#define foreach_res(var, type) \
+        for((var)=NULL; (((void *)(var))=GetNextRes((type), (RES *)var));) 
+#endif
+
 
 void store_str(LEX *lc, struct res_items *item, int index, int pass);
 void store_dir(LEX *lc, struct res_items *item, int index, int pass);
@@ -124,3 +134,4 @@ void store_int64(LEX *lc, struct res_items *item, int index, int pass);
 void store_yesno(LEX *lc, struct res_items *item, int index, int pass);
 void store_time(LEX *lc, struct res_items *item, int index, int pass);
 void store_size(LEX *lc, struct res_items *item, int index, int pass);
+void store_defs(LEX *lc, struct res_items *item, int index, int pass);