wait_queue_head_t osl_waitqueue_create ( int options /* semaphore option modes */ ) { SEM_ID semId;/*lint !e578 */ if ((semId = (SEM_ID) objAlloc (semClassId)) == NULL) return (NULL); /* initialize allocated semaphore */ if (semQueueInit (semId, options, 0) != OK) { objFree (semClassId, (char *) semId); return (NULL); } /* mark object memory to be freed during automatic resource reclamation */ /*lint -save -e115*/ OBJ_SET_DEALLOC_MEM (&semId->objCore); /*lint -restore +e115*/ #ifdef _WRS_CONFIG_SV_INSTRUMENTATION /* system viewer - level 1 event logging */ EVT_OBJ_3 (semId, semClassId, EVENT_SEMCCREATE, semId, options, initialCount); #endif /* _WRS_CONFIG_SV_INSTRUMENTATION */ return (wait_queue_head_t)(semId); }
VM_CONTEXT_ID vmContextCreate( void ) { VM_CONTEXT_ID context; if (vmLibInstalled != TRUE) { errnoSet(S_vmLib_NOT_INSTALLED); context = NULL; } else { /* Allocate object */ context = (VM_CONTEXT *) objAlloc(vmContextClassId); if (context != NULL) { /* Initialize structure */ if (vmContextInit(context) != OK) { objFree(vmContextClassId, context); context = NULL; } } } return context; }
SEM_ID semBCreate( int options, SEM_B_STATE state ) { SEM_ID semId; /* Check if lib is installed */ if (semBLibInstalled != TRUE) { errnoSet(S_semLib_NOT_INSTALLED); semId = NULL; } else { /* Allocate memory */ semId = (SEM_ID) objAlloc(semClassId); if (semId != NULL) { /* Initialze structure */ if (semBInit(semId, options, state) != OK) { objFree(semClassId, semId); semId = NULL; } } } return semId; }
WDOG_ID wdCreate (void) { WDOG_ID wdId; #ifdef WV_INSTRUMENTATION int level; #endif if ((!wdLibInstalled) && (wdLibInit () != OK)) return (NULL); /* package init problem */ wdId = (WDOG_ID) objAlloc (wdClassId); /* initialize allocated watchdog */ if ((wdId != NULL) && (wdInit (wdId) != OK)) { objFree (wdClassId, (char *) wdId); return (NULL); } #ifdef WV_INSTRUMENTATION /* windview - level 1 event logging */ level = intLock (); EVT_OBJ_1 (OBJ, wdId, wdClassId, EVENT_WDCREATE, wdId); intUnlock (level); #endif return (wdId); }
SEM_ID semBCreate ( int options, /* semaphore options */ SEM_B_STATE initialState /* initial semaphore state */ ) { SEM_ID semId; if ((!semBLibInstalled) && (semBLibInit () != OK)) /* initialize package */ { return (NULL); } if ((semId = (SEM_ID) objAlloc (semClassId)) == NULL) { return (NULL); } /* initialize allocated semaphore */ if (semBInit (semId, options, initialState) != OK) { objFree (semClassId, (char *) semId); return (NULL); } return (semId); }
WDOG_ID wdCreate( void ) { WDOG_ID wdId; if (wdLibInstalled != TRUE) { wdId = NULL; } else { /* Allocate struct */ wdId = (WDOG_ID) objAlloc(wdClassId); if (wdId != NULL) { /* Initialize object */ if (wdInit(wdId) != OK) { objFree(wdClassId, wdId); wdId = NULL; } } } return wdId; }
PART_ID memPartCreate(char* pPool, unsigned poolSize) { PART_ID pPart = (PART_ID)objAlloc(memPartClassId); if(NULL != pPart) { memPartInit(pPart, pPool, poolSize); } return pPart; }
PART_ID memPartCreate ( char *pPool, /* pointer to memory area */ unsigned poolSize /* size in bytes */ ) { FAST PART_ID pPart; /* allocate a partition structure from the system memory partition */ pPart = (PART_ID) objAlloc (memPartClassId); if (pPart != NULL) memPartInit (pPart, pPool, poolSize); #ifdef WV_INSTRUMENTATION EVT_OBJ_2 (OBJ, pPart, memPartClassId, EVENT_MEMPARTCREATE, pPart, poolSize); #endif return (pPart); }