+/* FileSet definitions very similar to the resource
+ * contained in the Director because the components
+ * of the structure are passed by the Director to the
+ * File daemon and recompiled back into this structure
+ */
+#undef MAX_FOPTS
+#define MAX_FOPTS 30
+
+enum {
+ state_none,
+ state_options,
+ state_include,
+ state_error
+};
+
+/* File options structure */
+struct findFOPTS {
+ uint32_t flags; /* options in bits */
+ int GZIP_level; /* GZIP level */
+ int strip_path; /* strip path count */
+ char VerifyOpts[MAX_FOPTS]; /* verify options */
+ alist regex; /* regex string(s) */
+ alist regexdir; /* regex string(s) for directories */
+ alist regexfile; /* regex string(s) for files */
+ alist wild; /* wild card strings */
+ alist wilddir; /* wild card strings for directories */
+ alist wildfile; /* wild card strings for files */
+ alist wildbase; /* wild card strings for basenames */
+ alist base; /* list of base names */
+ alist fstype; /* file system type limitation */
+ alist drivetype; /* drive type limitation */
+ char *reader; /* reader program */
+ char *writer; /* writer program */
+};
+
+
+/* This is either an include item or an exclude item */
+struct findINCEXE {
+ findFOPTS *current_opts; /* points to current options structure */
+ alist opts_list; /* options list */
+ dlist name_list; /* filename list -- holds dlistString */
+};
+
+/*
+ * FileSet Resource
+ *
+ */
+struct findFILESET {
+ int state;
+ findINCEXE *incexe; /* current item */
+ alist include_list;
+ alist exclude_list;
+};
+
+#ifdef HAVE_DARWIN_OS
+struct HFSPLUS_INFO {
+ unsigned long length; /* Mandatory field */
+ char fndrinfo[32]; /* Finder Info */
+ off_t rsrclength; /* Size of resource fork */
+};
+#endif