// Initialize client state & variables memset(&pObj->state, 0, sizeof(pObj->state)); // Initialize client semaphore and clock object union { Semaphore_Params sp; Clock_Params cp; } paramsUnion; Semaphore_Params_init(¶msUnion.sp); paramsUnion.sp.mode = Semaphore_Mode_BINARY; Semaphore_construct(&pObj->state.semSync, 0, ¶msUnion.sp); Clock_Params_init(¶msUnion.cp); paramsUnion.cp.arg = (UArg)pObj; Clock_construct(&pObj->state.clkInactivity, (Clock_FuncPtr)clkInactivityFxn, 0, ¶msUnion.cp);