comparison VMS.h @ 281:b58fb1343377

remove need for end_thread()
author Nina Engelhardt <nengel@mailbox.tu-berlin.de>
date Fri, 17 May 2013 17:49:35 +0200
parents 67b684afa736
children
comparison
equal deleted inserted replaced
127:02aaf1c174a4 128:811b1a34de25
43 43
44 44
45 typedef SlaveVP *(*SlaveAssigner) ( void *, AnimSlot*); //semEnv, slot for HW info 45 typedef SlaveVP *(*SlaveAssigner) ( void *, AnimSlot*); //semEnv, slot for HW info
46 typedef void (*RequestHandler) ( SlaveVP *, void * ); //prWReqst, semEnv 46 typedef void (*RequestHandler) ( SlaveVP *, void * ); //prWReqst, semEnv
47 typedef void (*TopLevelFnPtr) ( void * ); //initData, animSlv 47 typedef void (*TopLevelFnPtr) ( void * ); //initData, animSlv
48 typedef void (*TopLevelFnWrapper)( TopLevelFnPtr, void*); //(*fn)(arg)
48 typedef void TopLevelFn ( void * ); //initData, animSlv 49 typedef void TopLevelFn ( void * ); //initData, animSlv
49 typedef void (*ResumeSlvFnPtr) ( SlaveVP *, void * ); 50 typedef void (*ResumeSlvFnPtr) ( SlaveVP *, void * );
50 //=========== MEASUREMENT STUFF ========== 51 //=========== MEASUREMENT STUFF ==========
51 MEAS__Insert_Counter_Handler 52 MEAS__Insert_Counter_Handler
52 //======================================== 53 //========================================
291 SlaveVP * 292 SlaveVP *
292 VMS_int__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam ); 293 VMS_int__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam );
293 #define VMS_PI__create_slaveVP VMS_int__create_slaveVP 294 #define VMS_PI__create_slaveVP VMS_int__create_slaveVP
294 #define VMS_WL__create_slaveVP VMS_int__create_slaveVP 295 #define VMS_WL__create_slaveVP VMS_int__create_slaveVP
295 296
297 SlaveVP *
298 VMS_int__create_slaveVP_with_wrapper( TopLevelFnWrapper fnWrapper, TopLevelFnPtr fnPtr, void *dataParam );
299
296 //Use this to create processor inside entry point & other places outside 300 //Use this to create processor inside entry point & other places outside
297 // the VMS system boundary (IE, don't animate with a SlaveVP or MasterVP) 301 // the VMS system boundary (IE, don't animate with a SlaveVP or MasterVP)
298 SlaveVP * 302 SlaveVP *
299 VMS_ext__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam ); 303 VMS_ext__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam );
300 304
301 SlaveVP * 305 SlaveVP *
302 VMS_int__create_slaveVP_helper( SlaveVP *newSlv, TopLevelFnPtr fnPtr, 306 VMS_int__create_slaveVP_helper( SlaveVP *newSlv, TopLevelFnPtr fnPtr,
303 void *dataParam, void *stackLocs ); 307 void *dataParam, void *stackLocs );
304 308
309 SlaveVP *
310 VMS_int__create_slaveVP_helper_with_wrapper( SlaveVP *newSlv, TopLevelFnWrapper fnWrapper, TopLevelFnPtr fnPtr,
311 void *dataParam, void *stackLocs );
312
305 void 313 void
306 VMS_int__reset_slaveVP_to_TopLvlFn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, 314 VMS_int__reset_slaveVP_to_TopLvlFn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr,
307 void *dataParam); 315 void *dataParam);
308 316
309 void 317 void
311 void *param); 319 void *param);
312 320
313 void 321 void
314 VMS_int__point_slaveVP_to_TwoParamFn( SlaveVP *slaveVP, void *fnPtr, 322 VMS_int__point_slaveVP_to_TwoParamFn( SlaveVP *slaveVP, void *fnPtr,
315 void *param1, void *param2); 323 void *param1, void *param2);
324
325 void
326 VMS_int__reset_slaveVP_to_TopLvlFnWrapper( SlaveVP *slaveVP, TopLevelFnWrapper fnWrapper, TopLevelFnPtr fnPtr,
327 void *dataParam);
316 328
317 void 329 void
318 VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate ); 330 VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate );
319 #define VMS_PI__dissipate_slaveVP VMS_int__dissipate_slaveVP 331 #define VMS_PI__dissipate_slaveVP VMS_int__dissipate_slaveVP
320 //WL: dissipate a SlaveVP by sending a request 332 //WL: dissipate a SlaveVP by sending a request