@@ -50,3 +50,12 @@ const FlushJournalFileName = ".kbfs_flush_journal"
 // DisableJournalFileName is the name of the journal-disabling
 // file. It can be reached anywhere within a top-level folder.
 const DisableJournalFileName = ".kbfs_disable_journal"
+
+// VolIconFileName is the name of the special icon file in macOS for
+// the mount.
+const VolIconFileName = ".VolumeIcon.icns"
+
+// ExtendedAttributeSelfFileName is the name of an extended attribute
+// file (on macOS) for the current (.) directory.
+// This is used to tell the root mount to look for a volume icon file.
+const ExtendedAttributeSelfFileName = "._."
// Copyright 2016 Keybase Inc. All rights reserved.
// Use of this source code is governed by a BSD
// license that can be found in the LICENSE file.

package libfs

// MetricsFileName is the name of the KBFS metrics file -- it can be
// reached from any KBFS directory.
const MetricsFileName = ".kbfs_metrics"

// ReclaimQuotaFileName is the name of the KBFS quota-reclaiming file
// -- it can be reached anywhere within a top-level folder.
const ReclaimQuotaFileName = ".kbfs_reclaim_quota"

// RekeyFileName is the name of the KBFS rekeying file -- it can be
// reached anywhere within a top-level folder.
const RekeyFileName = ".kbfs_rekey"

// StatusFileName is the name of the KBFS status file -- it can be reached
// anywhere within a top-level folder or inside the Keybase root
const StatusFileName = ".kbfs_status"

// SyncFromServerFileName is the name of the KBFS sync-from-server
// file -- it can be reached anywhere within a top-level folder.
const SyncFromServerFileName = ".kbfs_sync_from_server"

// UnstageFileName is the name of the KBFS unstaging file -- it can be
// reached anywhere within a top-level folder.
const UnstageFileName = ".kbfs_unstage"

// DisableUpdatesFileName is the name of the KBFS update-disabling
// file -- it can be reached anywhere within a top-level folder.
const DisableUpdatesFileName = ".kbfs_disable_updates"

// EnableUpdatesFileName is the name of the KBFS update-enabling
// file -- it can be reached anywhere within a top-level folder.
const EnableUpdatesFileName = ".kbfs_enable_updates"

// ResetCachesFileName is the name of the KBFS unstaging file.
const ResetCachesFileName = ".kbfs_reset_caches"

// EnableJournalFileName is the name of the journal-enabling file. It
// can be reached anywhere within a top-level folder.
const EnableJournalFileName = ".kbfs_enable_journal"

// FlushJournalFileName is the name of the journal-flushing file. It
// can be reached anywhere within a top-level folder.
const FlushJournalFileName = ".kbfs_flush_journal"

// DisableJournalFileName is the name of the journal-disabling
// file. It can be reached anywhere within a top-level folder.
const DisableJournalFileName = ".kbfs_disable_journal"

`libfs` is for code that's shared between dokan and libfuse, so I think these macOS-specific constants belong more in libfuse.