1 #ifndef __v3_hvm_ros_user
2 #define __v3_hvm_ros_user
5 Copyright (c) 2015 Peter Dinda
11 // note that there is ONE HRT hence no naming
12 int v3_hvm_ros_user_init();
13 int v3_hvm_ros_user_deinit();
16 int v3_hvm_ros_merge_address_spaces();
17 int v3_hvm_ros_unmerge_address_spaces();
20 // Asynchronosus invocation of the HRT using an
21 // opaque pointer (typically this is a pointer
22 // to a structure containing a function pointer and
23 // arguments. The parallel flag indicates that
24 // that it will be invoked simulatneously on all
26 int v3_hvm_ros_invoke_hrt_async(void *p, int parallel);
29 // synchronize with HRT via shared location
30 // allow synchronous invokcations. Note that
31 // any parallelism is done internal to the HRT.
32 // Also the synchronous invocation always waits
33 int v3_hvm_ros_synchronize();
34 int v3_hvm_ros_invoke_hrt_sync(void *p, int handle_ros_events);
35 int v3_hvm_ros_desynchronize();