// This file is automatically generated by rmconfig - DO NOT EDIT!
//
// Profile:  shipping-gpus-openrm
// Template: templates/gt_eng_iom.c
//
#include "nvstatus.h"
#include "nvport/inline/util_valist.h"
#include "nvport/nvport.h"
#include "core/core.h"
#include "nvoc/rtti.h"
#include "os/os.h"
#include "gpu/gpu.h"

#include "gpu/rpc/objrpcstructurecopy.h"

#include "g_rpcstructurecopy_private.h"

//
// RPCSTRUCTURECOPY's object-level _STUB, _MISSING, _VGPUSTUB interface routines
// (if any)
//








//
// Initialize RPCSTRUCTURECOPY's object-level interfaces
//
static void
rpcstructurecopySetPropertiesSpecial
(
    POBJRPCSTRUCTURECOPY    pRpcstructurecopy
)
{

}





//
// RPCSTRUCTURECOPY's run-time type information
//

extern const struct NVOC_CLASS_DEF __iom_class_def_OBJRPCSTRUCTURECOPY;

void      __iom_dtor_OBJRPCSTRUCTURECOPY(POBJRPCSTRUCTURECOPY);

const struct NVOC_RTTI __iom_rtti_OBJRPCSTRUCTURECOPY_OBJRPCSTRUCTURECOPY =
{
    &__iom_class_def_OBJRPCSTRUCTURECOPY,
    (NVOC_DYNAMIC_DTOR)&__iom_dtor_OBJRPCSTRUCTURECOPY,
    0,
};

static const struct NVOC_CASTINFO __iom_castinfo_OBJRPCSTRUCTURECOPY =
{
    1,
    {
        &__iom_rtti_OBJRPCSTRUCTURECOPY_OBJRPCSTRUCTURECOPY
    }
};

extern const NVOC_RTTI_PROVIDER __iom_rtti_provider;
const struct NVOC_CLASS_DEF __iom_class_def_OBJRPCSTRUCTURECOPY =
{
    .classInfo.size =       sizeof(OBJRPCSTRUCTURECOPY),
    .classInfo.classId =    classId(OBJRPCSTRUCTURECOPY),
    .classInfo.providerId = &__iom_rtti_provider,
#if NV_PRINTF_STRINGS_ALLOWED
    .classInfo.name =       "OBJRPCSTRUCTURECOPY",
#endif
    .objCreatefn = NULL,
    .pCastInfo =   &__iom_castinfo_OBJRPCSTRUCTURECOPY,
};




//
// RPCSTRUCTURECOPY's object infrastructure boilerplate
//

// initializers, constructors, and destructors for RPCSTRUCTURECOPY's base classes

NV_STATUS __iom_ctor_OBJRPCSTRUCTURECOPY(POBJRPCSTRUCTURECOPY pRpcstructurecopy)
{
    RMCFG_MODULE_ENABLED_OR_ASSERT_AND_BAIL(RPCSTRUCTURECOPY);
    return NV_OK;
}

NV_STATUS __iom_vctor_OBJRPCSTRUCTURECOPY(Dynamic *pDynamic, va_list args)
{
    NV_STATUS status;
    POBJRPCSTRUCTURECOPY pThis = dynamicCast(pDynamic, OBJRPCSTRUCTURECOPY);
    if (pThis != NULL)
    {
        status = __iom_ctor_OBJRPCSTRUCTURECOPY(pThis);
    }
    else
    {
        status = NV_ERR_INVALID_OBJECT;
    }
    return status;
}

void __iom_dtor_OBJRPCSTRUCTURECOPY(POBJRPCSTRUCTURECOPY pRpcstructurecopy)
{
}

// RPCSTRUCTURECOPY's object initializer function to set up vtables and RTTI
void __iom_init_OBJRPCSTRUCTURECOPY(POBJRPCSTRUCTURECOPY pRpcstructurecopy)
{
    rpcstructurecopySetPropertiesSpecial(pRpcstructurecopy);
}


//
// RPCSTRUCTURECOPY's object creation routine
//

