func readCapabilities()

in providers/linux/capabilities_linux.go [86:122]


func readCapabilities(content []byte) (*types.CapabilityInfo, error) {
	var cap types.CapabilityInfo

	err := parseKeyValue(content, ':', func(key, value []byte) error {
		var err error
		switch string(key) {
		case "CapInh":
			cap.Inheritable, err = decodeBitMap(string(value), capabilityName)
			if err != nil {
				return err
			}
		case "CapPrm":
			cap.Permitted, err = decodeBitMap(string(value), capabilityName)
			if err != nil {
				return err
			}
		case "CapEff":
			cap.Effective, err = decodeBitMap(string(value), capabilityName)
			if err != nil {
				return err
			}
		case "CapBnd":
			cap.Bounding, err = decodeBitMap(string(value), capabilityName)
			if err != nil {
				return err
			}
		case "CapAmb":
			cap.Ambient, err = decodeBitMap(string(value), capabilityName)
			if err != nil {
				return err
			}
		}
		return nil
	})

	return &cap, err
}