fstab.go 736 B

1234567891011121314151617181920212223242526272829303132333435
  1. package openngvfs
  2. import (
  3. "fmt"
  4. "github.com/BurntSushi/toml"
  5. "os"
  6. )
  7. type RawFsTab struct {
  8. Wasm struct {
  9. Default string `toml:"default"`
  10. App map[string]string `toml:"app"`
  11. } `toml:"wasm"`
  12. ExKV struct {
  13. Default map[string]string `toml:"default"`
  14. App map[string]map[string]string `toml:"app"`
  15. } `toml:"exkv"`
  16. }
  17. func loadFsTab(path string) (*RawFsTab, error) {
  18. var fstab RawFsTab
  19. ftBin, err := os.ReadFile(path)
  20. if err != nil {
  21. return nil, fmt.Errorf("failed read fstab.toml: %w", err)
  22. }
  23. err = toml.Unmarshal(ftBin, &fstab)
  24. if err != nil {
  25. return nil, fmt.Errorf("failed parse fstab.toml: %w", err)
  26. }
  27. return &fstab, nil
  28. }
  29. type ProcessedFsTab struct {
  30. ExKV map[string]string
  31. }