summaryrefslogtreecommitdiff
path: root/genisoimage/match.h
diff options
context:
space:
mode:
Diffstat (limited to 'genisoimage/match.h')
-rw-r--r--genisoimage/match.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/genisoimage/match.h b/genisoimage/match.h
new file mode 100644
index 0000000..2894af9
--- /dev/null
+++ b/genisoimage/match.h
@@ -0,0 +1,91 @@
+/*
+ * This file has been modified for the cdrkit suite.
+ *
+ * The behaviour and appearence of the program code below can differ to a major
+ * extent from the version distributed by the original author(s).
+ *
+ * For details, see Changelog file distributed with the cdrkit package. If you
+ * received this file from another source then ask the distributing person for
+ * a log of modifications.
+ *
+ */
+
+/* @(#)match.h 1.9 04/05/23 joerg */
+/*
+ * 27th March 1996. Added by Jan-Piet Mens for matching regular expressions
+ * in paths.
+ *
+ */
+
+#include "fnmatch.h"
+
+#ifdef SORTING
+#include <limits.h>
+#define NOT_SORTED INT_MIN
+
+#ifdef MAX /* May be defined in param.h */
+#undef MAX
+#endif
+#define MAX(A, B) (A) > (B) ? (A) : (B)
+#endif
+
+#define EXCLUDE 0 /* Exclude file completely */
+#define I_HIDE 1 /* ISO9660/Rock Ridge hide */
+#define J_HIDE 2 /* Joliet hide */
+#define H_HIDE 3 /* ISO9660 hidden bit set */
+
+#ifdef APPLE_HYB
+#define HFS_HIDE 4 /* HFS hide */
+#define MAX_MAT 5
+#else
+#define MAX_MAT 4
+#endif /* APPLE_HYB */
+
+extern int gen_add_match(char *fn, int n);
+extern int gen_matches(char *fn, int n);
+extern void gen_add_list(char *fn, int n);
+extern int gen_ishidden(int n);
+extern void gen_del_match(int n);
+
+#ifdef SORTING
+extern int add_sort_match(char *fn, int val);
+extern void add_sort_list(char *fn);
+extern int sort_matches(char *fn, int val);
+extern void del_sort(void);
+#endif /* SORTING */
+
+/*
+ * The following are for compatiblity with the separate routines - the
+ * main code should be changed to call the generic routines directly
+ */
+
+/* filenames to be excluded */
+#define add_match(FN) gen_add_match((FN), EXCLUDE)
+#define add_list(FN) gen_add_list((FN), EXCLUDE)
+#define matches(FN) gen_matches((FN), EXCLUDE)
+
+/* ISO9660/Rock Ridge filenames to be hidden */
+#define i_add_match(FN) gen_add_match((FN), I_HIDE)
+#define i_add_list(FN) gen_add_list((FN), I_HIDE)
+#define i_matches(FN) gen_matches((FN), I_HIDE)
+#define i_ishidden() gen_ishidden(I_HIDE)
+
+/* Joliet filenames to be hidden */
+#define j_add_match(FN) gen_add_match((FN), J_HIDE)
+#define j_add_list(FN) gen_add_list((FN), J_HIDE)
+#define j_matches(FN) gen_matches((FN), J_HIDE)
+#define j_ishidden() gen_ishidden(J_HIDE)
+
+/* ISO9660 "hidden" files */
+#define h_add_match(FN) gen_add_match((FN), H_HIDE)
+#define h_add_list(FN) gen_add_list((FN), H_HIDE)
+#define h_matches(FN) gen_matches((FN), H_HIDE)
+#define h_ishidden() gen_ishidden(H_HIDE)
+
+#ifdef APPLE_HYB
+/* HFS filenames to be hidden */
+#define hfs_add_match(FN) gen_add_match((FN), HFS_HIDE)
+#define hfs_add_list(FN) gen_add_list((FN), HFS_HIDE)
+#define hfs_matches(FN) gen_matches((FN), HFS_HIDE)
+#define hfs_ishidden() gen_ishidden(HFS_HIDE)
+#endif /* APPLE_HYB */