NvSciIpc Init

    NvSciIpcEndpoint ipcEndpoint = 0;
    err = NvSciIpcInit();
    if (err != NvSciError_Success) {
        goto fail;
    }
    err = NvSciIpcOpenEndpoint("ipc_endpoint", &ipcEndpoint);
    if (err != NvSciError_Success) {
        goto fail;
    }
    /* ... */
    NvSciIpcCloseEndpoint(ipcEndpoint);
    NvSciIpcDeinit();

Applications connected through an NvSciIpcEndpoint can exchange NvSciBuf structures (NvSciBufAttrList or NvSciBufObj) using the export/import APIs provided by NvSciBuf.

  • NvSciBuf Export APIs return an appropriate export descriptor for the specified NvSciIpcEndpoint.
  • Applications are responsible for transporting the export descriptor returned by NvSciBuf using the same NvSciIpcEndpoint.
  • NvSciBuf Import APIs return the respective NvSciBuf structure for the specified export descriptor.
  • NvSciBuf provides different APIs for transporting reconciled and unreconciled attribute lists. For reconciled attribute lists, applications can optionally validate the reconciled list against one or more unreconciled attribute lists to ensure that the reconciled attribute list satisfies the parameters of the importing process' unreconciled lists. This can be done by either passing unreconciled lists to NvSciBufAttrListIpcImportReconciled API while importing or by invoking NvSciBufAttrListValidateReconciled API after importing.