12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package sysctl
- import (
- "strings"
- )
- type Namespace string
- const (
-
- IpcNamespace = Namespace("ipc")
-
- NetNamespace = Namespace("net")
-
- UnknownNamespace = Namespace("")
- )
- var namespaces = map[string]Namespace{
- "kernel.sem": IpcNamespace,
- }
- var prefixNamespaces = map[string]Namespace{
- "kernel.shm": IpcNamespace,
- "kernel.msg": IpcNamespace,
- "fs.mqueue.": IpcNamespace,
- "net.": NetNamespace,
- }
- func NamespacedBy(val string) Namespace {
- if ns, found := namespaces[val]; found {
- return ns
- }
- for p, ns := range prefixNamespaces {
- if strings.HasPrefix(val, p) {
- return ns
- }
- }
- return UnknownNamespace
- }
|