NVIDIA DRIVE OS Linux SDK API Reference

6.0.9 Release

Detailed Description

Specifies NvSciBuf data structures.

Data Structures

struct  NvSciBufAttrKeyValuePair
 This structure defines a key/value pair used to get or set the NvSciBufAttrKey(s) and their corresponding values from or to NvSciBufAttrList. More...
 

Typedefs

typedef struct NvSciBufModuleRec * NvSciBufModule
 top-level container for the following set of resources: NvSciBufAttrLists, memory objects, and NvSciBufObjs. More...
 
typedef struct NvSciBufObjRefRec * NvSciBufObj
 A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the buffer, the handle of the allocated buffer enforcing the buffer access permissions represented by NvSciBufGeneralAttrKey_ActualPerm key in reconciled NvSciBufAttrList and the buffer properties. More...
 
typedef const struct NvSciBufObjRefRec * NvSciBufObjConst
 A reference, that is not modifiable, to a particular Memory Object. More...
 
typedef struct NvSciBufAttrListRec * NvSciBufAttrList
 A container constituting an attribute list which contains. More...
 

Functions

 PACK_BUF (typedef struct { uint64_t data[NVSCIBUF_EXPORT_DESC_SIZE];}) NvSciBufObjIpcExportDescriptor
 Defines the exported form of NvSciBufObj intended to be shared across an NvSciIpc channel. More...
 
 PACK_BUF (typedef struct { uint32_t socID;uint32_t vmID;uint64_t reserved;}) NvSciBufPeerLocationInfo
 Defines Peer location info structure. More...
 

Typedef Documentation

◆ NvSciBufAttrList

typedef struct NvSciBufAttrListRec* NvSciBufAttrList

A container constituting an attribute list which contains.

  • set of NvSciBufAttrKey attributes defining buffer constraints
  • slotcount defining number of slots in an attribute list
  • flag specifying if attribute list is reconciled or unreconciled
Note
Every NvSciBufAttrList that has been created but not freed holds a reference to the NvSciBufModule, preventing it from being de-initialized.

Definition at line 3126 of file nvscibuf.h.

◆ NvSciBufModule

typedef struct NvSciBufModuleRec* NvSciBufModule

top-level container for the following set of resources: NvSciBufAttrLists, memory objects, and NvSciBufObjs.

Any NvSciBufAttrList created or imported using a particular NvSciBufModule is bound to it, along with any NvSciBufObj created or imported using those NvSciBufAttrList(s).

Note
For any NvSciBuf API call that has more than one input of type NvSciBufModule, NvSciBufAttrList, and/or NvSciBufObj, all such inputs must agree on the NvSciBufModule instance.

Definition at line 3067 of file nvscibuf.h.

◆ NvSciBufObj

typedef struct NvSciBufObjRefRec* NvSciBufObj

A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the buffer, the handle of the allocated buffer enforcing the buffer access permissions represented by NvSciBufGeneralAttrKey_ActualPerm key in reconciled NvSciBufAttrList and the buffer properties.

A reference to a particular Memory object.

Note
Every NvSciBufObj that has been created but not freed holds a reference to the NvSciBufModule, preventing it from being de-initialized.

Definition at line 3108 of file nvscibuf.h.

◆ NvSciBufObjConst

typedef const struct NvSciBufObjRefRec* NvSciBufObjConst

A reference, that is not modifiable, to a particular Memory Object.

Definition at line 3113 of file nvscibuf.h.

Function Documentation

◆ PACK_BUF() [1/2]

PACK_BUF ( typedef struct { uint32_t socID;uint32_t vmID;uint64_t reserved;}  )

Defines Peer location info structure.

This structure is used to set location information of late attaching peer to NvScibufObj using NvSciBufObjAttachPeer() API

◆ PACK_BUF() [2/2]

PACK_BUF ( typedef struct { uint64_t data[NVSCIBUF_EXPORT_DESC_SIZE];}  )

Defines the exported form of NvSciBufObj intended to be shared across an NvSciIpc channel.

On successful execution of the NvSciBufObjIpcExport(), the permission requested via this API is stored in the NvSciBufObjIpcExportDescriptor to be granted to the NvSciBufObj on import provided the permission requested via the API is not NvSciBufAccessPerm_Auto. If the NvSciBufAccessPerm_Auto permission is requested via the API then the permission stored in the NvSciBufObjIpcExportDescriptor is equal to the maximum value of the permissions requested via NvSciBufGeneralAttrKey_RequiredPerm attribute in all of the unreconciled NvSciBufAttrLists that were exported by the peer to which the NvSciBufObjIpcExportDescriptor is being exported.