1 #define NVOC_RS_SERVER_H_PRIVATE_ACCESS_ALLOWED 2 #include "nvoc/runtime.h" 3 #include "nvoc/rtti.h" 4 #include "nvtypes.h" 5 #include "nvport/nvport.h" 6 #include "nvport/inline/util_valist.h" 7 #include "utils/nvassert.h" 8 #include "g_rs_server_nvoc.h" 9 10 #ifdef DEBUG 11 char __nvoc_class_id_uniqueness_check_0x830542 = 1; 12 #endif 13 14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsShared; 15 16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object; 17 18 void __nvoc_init_RsShared(RsShared*); 19 void __nvoc_init_funcTable_RsShared(RsShared*); 20 NV_STATUS __nvoc_ctor_RsShared(RsShared*); 21 void __nvoc_init_dataField_RsShared(RsShared*); 22 void __nvoc_dtor_RsShared(RsShared*); 23 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_RsShared; 24 25 static const struct NVOC_RTTI __nvoc_rtti_RsShared_RsShared = { 26 /*pClassDef=*/ &__nvoc_class_def_RsShared, 27 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_RsShared, 28 /*offset=*/ 0, 29 }; 30 31 static const struct NVOC_RTTI __nvoc_rtti_RsShared_Object = { 32 /*pClassDef=*/ &__nvoc_class_def_Object, 33 /*dtor=*/ &__nvoc_destructFromBase, 34 /*offset=*/ NV_OFFSETOF(RsShared, __nvoc_base_Object), 35 }; 36 37 static const struct NVOC_CASTINFO __nvoc_castinfo_RsShared = { 38 /*numRelatives=*/ 2, 39 /*relatives=*/ { 40 &__nvoc_rtti_RsShared_RsShared, 41 &__nvoc_rtti_RsShared_Object, 42 }, 43 }; 44 45 const struct NVOC_CLASS_DEF __nvoc_class_def_RsShared = 46 { 47 /*classInfo=*/ { 48 /*size=*/ sizeof(RsShared), 49 /*classId=*/ classId(RsShared), 50 /*providerId=*/ &__nvoc_rtti_provider, 51 #if NV_PRINTF_STRINGS_ALLOWED 52 /*name=*/ "RsShared", 53 #endif 54 }, 55 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_RsShared, 56 /*pCastInfo=*/ &__nvoc_castinfo_RsShared, 57 /*pExportInfo=*/ &__nvoc_export_info_RsShared 58 }; 59 60 const struct NVOC_EXPORT_INFO __nvoc_export_info_RsShared = 61 { 62 /*numEntries=*/ 0, 63 /*pExportEntries=*/ 0 64 }; 65 66 void __nvoc_dtor_Object(Object*); 67 void __nvoc_dtor_RsShared(RsShared *pThis) { 68 __nvoc_shrDestruct(pThis); 69 __nvoc_dtor_Object(&pThis->__nvoc_base_Object); 70 PORT_UNREFERENCED_VARIABLE(pThis); 71 } 72 73 void __nvoc_init_dataField_RsShared(RsShared *pThis) { 74 PORT_UNREFERENCED_VARIABLE(pThis); 75 } 76 77 NV_STATUS __nvoc_ctor_Object(Object* ); 78 NV_STATUS __nvoc_ctor_RsShared(RsShared *pThis) { 79 NV_STATUS status = NV_OK; 80 status = __nvoc_ctor_Object(&pThis->__nvoc_base_Object); 81 if (status != NV_OK) goto __nvoc_ctor_RsShared_fail_Object; 82 __nvoc_init_dataField_RsShared(pThis); 83 84 status = __nvoc_shrConstruct(pThis); 85 if (status != NV_OK) goto __nvoc_ctor_RsShared_fail__init; 86 goto __nvoc_ctor_RsShared_exit; // Success 87 88 __nvoc_ctor_RsShared_fail__init: 89 __nvoc_dtor_Object(&pThis->__nvoc_base_Object); 90 __nvoc_ctor_RsShared_fail_Object: 91 __nvoc_ctor_RsShared_exit: 92 93 return status; 94 } 95 96 static void __nvoc_init_funcTable_RsShared_1(RsShared *pThis) { 97 PORT_UNREFERENCED_VARIABLE(pThis); 98 } 99 100 void __nvoc_init_funcTable_RsShared(RsShared *pThis) { 101 __nvoc_init_funcTable_RsShared_1(pThis); 102 } 103 104 void __nvoc_init_Object(Object*); 105 void __nvoc_init_RsShared(RsShared *pThis) { 106 pThis->__nvoc_pbase_RsShared = pThis; 107 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_Object; 108 __nvoc_init_Object(&pThis->__nvoc_base_Object); 109 __nvoc_init_funcTable_RsShared(pThis); 110 } 111 112 NV_STATUS __nvoc_objCreate_RsShared(RsShared **ppThis, Dynamic *pParent, NvU32 createFlags) { 113 NV_STATUS status; 114 Object *pParentObj; 115 RsShared *pThis; 116 117 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(RsShared), (void**)&pThis, (void**)ppThis); 118 if (status != NV_OK) 119 return status; 120 121 portMemSet(pThis, 0, sizeof(RsShared)); 122 123 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_RsShared); 124 125 pThis->__nvoc_base_Object.createFlags = createFlags; 126 127 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 128 { 129 pParentObj = dynamicCast(pParent, Object); 130 objAddChild(pParentObj, &pThis->__nvoc_base_Object); 131 } 132 else 133 { 134 pThis->__nvoc_base_Object.pParent = NULL; 135 } 136 137 __nvoc_init_RsShared(pThis); 138 status = __nvoc_ctor_RsShared(pThis); 139 if (status != NV_OK) goto __nvoc_objCreate_RsShared_cleanup; 140 141 *ppThis = pThis; 142 143 return NV_OK; 144 145 __nvoc_objCreate_RsShared_cleanup: 146 // do not call destructors here since the constructor already called them 147 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 148 portMemSet(pThis, 0, sizeof(RsShared)); 149 else 150 portMemFree(pThis); 151 152 // coverity[leaked_storage:FALSE] 153 return status; 154 } 155 156 NV_STATUS __nvoc_objCreateDynamic_RsShared(RsShared **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 157 NV_STATUS status; 158 159 status = __nvoc_objCreate_RsShared(ppThis, pParent, createFlags); 160 161 return status; 162 } 163 164 #ifdef DEBUG 165 char __nvoc_class_id_uniqueness_check_0x830d90 = 1; 166 #endif 167 168 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsSession; 169 170 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object; 171 172 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsShared; 173 174 void __nvoc_init_RsSession(RsSession*); 175 void __nvoc_init_funcTable_RsSession(RsSession*); 176 NV_STATUS __nvoc_ctor_RsSession(RsSession*); 177 void __nvoc_init_dataField_RsSession(RsSession*); 178 void __nvoc_dtor_RsSession(RsSession*); 179 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_RsSession; 180 181 static const struct NVOC_RTTI __nvoc_rtti_RsSession_RsSession = { 182 /*pClassDef=*/ &__nvoc_class_def_RsSession, 183 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_RsSession, 184 /*offset=*/ 0, 185 }; 186 187 static const struct NVOC_RTTI __nvoc_rtti_RsSession_Object = { 188 /*pClassDef=*/ &__nvoc_class_def_Object, 189 /*dtor=*/ &__nvoc_destructFromBase, 190 /*offset=*/ NV_OFFSETOF(RsSession, __nvoc_base_RsShared.__nvoc_base_Object), 191 }; 192 193 static const struct NVOC_RTTI __nvoc_rtti_RsSession_RsShared = { 194 /*pClassDef=*/ &__nvoc_class_def_RsShared, 195 /*dtor=*/ &__nvoc_destructFromBase, 196 /*offset=*/ NV_OFFSETOF(RsSession, __nvoc_base_RsShared), 197 }; 198 199 static const struct NVOC_CASTINFO __nvoc_castinfo_RsSession = { 200 /*numRelatives=*/ 3, 201 /*relatives=*/ { 202 &__nvoc_rtti_RsSession_RsSession, 203 &__nvoc_rtti_RsSession_RsShared, 204 &__nvoc_rtti_RsSession_Object, 205 }, 206 }; 207 208 const struct NVOC_CLASS_DEF __nvoc_class_def_RsSession = 209 { 210 /*classInfo=*/ { 211 /*size=*/ sizeof(RsSession), 212 /*classId=*/ classId(RsSession), 213 /*providerId=*/ &__nvoc_rtti_provider, 214 #if NV_PRINTF_STRINGS_ALLOWED 215 /*name=*/ "RsSession", 216 #endif 217 }, 218 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_RsSession, 219 /*pCastInfo=*/ &__nvoc_castinfo_RsSession, 220 /*pExportInfo=*/ &__nvoc_export_info_RsSession 221 }; 222 223 const struct NVOC_EXPORT_INFO __nvoc_export_info_RsSession = 224 { 225 /*numEntries=*/ 0, 226 /*pExportEntries=*/ 0 227 }; 228 229 void __nvoc_dtor_RsShared(RsShared*); 230 void __nvoc_dtor_RsSession(RsSession *pThis) { 231 __nvoc_sessionDestruct(pThis); 232 __nvoc_dtor_RsShared(&pThis->__nvoc_base_RsShared); 233 PORT_UNREFERENCED_VARIABLE(pThis); 234 } 235 236 void __nvoc_init_dataField_RsSession(RsSession *pThis) { 237 PORT_UNREFERENCED_VARIABLE(pThis); 238 } 239 240 NV_STATUS __nvoc_ctor_RsShared(RsShared* ); 241 NV_STATUS __nvoc_ctor_RsSession(RsSession *pThis) { 242 NV_STATUS status = NV_OK; 243 status = __nvoc_ctor_RsShared(&pThis->__nvoc_base_RsShared); 244 if (status != NV_OK) goto __nvoc_ctor_RsSession_fail_RsShared; 245 __nvoc_init_dataField_RsSession(pThis); 246 247 status = __nvoc_sessionConstruct(pThis); 248 if (status != NV_OK) goto __nvoc_ctor_RsSession_fail__init; 249 goto __nvoc_ctor_RsSession_exit; // Success 250 251 __nvoc_ctor_RsSession_fail__init: 252 __nvoc_dtor_RsShared(&pThis->__nvoc_base_RsShared); 253 __nvoc_ctor_RsSession_fail_RsShared: 254 __nvoc_ctor_RsSession_exit: 255 256 return status; 257 } 258 259 static void __nvoc_init_funcTable_RsSession_1(RsSession *pThis) { 260 PORT_UNREFERENCED_VARIABLE(pThis); 261 262 pThis->__sessionRemoveDependant__ = &sessionRemoveDependant_IMPL; 263 264 pThis->__sessionRemoveDependency__ = &sessionRemoveDependency_IMPL; 265 } 266 267 void __nvoc_init_funcTable_RsSession(RsSession *pThis) { 268 __nvoc_init_funcTable_RsSession_1(pThis); 269 } 270 271 void __nvoc_init_RsShared(RsShared*); 272 void __nvoc_init_RsSession(RsSession *pThis) { 273 pThis->__nvoc_pbase_RsSession = pThis; 274 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_RsShared.__nvoc_base_Object; 275 pThis->__nvoc_pbase_RsShared = &pThis->__nvoc_base_RsShared; 276 __nvoc_init_RsShared(&pThis->__nvoc_base_RsShared); 277 __nvoc_init_funcTable_RsSession(pThis); 278 } 279 280 NV_STATUS __nvoc_objCreate_RsSession(RsSession **ppThis, Dynamic *pParent, NvU32 createFlags) { 281 NV_STATUS status; 282 Object *pParentObj; 283 RsSession *pThis; 284 285 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(RsSession), (void**)&pThis, (void**)ppThis); 286 if (status != NV_OK) 287 return status; 288 289 portMemSet(pThis, 0, sizeof(RsSession)); 290 291 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_RsSession); 292 293 pThis->__nvoc_base_RsShared.__nvoc_base_Object.createFlags = createFlags; 294 295 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 296 { 297 pParentObj = dynamicCast(pParent, Object); 298 objAddChild(pParentObj, &pThis->__nvoc_base_RsShared.__nvoc_base_Object); 299 } 300 else 301 { 302 pThis->__nvoc_base_RsShared.__nvoc_base_Object.pParent = NULL; 303 } 304 305 __nvoc_init_RsSession(pThis); 306 status = __nvoc_ctor_RsSession(pThis); 307 if (status != NV_OK) goto __nvoc_objCreate_RsSession_cleanup; 308 309 *ppThis = pThis; 310 311 return NV_OK; 312 313 __nvoc_objCreate_RsSession_cleanup: 314 // do not call destructors here since the constructor already called them 315 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 316 portMemSet(pThis, 0, sizeof(RsSession)); 317 else 318 portMemFree(pThis); 319 320 // coverity[leaked_storage:FALSE] 321 return status; 322 } 323 324 NV_STATUS __nvoc_objCreateDynamic_RsSession(RsSession **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 325 NV_STATUS status; 326 327 status = __nvoc_objCreate_RsSession(ppThis, pParent, createFlags); 328 329 return status; 330 } 331 332