blob: 24e0db5e027af7a283499c65e5191940d81c62fe [file] [log] [blame]
/*
// Copyright (c) 2019 intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/
#pragma once
#include <boost/container/flat_map.hpp>
#include <string>
static constexpr const char* coprocessorSubClass = "Coprocessor";
static constexpr const char* otherClass = "Other";
static boost::container::flat_map<int, std::string> pciDeviceClasses{
{0x00, "UnclassifiedDevice"},
{0x01, "MassStorageController"},
{0x02, "NetworkController"},
{0x03, "DisplayController"},
{0x04, "MultimediaController"},
{0x05, "MemoryController"},
{0x06, "Bridge"},
{0x07, "CommunicationController"},
{0x08, "GenericSystemPeripheral"},
{0x09, "InputDeviceController"},
{0x0a, "DockingStation"},
{0x0b, "Processor"},
{0x0c, "SerialBusController"},
{0x0d, "WirelessController"},
{0x0e, "IntelligentController"},
{0x0f, "SatelliteCommunicationsController"},
{0x10, "EncryptionController"},
{0x11, "SignalProcessingController"},
{0x12, "ProcessingAccelerators"},
{0x13, "NonEssentialInstrumentation"},
{0xff, "UnassignedClass"},
};