| 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 /src/server/server.c | |
| parent | 0c68e544b113f0493b9b80511c26c1e4584bd1e7 (diff) | |
...
Diffstat (limited to 'src/server/server.c')
| -rw-r--r-- | src/server/server.c | 45 | 
1 files changed, 29 insertions, 16 deletions
| diff --git a/src/server/server.c b/src/server/server.c index d6678d2..2988732 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -5,22 +5,25 @@  #include <relabsd/config/parameters.h> +#include <relabsd/device/physical_device.h> +#include <relabsd/device/virtual_device.h> +  /******************************************************************************/  /**** LOCAL FUNCTIONS *********************************************************/  /******************************************************************************/  static int initialize  ( -   struct relabsd_server server [const restrict static 1], -   struct relabsd_parameters parameters [const static 1] +   struct relabsd_server server [const restrict static 1]  )  { -   server->parameters = parameters; -     if     (        relabsd_physical_device_open        ( -         relabsd_parameters_get_physical_device_name(parameters), +         relabsd_parameters_get_physical_device_file_name +         ( +            &(server->parameters) +         ),           &(server->physical_device)        )        < 0 @@ -29,7 +32,15 @@ static int initialize        return -1;     } -   if (relabsd_virtual_device_create(parameters, &(server->virtual_device)) < 0) +   if +   ( +      relabsd_virtual_device_create_from +      ( +         &(server->parameters), +         &(server->virtual_device) +      ) +      < 0 +   )     {        relabsd_physical_device_close(&(server->physical_device)); @@ -39,10 +50,10 @@ static int initialize     if     (        ( -         relabsd_parameters_get_communication_node_name(parameters) +         relabsd_parameters_get_communication_node_name(&(server->parameters))           != ((char *) NULL)        ) -      && (relabsd_server_create_communication_thread(&server) < 0) +      && (relabsd_server_create_communication_thread(server) < 0)     )     {        relabsd_virtual_device_destroy(&(server->virtual_device)); @@ -58,11 +69,11 @@ static void finalize (struct relabsd_server server [const static 1])  {     if     ( -      relabsd_parameters_get_communication_node_name(server->parameters) +      relabsd_parameters_get_communication_node_name(&(server->parameters))        != ((char *) NULL)     )     { -      relabsd_server_join_communication_thread(&server); +      relabsd_server_join_communication_thread(server);     }     relabsd_virtual_device_destroy(&(server->virtual_device)); @@ -72,32 +83,34 @@ static void finalize (struct relabsd_server server [const static 1])  /******************************************************************************/  /**** EXPORTED FUNCTIONS ******************************************************/  /******************************************************************************/ -int relabsd_server +int relabsd_server_main  (     const int argc, -   const char * const argv [const restrict static argc], -   struct relabsd_parameters parameters [const static 1] +   const char * const argv [const static argc], +   struct relabsd_parameters parameters [const restrict static 1]  )  {     struct relabsd_server server; +   server.parameters = *parameters; +     RELABSD_S_DEBUG(RELABSD_DEBUG_PROGRAM_FLOW, "Started server mode."); -   if (relabsd_parameters_parse_options(argc, argv, parameters) < 0) +   if (relabsd_parameters_parse_options(argc, argv, &(server.parameters)) < 0)     {        return -1;     }     if     ( -      relabsd_parameters_get_run_as_daemon(parameters) +      relabsd_parameters_get_run_as_daemon(&(server.parameters))        && (relabsd_server_create_daemon() < 0)     )     {        return -2;     } -   (void) initialize(&server, parameters); +   (void) initialize(&server);     (void) relabsd_server_conversion_loop(&server); | 


