// This file is automatically generated by rmconfig - DO NOT EDIT!
//
// Provides access to RPCSTRUCTURECOPY Hal interfaces.
//
// Profile:  shipping-gpus-openrm
// Haldef:   rpcstructurecopy.def
// Template: templates/gt_eng_hal.h
//

#ifndef _G_RPCSTRUCTURECOPYHAL_H_
#define _G_RPCSTRUCTURECOPYHAL_H_

//
// Typedefs for RPCSTRUCTURECOPY public object interfaces.
//



//
// "struct" to list RPCSTRUCTURECOPY's public interfaces, eg:  pRpcstructurecopy->rpcstructurecopyInit(pGpu, pRpcstructurecopy)
//



//
// macro defines to directly access RPCSTRUCTURECOPY's OBJ interfaces,
// eg: #define rpcstructurecopyReadFoo(_pGpu, _pRpcstructurecopy) _pRpcstructurecopy->obj._rpcstructurecopyReadFoo(_pGpu, _pRpcstructurecopy)
//



//
// macro defines to access RPCSTRUCTURECOPY's function pointers,
// eg: #define rpcstructurecopyReadFoo_FNPTR(_pRpcstructurecopy) _pRpcstructurecopy->obj.__rpcstructurecopyReadFoo__
// or  #define rpcstructurecopyReadFoo_FNPTR(_pRpcstructurecopy) _pRpcstructurecopy->__rpcstructurecopyReadFoo__
//



//
// Typedefs for RPCSTRUCTURECOPY HAL interfaces.
//

typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS(NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS(NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS(NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_P2P_CAPABILITY_PARAMS(VGPU_P2P_CAPABILITY_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS(NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS(NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NVA080_CTRL_VGPU_GET_CONFIG_PARAMS(NVA080_CTRL_VGPU_GET_CONFIG_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS(NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS(NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS(NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GPU_GET_GID_INFO_PARAMS(NV2080_CTRL_GPU_GET_GID_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS(NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS(NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS(NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES(VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_FB_GET_LTC_INFO_FOR_FBP(VGPU_FB_GET_LTC_INFO_FOR_FBP* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_STATIC_DATA(VGPU_STATIC_DATA* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS(NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS(NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS(NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_FIFO_GET_DEVICE_INFO_TABLE(VGPU_FIFO_GET_DEVICE_INFO_TABLE* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS(NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_GPU_EXEC_SYSPIPE_INFO(GPU_EXEC_SYSPIPE_INFO* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_BSP_GET_CAPS(VGPU_BSP_GET_CAPS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS(NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_GPU_PARTITION_INFO(GPU_PARTITION_INFO* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS(NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS(NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS(NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS(NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS(NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_BUS_GET_INFO_V2_PARAMS(NV2080_CTRL_BUS_GET_INFO_V2_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_STATIC_PROPERTIES(VGPU_STATIC_PROPERTIES* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS(NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS(NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS(NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_FLA_GET_RANGE_PARAMS(NV2080_CTRL_FLA_GET_RANGE_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS(NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS(NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_CE_GET_CAPS_V2(VGPU_CE_GET_CAPS_V2* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS(NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Deserialize_VGPU_GET_LATENCY_BUFFER_SIZE(VGPU_GET_LATENCY_BUFFER_SIZE* data, NvU8* stream, NvU32 streamSize, NvU32 *offset);
typedef NV_STATUS      Rpcstructurecopy_iGrp_ipVersions_getInfo(IGRP_IP_VERSIONS_TABLE_INFO *);


//
// struct to access RPCSTRUCTURECOPY's hal interfaces, eg:  pRpcstructurecopy->hal.rpcstructurecopyReadFoo(pGpu, pRpcstructurecopy)
//

typedef struct RPCSTRUCTURECOPY_HAL_IFACES {
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS */
    Deserialize_NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS  *deserialize_NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS */
    Deserialize_NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS  *deserialize_NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS; /* HAL function to deserialize NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS */
    Deserialize_VGPU_P2P_CAPABILITY_PARAMS  *deserialize_VGPU_P2P_CAPABILITY_PARAMS; /* HAL function to deserialize VGPU_P2P_CAPABILITY_PARAMS */
    Deserialize_NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS  *deserialize_NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS */
    Deserialize_NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS  *deserialize_NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS; /* HAL function to deserialize NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS */
    Deserialize_NVA080_CTRL_VGPU_GET_CONFIG_PARAMS  *deserialize_NVA080_CTRL_VGPU_GET_CONFIG_PARAMS; /* HAL function to deserialize NVA080_CTRL_VGPU_GET_CONFIG_PARAMS */
    Deserialize_NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS  *deserialize_NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS; /* HAL function to deserialize NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS */
    Deserialize_NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS  *deserialize_NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS */
    Deserialize_NV2080_CTRL_GPU_GET_GID_INFO_PARAMS  *deserialize_NV2080_CTRL_GPU_GET_GID_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_GPU_GET_GID_INFO_PARAMS */
    Deserialize_NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS  *deserialize_NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS; /* HAL function to deserialize NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS */
    Deserialize_NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS  *deserialize_NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS; /* HAL function to deserialize NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS */
    Deserialize_VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES  *deserialize_VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES; /* HAL function to deserialize VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS */
    Deserialize_VGPU_FB_GET_LTC_INFO_FOR_FBP  *deserialize_VGPU_FB_GET_LTC_INFO_FOR_FBP; /* HAL function to deserialize VGPU_FB_GET_LTC_INFO_FOR_FBP */
    Deserialize_VGPU_STATIC_DATA  *deserialize_VGPU_STATIC_DATA; /* HAL function to deserialize VGPU_STATIC_DATA */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS */
    Deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS  *deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS; /* HAL function to deserialize NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS */
    Deserialize_NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS  *deserialize_NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS; /* HAL function to deserialize NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS */
    Deserialize_NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS  *deserialize_NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS */
    Deserialize_VGPU_FIFO_GET_DEVICE_INFO_TABLE  *deserialize_VGPU_FIFO_GET_DEVICE_INFO_TABLE; /* HAL function to deserialize VGPU_FIFO_GET_DEVICE_INFO_TABLE */
    Deserialize_NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS  *deserialize_NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS; /* HAL function to deserialize NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS */
    Deserialize_GPU_EXEC_SYSPIPE_INFO  *deserialize_GPU_EXEC_SYSPIPE_INFO; /* HAL function to deserialize GPU_EXEC_SYSPIPE_INFO */
    Deserialize_VGPU_BSP_GET_CAPS  *deserialize_VGPU_BSP_GET_CAPS; /* HAL function to deserialize VGPU_BSP_GET_CAPS */
    Deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS  *deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS; /* HAL function to deserialize NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS */
    Deserialize_GPU_PARTITION_INFO  *deserialize_GPU_PARTITION_INFO; /* HAL function to deserialize GPU_PARTITION_INFO */
    Deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS  *deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS; /* HAL function to deserialize NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS */
    Deserialize_NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS  *deserialize_NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS; /* HAL function to deserialize NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS */
    Deserialize_NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS  *deserialize_NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS; /* HAL function to deserialize NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS */
    Deserialize_NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS  *deserialize_NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS; /* HAL function to deserialize NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS */
    Deserialize_NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS  *deserialize_NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS; /* HAL function to deserialize NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS */
    Deserialize_NV2080_CTRL_BUS_GET_INFO_V2_PARAMS  *deserialize_NV2080_CTRL_BUS_GET_INFO_V2_PARAMS; /* HAL function to deserialize NV2080_CTRL_BUS_GET_INFO_V2_PARAMS */
    Deserialize_VGPU_STATIC_PROPERTIES  *deserialize_VGPU_STATIC_PROPERTIES; /* HAL function to deserialize VGPU_STATIC_PROPERTIES */
    Deserialize_NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS  *deserialize_NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS */
    Deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS  *deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS; /* HAL function to deserialize NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS */
    Deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS  *deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS; /* HAL function to deserialize NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS */
    Deserialize_NV2080_CTRL_FLA_GET_RANGE_PARAMS  *deserialize_NV2080_CTRL_FLA_GET_RANGE_PARAMS; /* HAL function to deserialize NV2080_CTRL_FLA_GET_RANGE_PARAMS */
    Deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS  *deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS; /* HAL function to deserialize NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS */
    Deserialize_NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS  *deserialize_NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS; /* HAL function to deserialize NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS */
    Deserialize_VGPU_CE_GET_CAPS_V2  *deserialize_VGPU_CE_GET_CAPS_V2; /* HAL function to deserialize VGPU_CE_GET_CAPS_V2 */
    Deserialize_NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS  *deserialize_NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS; /* HAL function to deserialize NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS */
    Deserialize_VGPU_GET_LATENCY_BUFFER_SIZE  *deserialize_VGPU_GET_LATENCY_BUFFER_SIZE; /* HAL function to deserialize VGPU_GET_LATENCY_BUFFER_SIZE */
    Rpcstructurecopy_iGrp_ipVersions_getInfo  *rpcstructurecopy_iGrp_ipVersions_getInfo; /* Return lookup table of hal interface ptrs based on IP_VERSION */
} RPCSTRUCTURECOPY_HAL_IFACES;


//
// macro defines to directly access RPCSTRUCTURECOPY's hal interfaces,
// eg: #define rpcstructurecopyReadFoo_HAL(_pGpu, _pRpcstructurecopy) _pRpcstructurecopy->hal.rpcstructurecopyReadFoo(_pGpu, _pRpcstructurecopy)
//

#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_MEMSYS_GET_STATIC_CONFIG_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GPU_GET_COMPUTE_PROFILES_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_P2P_CAPABILITY_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_P2P_CAPABILITY_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_CMD_BUS_GET_C2C_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_MC_GET_INTR_CATEGORY_SUBTREE_MAP_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NVA080_CTRL_VGPU_GET_CONFIG_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NVA080_CTRL_VGPU_GET_CONFIG_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_FB_GET_LTC_INFO_FOR_FBP_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_GLOBAL_SM_ORDER_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_GET_DEVICE_INFO_TABLE_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GPU_GET_GID_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GPU_GET_GID_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV90E6_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_CCU_SAMPLE_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NVC637_CTRL_EXEC_PARTITIONS_GET_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_FB_GET_DYNAMIC_BLACKLISTED_PAGES(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_FB_GET_LTC_INFO_FOR_FBP_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_FB_GET_LTC_INFO_FOR_FBP(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_STATIC_DATA_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_STATIC_DATA(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PDB_PROPERTIES_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_REQ_ATOMICS_CAPS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_TRACE_DEFINES_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_PPC_MASKS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV0000_CTRL_SYSTEM_GET_VGX_SYSTEM_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GR_GET_ZCULL_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FLOORSWEEPING_MASKS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ZCULL_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_FIFO_GET_DEVICE_INFO_TABLE_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_FIFO_GET_DEVICE_INFO_TABLE(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_CE_GET_ALL_CAPS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_GPU_EXEC_SYSPIPE_INFO_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_GPU_EXEC_SYSPIPE_INFO(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_BSP_GET_CAPS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_BSP_GET_CAPS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_CMD_BUS_GET_PCIE_SUPPORTED_GPU_ATOMICS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_GPU_PARTITION_INFO_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_GPU_PARTITION_INFO(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_THROTTLE_CTRL_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_MC_GET_STATIC_INTR_TABLE_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_MC_GET_ENGINE_NOTIFICATION_INTR_VECTORS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_ROP_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV9096_CTRL_GET_ZBC_CLEAR_TABLE_SIZE_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_FECS_RECORD_SIZE_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_CMD_NVLINK_GET_NVLINK_CAPS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_BUS_GET_INFO_V2_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_BUS_GET_INFO_V2_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_STATIC_PROPERTIES_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_STATIC_PROPERTIES(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GPU_GET_CONSTRUCTED_FALCON_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_V2_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_INTERNAL_STATIC_GR_GET_CONTEXT_BUFFERS_INFO_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_FLA_GET_RANGE_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_FLA_GET_RANGE_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GR_GET_SM_ISSUE_RATE_MODIFIER_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV2080_CTRL_GPU_QUERY_ECC_STATUS_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_CE_GET_CAPS_V2_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_CE_GET_CAPS_V2(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_NV0080_CTRL_MSENC_GET_CAPS_V2_PARAMS(_pData, _pStream, _streamSize, _pOffset)
#define deserialize_VGPU_GET_LATENCY_BUFFER_SIZE_HAL(_pRpcstructurecopy, _pData, _pStream, _streamSize, _pOffset)  \
        (_pRpcstructurecopy)->_hal.deserialize_VGPU_GET_LATENCY_BUFFER_SIZE(_pData, _pStream, _streamSize, _pOffset)
#define rpcstructurecopy_iGrp_ipVersions_getInfo_HAL(_pRpcstructurecopy, _pArg0)  \
        (_pRpcstructurecopy)->_hal.rpcstructurecopy_iGrp_ipVersions_getInfo(_pArg0)

//
// hal function pointer defines requested by the :GEN_FNPTR_DEFINE flag
//

#define rpcstructurecopy_iGrp_ipVersions_getInfo_HAL_FNPTR(_pObj)   (_pObj)->_hal.rpcstructurecopy_iGrp_ipVersions_getInfo

// Are there any optimized hal interfaces?
#define RPCSTRUCTURECOPY_DIRECT_HAL_CALLS  0

// Are there any non-optimized hal interfaces?
#define RPCSTRUCTURECOPY_INDIRECT_HAL_CALLS 1


//
// Inline stub function definitions.
//



//
// RPCSTRUCTURECOPY PDB properties
//



#endif  // _G_RPCSTRUCTURECOPYHAL_H_
