void win32k_entry_point( void *lParam){ unsigned int len = INI(); char * data = INI(); //.. PMY_STRUCT my_struct = (PMY_STRUCT)lParam; /*fake function to simulate data transfer from user to kernel in Windows*/ __get_user(data, &my_struct->lpData); // fetch of another value, but didn't cause disturbance if(data != NULL){ __get_user(len, &my_struct->cbData);// first fetch unsigned int cbCapture = sizeof(MY_STRUCT) + len; char* my_allocation = UserAllocPoolWithQuota(cbCapture, TAG_SMS_CAPTURE); if (my_allocation != NULL){ //.. __get_user(len, &my_struct->cbData); //second fetch RtlCopyMemory(my_allocation, data, len); //use } } //... }
int PIController::InitStage(const std::string& axisName, const std::string& stageType) { if (HasCST() && !stageType.empty()) { std::string stageType_local = stageType; if (onlyIDSTAGEvalid_) { if (strcmp(stageType.c_str(), "NOSTAGE") != 0) { stageType_local = "ID-STAGE"; } } if (!CST(axisName, stageType_local)) { return GetTranslatedError(); } } if (HasINI()) { if (!INI(axisName)) { return GetTranslatedError(); } } if (HasSVO()) { if (!SVO(axisName, TRUE)) { return GetTranslatedError(); } } return DEVICE_OK; }
int PIController::InitStage(const std::string& axisName, const std::string& stageType) { if (HasCST()) { std::string stageType_local = stageType; if (onlyIDSTAGEvalid_) { if (strcmp(stageType.c_str(), "NOSTAGE") != 0) { stageType_local = "ID-STAGE"; } } if (!CST(axisName, stageType_local)) return DEVICE_INVALID_PROPERTY_VALUE; } if (HasINI()) { if (!INI(axisName)) return DEVICE_ERR; } if (HasSVO()) { if (!SVO(axisName, TRUE)) return DEVICE_ERR; } return DEVICE_OK; }
void RMANAGER::TimeStep() { VESSEL * v = NULL; OBJHANDLE hVes = NULL; char ini[255]; for (int i = 0; i < oapiGetVesselCount(); i++) { hVes = oapiGetVesselByIndex(i); if (!oapiIsVessel(hVes)) continue; v = oapiGetVesselInterface(hVes); if (isAttended(v)) continue; if (!hasConfig(v)) continue; sprintf(ini,"./Config/orbReentryStream/%s.ini",INI(v)); atList.push_back(ReadAndAssign(ini,v)); } VOBJ * vbj = NULL; for (int i = 0; i < atList.size(); i++) { if (!atList[i]) continue; if (!oapiIsVessel(atList[i]->hook)) continue; vbj = atList[i]; v = oapiGetVesselInterface(vbj->hook); hVes = v->GetHandle(); if (calcFlux(v) > vbj->flux) { if (!vbj->th) CreateResourceAndStreams(vbj); v->SetThrusterLevel(vbj->th,1); }else if (vbj->th) v->SetThrusterLevel(vbj->th,0); } }
/*INI*/ static void op_ED_0xa2(Z80EX_CONTEXT *cpu) { INI(/*rd*/6, /*wr*/9); T_WAIT_UNTIL(12); return; }
int main(int argc, char *argv[]) { E_RT_init(argc, argv); JMP(begin); Label0: R005=ADD(R000,2); STI(R001, R000); R000=SUB(R000,1); MOVI(R000, R001); LDI(R005, R008); R005=ADD(R005,1); LDF(R005, F001); R005=ADD(R005,1); MOVIF(R008, F003); MOVIF(R008, F006); F005=FADD(F006,F001); MOVF(F005, F008); R010=ADD(R008,1); MOVI(R010, R011); MOVI(R010, R012); MOVIF(R008, F010); MOVF(F005, F011); while_1_start: JMPC(GT(1000, R008), while_1_begin); JMP(while_1_end); while_1_begin: MOVIF(R008, F013); MOVIF(R008, F014); F008=FADD(F014,F001); F001=FMUL(F001,2.0); R008=ADD(R008,100); JMP(while_1_start); while_1_end: PRTF(F008); PRTS(R007); MOVI(R008, R002); JMP(Label1); Label1: MOVI(R001, R000); R000=ADD(R000,1); LDI(R000, R001); R000=ADD(R000,1); LDI(R000, R004); R000=ADD(R000,2); JMPI(R004); eventLabel_a: INI(R010); INF(F013); STI(R010, R000); R000=SUB(R000,1); STF(F013, R000); R000=SUB(R000,1); STF(F013, R000); R000=SUB(R000,1); STI(R010, R000); R000=SUB(R000,1); MOVL(Label2, R004); STI(R004, R000); R000=SUB(R000,1); JMP(Label0); Label2: MOVI(R002, R006); R000=ADD(R000,1); LDF(R000, F013); R000=ADD(R000,1); LDI(R000, R010); JMP(EventMStart); begin: MOVI(10000, R000); MOVI(0, R006); MOVS("\n", R007); IN(R010); IN(R010); IN(R010); EventMStart: IN(R010); JMPC(GT(64, R010), EventMOut); JMPC(EQ(97, R010), eventLabel_a); JMP(EventMStart); EventMOut: PRTS("\nDone\n"); E_RT_exit(); return 0; }
/*INI*/ static void op_ED_0xa2(void) { INI(/*rd*/6, /*wr*/9); T_WAIT_UNTIL(12); return; }