podman

Форк
0
55 строк · 2.0 Кб
1
// Copyright © 2018 Steve Francia <spf@spf13.com>.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13

14
package afero
15

16
import (
17
	"errors"
18
)
19

20
// Symlinker is an optional interface in Afero. It is only implemented by the
21
// filesystems saying so.
22
// It indicates support for 3 symlink related interfaces that implement the
23
// behaviors of the os methods:
24
//   - Lstat
25
//   - Symlink, and
26
//   - Readlink
27
type Symlinker interface {
28
	Lstater
29
	Linker
30
	LinkReader
31
}
32

33
// Linker is an optional interface in Afero. It is only implemented by the
34
// filesystems saying so.
35
// It will call Symlink if the filesystem itself is, or it delegates to, the os filesystem,
36
// or the filesystem otherwise supports Symlink's.
37
type Linker interface {
38
	SymlinkIfPossible(oldname, newname string) error
39
}
40

41
// ErrNoSymlink is the error that will be wrapped in an os.LinkError if a file system
42
// does not support Symlink's either directly or through its delegated filesystem.
43
// As expressed by support for the Linker interface.
44
var ErrNoSymlink = errors.New("symlink not supported")
45

46
// LinkReader is an optional interface in Afero. It is only implemented by the
47
// filesystems saying so.
48
type LinkReader interface {
49
	ReadlinkIfPossible(name string) (string, error)
50
}
51

52
// ErrNoReadlink is the error that will be wrapped in an os.Path if a file system
53
// does not support the readlink operation either directly or through its delegated filesystem.
54
// As expressed by support for the LinkReader interface.
55
var ErrNoReadlink = errors.New("readlink not supported")
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.