File: windowsbase.go

package info (click to toggle)
golang-github-apparentlymart-go-userdirs 0.0~git20200915.b0c018a-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 184 kB
  • sloc: makefile: 2
file content (35 lines) | stat: -rw-r--r-- 1,126 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package windowsbase

// FolderID is a representation of a known folder id UUID
type FolderID struct {
	a uint32
	b uint16
	c uint16
	d [8]byte
}

var (
	// RoamingAppDataID is the FolderID for the roaming application data folder
	RoamingAppDataID = &FolderID{0x3EB685DB, 0x65F9, 0x4CF6, [...]byte{0xA0, 0x3A, 0xE3, 0xEF, 0x65, 0x72, 0x9F, 0x3D}}

	// LocalAppDataID is the FolderID for the local application data folder
	LocalAppDataID = &FolderID{0xF1B32785, 0x6FBA, 0x4FCF, [...]byte{0x9D, 0x55, 0x7B, 0x8E, 0x7F, 0x15, 0x70, 0x91}}
)

// KnownFolderDir returns the absolute path for the given known folder id, or
// returns an error if that is not possible.
func KnownFolderDir(id *FolderID) (string, error) {
	return knownFolderDir(id)
}

// RoamingAppDataDir returns the absolute path for the current user's roaming
// application data directory.
func RoamingAppDataDir() (string, error) {
	return KnownFolderDir(RoamingAppDataID)
}

// LocalAppDataDir returns the absolute path for the current user's local
// application data directory.
func LocalAppDataDir() (string, error) {
	return KnownFolderDir(LocalAppDataID)
}