/* For storing name_addr items in res_items table */
#define ITEM(x) ((void **)&res_all.x)
-#define MAX_RES_ITEMS 32 /* maximum resource items per RES */
+#define MAX_RES_ITEMS 50 /* maximum resource items per RES */
/* This is the universal header that is
* at the beginning of every resource
void save_resource(int type, struct res_items *item, int pass);
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);
void store_password(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);