<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-legacy-support.

</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/291c6bbe9df5e7075900ffe9a1ef081bec8ba961">https://github.com/macports/macports-legacy-support/commit/291c6bbe9df5e7075900ffe9a1ef081bec8ba961</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 291c6bb  add copyfile.h for Tiger
</span>291c6bb is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 291c6bbe9df5e7075900ffe9a1ef081bec8ba961
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Fri Sep 17 17:18:00 2021 -0700

<span style='display:block; white-space:pre;color:#404040;'>    add copyfile.h for Tiger
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    turns out the the symbols are actually in libSystem.dylib
</span><span style='display:block; white-space:pre;color:#404040;'>    on Tiger, just needs the header for support
</span>---
 tiger_only/include/copyfile.h | 102 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tiger_only/include/copyfile.h b/tiger_only/include/copyfile.h
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..8a0c6ad
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tiger_only/include/copyfile.h
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,102 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * @APPLE_LICENSE_HEADER_START@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This file contains Original Code and/or Modifications of Original Code
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * as defined in and that are subject to the Apple Public Source License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Version 2.0 (the 'License'). You may not use this file except in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * compliance with the License. Please obtain a copy of the License at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * http://www.opensource.apple.com/apsl/ and read it before using this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * The Original Code and all software distributed under the License are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Please see the License for the specific language governing rights and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * limitations under the License.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * @APPLE_LICENSE_HEADER_END@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#ifndef _COPYFILE_H_ /* version 0.1 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define _COPYFILE_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * this is an API to faciliatate copying of files and their
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * associated metadata.  There are several open source projects that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * need modifications to support preserving extended attributes and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * acls and this API collapses several hundred lines of modifications
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * into one or two calls.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * This implementation is incomplete and the interface may change in a 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * future release.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* private */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <sys/cdefs.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+__BEGIN_DECLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+struct _copyfile_state;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef struct _copyfile_state * copyfile_state_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef uint32_t copyfile_flags_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* public */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* receives:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *   from  path to source file system object
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *   to            path to destination file system object
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *   state opaque blob for future extensibility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *         Must be NULL in current implementation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *   flags (described below)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * returns:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *   int   negative for error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int copyfile(const char *from, const char *to, copyfile_state_t state, copyfile_flags_t flags);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int fcopyfile(int from_fd, int to_fd, copyfile_state_t, copyfile_flags_t flags);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int copyfile_state_free(copyfile_state_t);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+copyfile_state_t copyfile_state_alloc(void);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int copyfile_state_get(copyfile_state_t s, uint32_t flag, void * dst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_STATE_SRC_FD              1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_STATE_SRC_FILENAME        2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_STATE_DST_FD              3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_STATE_DST_FILENAME        4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_STATE_QUARANTINE  5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define    COPYFILE_DISABLE_VAR    "COPYFILE_DISABLE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/* flags for copyfile */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_ACL           (1<<0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_STAT          (1<<1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_XATTR         (1<<2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_DATA          (1<<3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_SECURITY   (COPYFILE_STAT | COPYFILE_ACL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_METADATA   (COPYFILE_SECURITY | COPYFILE_XATTR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_ALL           (COPYFILE_METADATA | COPYFILE_DATA)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_CHECK             (1<<16) /* return flags for xattr or acls if set */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_EXCL              (1<<17) /* fail if destination exists */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_NOFOLLOW_SRC      (1<<18) /* don't follow if source is a symlink */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_NOFOLLOW_DST      (1<<19) /* don't follow if dst is a symlink */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_MOVE              (1<<20) /* unlink src after copy */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_UNLINK            (1<<21) /* unlink dst before copy */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_NOFOLLOW  (COPYFILE_NOFOLLOW_SRC | COPYFILE_NOFOLLOW_DST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_PACK              (1<<22)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_UNPACK            (1<<23)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#define COPYFILE_VERBOSE   (1<<30)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+__END_DECLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* _COPYFILE_H_ */
</span></pre><pre style='margin:0'>

</pre>