| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-01-04 21:31:55 +0100 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-01-04 21:31:55 +0100 | 
| commit | ee48214209e66aa8c6f353262b175895373f76df (patch) | |
| tree | c2b61a4bd702602d856f613992c46a802e0a888c /include | |
| parent | 0c68e544b113f0493b9b80511c26c1e4584bd1e7 (diff) | |
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/relabsd/client.h | 12 | ||||
| -rw-r--r-- | include/relabsd/config/parameters.h | 16 | ||||
| -rw-r--r-- | include/relabsd/config/parameters_types.h | 5 | ||||
| -rw-r--r-- | include/relabsd/device/axis.h | 6 | ||||
| -rw-r--r-- | include/relabsd/device/physical_device.h | 6 | ||||
| -rw-r--r-- | include/relabsd/device/virtual_device.h | 4 | ||||
| -rw-r--r-- | include/relabsd/server.h | 39 | ||||
| -rw-r--r-- | include/relabsd/server_types.h | 18 | 
8 files changed, 102 insertions, 4 deletions
| diff --git a/include/relabsd/client.h b/include/relabsd/client.h index e69de29..21e3b74 100644 --- a/include/relabsd/client.h +++ b/include/relabsd/client.h @@ -0,0 +1,12 @@ +#pragma once + +#include <relabsd/client_types.h> + +#include <relabsd/config/parameters.h> + +int relabsd_client_main +( +   const int argc, +   const char * const argv [const static argc], +   struct relabsd_parameters parameters [const restrict static 1] +); diff --git a/include/relabsd/config/parameters.h b/include/relabsd/config/parameters.h index 8a5df32..215f61c 100644 --- a/include/relabsd/config/parameters.h +++ b/include/relabsd/config/parameters.h @@ -75,5 +75,21 @@ enum relabsd_parameters_run_mode relabsd_parameters_get_execution_mode  struct relabsd_axis * relabsd_parameters_get_axis  (     const enum relabsd_axis_name i, +   struct relabsd_parameters parameters [const restrict static 1] +); + +void relabsd_parameters_set_timeout +( +   const int timeout_msec, +   struct relabsd_parameters parameters [const restrict static 1] +); + +struct timeval relabsd_parameters_get_timeout +( +   const struct relabsd_parameters parameters [const restrict static 1] +); + +int relabsd_parameters_use_timeout +(     const struct relabsd_parameters parameters [const restrict static 1]  ); diff --git a/include/relabsd/config/parameters_types.h b/include/relabsd/config/parameters_types.h index e6c4009..f7b82b1 100644 --- a/include/relabsd/config/parameters_types.h +++ b/include/relabsd/config/parameters_types.h @@ -1,5 +1,7 @@  #pragma once +#include <sys/time.h> +  #include <relabsd/device/axis_types.h>  enum relabsd_parameters_run_mode @@ -18,6 +20,7 @@ struct relabsd_parameters     const char * device_name;     const char * physical_device_file_name;     const char * configuration_file; -   int timeout; /* TODO: use time structure + enabled flag */ +   int use_timeout; +   struct timeval timeout;     struct relabsd_axis axes[RELABSD_AXIS_VALID_AXES_COUNT];  }; diff --git a/include/relabsd/device/axis.h b/include/relabsd/device/axis.h index 792a1cd..1638b80 100644 --- a/include/relabsd/device/axis.h +++ b/include/relabsd/device/axis.h @@ -82,3 +82,9 @@ void relabsd_axis_to_absinfo     struct relabsd_axis axis [const restrict static 1],     struct input_absinfo absinfo [const restrict static 1]  ); + +int relabsd_axis_filter_new_value +( +   struct relabsd_axis axis [const restrict static 1], +   int value [const restrict static 1] +); diff --git a/include/relabsd/device/physical_device.h b/include/relabsd/device/physical_device.h index 910d46f..33ff18a 100644 --- a/include/relabsd/device/physical_device.h +++ b/include/relabsd/device/physical_device.h @@ -27,7 +27,6 @@ void relabsd_physical_device_close   *   * The 'input_*' parameters do not need to be initialized, as the function will   * do that for you (on success). - * Requires 'input' to be open.   */  int relabsd_physical_device_read  ( @@ -41,3 +40,8 @@ int relabsd_physical_device_is_late  (     const struct relabsd_physical_device device [const restrict static 1]  ); + +int relabsd_physical_device_get_file_descriptor +( +   const struct relabsd_physical_device device [const restrict static 1] +); diff --git a/include/relabsd/device/virtual_device.h b/include/relabsd/device/virtual_device.h index 5ffd1c9..fffb2a3 100644 --- a/include/relabsd/device/virtual_device.h +++ b/include/relabsd/device/virtual_device.h @@ -21,7 +21,7 @@   */  int relabsd_virtual_device_create_from  ( -   const struct relabsd_parameters parameters [const restrict static 1], +   struct relabsd_parameters parameters [const restrict static 1],     struct relabsd_virtual_device device [const restrict static 1]  ); @@ -51,6 +51,6 @@ int relabsd_virtual_device_write_evdev_event   */  void relabsd_virtual_device_set_axes_to_zero  ( -   const struct relabsd_parameters parameters [const restrict static 1], +   struct relabsd_parameters parameters [const restrict static 1],     const struct relabsd_virtual_device device [const restrict static 1]  ); diff --git a/include/relabsd/server.h b/include/relabsd/server.h index e69de29..2bc0447 100644 --- a/include/relabsd/server.h +++ b/include/relabsd/server.h @@ -0,0 +1,39 @@ +#pragma once + +#include <relabsd/server_types.h> + +int relabsd_server_main +( +   const int argc, +   const char * const argv [const static argc], +   struct relabsd_parameters parameters [const static 1] +); + +int relabsd_server_create_daemon (void); + +int relabsd_server_keep_running (void); +void relabsd_server_interrupt (void); +int relabsd_server_initialize_signal_handlers (void); +void relabsd_server_finalize_signal_handlers (void); +int relabsd_server_get_interruption_file_descriptor (void); + +int relabsd_server_create_communication_thread +( +   struct relabsd_server server [const static 1] +); + +int relabsd_server_create_communication_node +( +   const char socket_name [const restrict static 1], +   int socket [const restrict static 1] +); + +int relabsd_server_conversion_loop +( +   struct relabsd_server server [const static 1] +); + +int relabsd_server_join_communication_thread +( +   struct relabsd_server server [const static 1] +); diff --git a/include/relabsd/server_types.h b/include/relabsd/server_types.h index e69de29..51a17de 100644 --- a/include/relabsd/server_types.h +++ b/include/relabsd/server_types.h @@ -0,0 +1,18 @@ +#pragma once + +/**** POSIX *******************************************************************/ +#include <pthread.h> + +/**** RELABSD *****************************************************************/ +#include <relabsd/config/parameters_types.h> + +#include <relabsd/device/physical_device_types.h> +#include <relabsd/device/virtual_device_types.h> + +struct relabsd_server +{ +   pthread_t communication_thread; +   struct relabsd_parameters parameters; +   struct relabsd_physical_device physical_device; +   struct relabsd_virtual_device virtual_device; +}; | 


