NVIDIA DRIVE OS Linux API Reference

5.1.0.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
qbpartmgr.h File Reference

Detailed Description

NVIDIA Quickboot Interface: Partition Manager

Description: This file declares the partition management operations.

Definition in file qbpartmgr.h.

Go to the source code of this file.

Data Structures

struct  QbAllocPartArgsRec
 

Macros

#define MAX_PARTITIONS_INDEX   41
 
#define MAX_NUM_PARTITIONS   (MAX_PARTITIONS_INDEX - 1)
 
#define GPT_SIZE_IN_SECTORS   33
 
#define GUEST_BOOT_PARTITION_FLAG   0x80000000
 
#define PT_LEVEL_1   (1)
 
#define PT_LEVEL_2   (2)
 

Typedefs

typedef struct QbAllocPartArgsRec QbAllocPartArgs
 

Functions

NvError QbLoadAndInitPartMgr (void)
 Loads and initializes partitions. More...
 
NvBool QbQueryThreeLevelPtInfo (void)
 Query information about 3-level PT. More...
 
NvError QbPartMgrInit (void)
 Initializes the partition manager. More...
 
void QbPartMgrDeinit (void)
 Shuts down the partition manager. More...
 
NvError QbPartMgrLoadTable (QbDriver DeviceId, NvU32 DeviceInstance, NvU64 StartLogicalByte, NvU64 NumLogicalBytes, NvBool IsSigned, NvBool IsEncrypted)
 Reads the Partition Table from specified storage device. More...
 
NvError QbPrependBootChainPrefix (NvS8 *pPartName, NvU32 Size, NvBool IsActiveChain)
 
NvError QbGetPartNameFromType (QbPartitionType PartType, NvBool IsActiveChain, NvS8 *pPartName, NvS32 PartNameBufferSize)
 
NvError QbPartMgrQueryIvcChannelInfo (NvU32 PartId, NvU32 *pIvc)
 This API is used by update library to query IVC channel info for a partition specified by partition id. More...
 
NvError QbPartMgrLoadAllPt (QbDriver DeviceId, NvU32 DeviceInstance)
 This API is used by update library to load partition table. More...
 
NvError QbPartMgrLoadSecondLevelPt (QbDriver DeviceId, NvU32 DeviceInstance)
 This API is used by the update library for loading second level PT. More...
 
void QbPartMgrLoadAllGuestPt (void)
 Iterates over the global PT for guest blobs found. More...
 
NvError QbPartMgrCreateTableStart (NvU32 NumPartitions)
 Allocates memory for partition table and fills the default PT header. More...
 
NvError QbPartMgrCreateTableFinish (void)
 Returns with a success indication if a Partition Table has been created. More...
 
NvError QbPartMgrAddTableEntry (NvU32 PartId, char *pPartName, char *pGuestPartName, QbPartInfo PartInfo, QbAllocPartArgs PartArgs)
 Adds an entry to the Partition Table. More...
 
NvError QbPartMgrSaveTable (QbDriver DeviceId, NvU32 DevInstance, NvBool SignTable, NvBool EncryptTable, NvS8 *FileName)
 Writes the Partition Table to the storage device. More...
 
NvError QbPartMgrGetIdByName (const char *PartitionName, NvU32 *PartitionId)
 Returns the partition ID for the named partition. More...
 
NvError QbPartMgrGetIdByType (QbPartitionType PartitionType, NvU32 *PartitionId)
 Returns the partition ID for the partition type. More...
 
NvError QbPartMgrGetNameById (NvU32 PartitionId, char *PartitionName)
 Returns the name of the specified partition ID. More...
 
NvError QbPartMgrGetNameByIdFromBuffer (NvU32 PartitionId, char *PartitionName, QbPartitionTable QbPartTable)
 Returns the name of the specified partition ID for the input PT buffer. More...
 
NvError QbPartMgrGetBootCompHdrPartId (NvU32 PartitionId, NvU32 *BootCompHdrPartId)
 Returns the Partition ID of the partition that has the BCH for the given partition. More...
 
NvError QbPartMgrGetPartInfo (NvU32 PartitionId, QbPartInfo *pPartInfo)
 Gets information about the location, size, and other attributes for the specified partition. More...
 
NvError QbPartMgrGetPartInfoFromBuffer (NvU32 PartitionId, QbPartInfo *pPartInfo, QbPartitionTable QbPartTable)
 Gets information about the location, size, and other attributes for the specified partition for the input PT buffer. More...
 
NvU32 QbPartMgrGetNextId (NvU32 PartitionId)
 Iterates over the partition IDs in the Partition Table. More...
 
NvU32 QbPartMgrGetNextIdFromBuffer (NvU32 PartitionId, QbPartitionTable QbPartTable)
 Iterates over the partition IDs in the input PT buffer. More...
 
NvU32 QbPartMgrGetNextIdForDeviceInstance (NvU32 DeviceId, NvU32 DeviceInstance, NvU32 PartitionId)
 Iterates over partition IDs in the Partition Table, where only certain IDs are considered. More...
 
NvError QbPartMgrGetNextDeviceInstance (NvU32 DeviceId, NvU32 DeviceInstance, NvU32 *NextDeviceId, NvU32 *NextDeviceInstance)
 Finds the next device ID and device Instance in the PT relative to the given device ID and device Instance. More...
 
NvU32 QbPartMgrGetNumPartition (void)
 Gets the number of the partition. More...
 
NvError QbPartMgrShowPT (void)
 Prints the partition table. More...
 
NvError QbDeviceGetPartitionIdByOffset (QbDriver DriverType, NvU32 Instance, NvU64 Offset, NvU32 *PartitionId)
 Finds the partition in which the given offset lies. More...
 
NvError NvLoadPtFromFile (NvS8 *pPtImagePath)
 Loads partition table from specified file. More...
 
NvError NvLoadPtFromFileToBuffer (NvS8 *pPtImagePath, NvBool IsSigned, QbPartitionTable **ppQbPartTable)
 Loads partition table from specified file to a PT buffer provided back to caller. More...