| 
    GATE
    
   C/C++ Framework 
   | 
 
OS service and daemon management utilities. More...
#include "gate/system/gate_system_api.h"#include "gate/gatetypes.h"#include "gate/strings.h"#include "gate/arrays.h"Data Structures | |
| struct | gate_service_class | 
| Service entry data record.  More... | |
| struct | gate_service_config_class | 
| Service configuration data record.  More... | |
Macros | |
| #define | GATE_SERVICE_STATE_UNKNOWN 0 | 
| #define | GATE_SERVICE_STATE_STOPPED 1 | 
| #define | GATE_SERVICE_STATE_RUNNING 2 | 
| #define | GATE_SERVICE_STATE_ERROR 3 | 
| #define | GATE_SERVICE_STATE_PAUSED 4 | 
| #define | GATE_SERVICE_STATE_STARTING 5 | 
| #define | GATE_SERVICE_STATE_STOPPING 6 | 
| #define | GATE_SERVICE_FLAG_AUTOSTART 1 | 
| #define | GATE_SERVICE_FLAG_DISABLED 2 | 
Typedefs | |
| typedef struct gate_service_class | gate_service_t | 
| Service entry data record.  | |
| typedef struct gate_service_config_class | gate_service_config_t | 
| Service configuration data record.  | |
| typedef gate_bool_t(* | gate_service_enum_callback_t) (gate_service_t const *service, void *user_param) | 
| function callback type to receive enumerated services  | |
| typedef void(* | gate_service_message_callback_t) (gate_string_t const *message, void *user_param) | 
| function callback that receives progress messages during operation  | |
Functions | |
| GATE_SYSTEM_API gate_result_t | gate_services_enum (gate_service_enum_callback_t callback, void *user_param) | 
| Enumerates all available service and invokes a callback for each entry.   | |
| GATE_SYSTEM_API gate_result_t | gate_service_start (gate_string_t const *name, gate_service_message_callback_t msg_callback, void *user_param) | 
| Starts a service identified by its name.   | |
| GATE_SYSTEM_API gate_result_t | gate_service_stop (gate_string_t const *name, gate_uint32_t wait_timeout, gate_bool_t force, gate_service_message_callback_t msg_callback, void *user_param) | 
| Stops a running service identified by its name.   | |
| GATE_SYSTEM_API gate_result_t | gate_service_get_config (gate_string_t const *name, gate_service_config_t *config) | 
| Retrieves a configuration record from a service.   | |
| GATE_SYSTEM_API gate_result_t | gate_service_get_status (gate_string_t const *name, gate_enumint_t *state, gate_string_t *process_id) | 
| Retrieves a current status of a service.   | |
| GATE_SYSTEM_API gate_result_t | gate_service_register (gate_string_t const *name, gate_string_t const *command, gate_string_t const *descr, gate_uint32_t flags, gate_string_t const *dependencies, gate_service_message_callback_t msg_callback, void *user_param) | 
| Registers a new service process in the system's service manager.   | |
| GATE_SYSTEM_API gate_result_t | gate_service_unregister (gate_string_t const *name, gate_service_message_callback_t msg_callback, void *user_param) | 
| Unregisters a registered service.   | |
| GATE_SYSTEM_API char const * | gate_service_print_state (gate_enumint_t state) | 
| Returns a human readable string representing a GATE_SERVICE_STATE_* value.  | |
OS service and daemon management utilities.
| #define GATE_SERVICE_STATE_UNKNOWN 0 | 
state of service is unknown
| #define GATE_SERVICE_STATE_STOPPED 1 | 
service is NOT running (offline)
| #define GATE_SERVICE_STATE_RUNNING 2 | 
service is running (online)
| #define GATE_SERVICE_STATE_ERROR 3 | 
service is in error state and not functional
| #define GATE_SERVICE_STATE_PAUSED 4 | 
service was started and is currently paused
| #define GATE_SERVICE_STATE_STARTING 5 | 
service is starting but not yet ready to be used
| #define GATE_SERVICE_STATE_STOPPING 6 | 
service is running but currently shuting down
| #define GATE_SERVICE_FLAG_AUTOSTART 1 | 
service is automatically started
| #define GATE_SERVICE_FLAG_DISABLED 2 | 
service is disabled and cannot be started
| GATE_SYSTEM_API gate_result_t gate_services_enum | ( | gate_service_enum_callback_t | callback, | 
| void * | user_param ) | 
Enumerates all available service and invokes a callback for each entry.
| [in] | callback | Callback to be called for each service entry | 
| [in] | user_param | User parameter attached to each callback call | 
| GATE_SYSTEM_API gate_result_t gate_service_start | ( | gate_string_t const * | name, | 
| gate_service_message_callback_t | msg_callback, | ||
| void * | user_param ) | 
Starts a service identified by its name.
| [in] | name | Name of services to be started | 
| [in] | msg_callback | Optional callback for startup-messages during service startup | 
| [in] | user_param | Parameter attached to each msg_callback call | 
| GATE_SYSTEM_API gate_result_t gate_service_stop | ( | gate_string_t const * | name, | 
| gate_uint32_t | wait_timeout, | ||
| gate_bool_t | force, | ||
| gate_service_message_callback_t | msg_callback, | ||
| void * | user_param ) | 
Stops a running service identified by its name.
| [in] | name | Name of services to be stopped | 
| [in] | msg_callback | Optional callback for shutdown-messages during service startup | 
| [in] | user_param | Parameter attached to each msg_callback call | 
| GATE_SYSTEM_API gate_result_t gate_service_get_config | ( | gate_string_t const * | name, | 
| gate_service_config_t * | config ) | 
Retrieves a configuration record from a service.
| [in] | name | Name of services to be accessed | 
| [out] | config | Pointer to configuration object to be initialized with service data | 
| GATE_SYSTEM_API gate_result_t gate_service_get_status | ( | gate_string_t const * | name, | 
| gate_enumint_t * | state, | ||
| gate_string_t * | process_id ) | 
Retrieves a current status of a service.
| [in] | name | Name of services to be accessed | 
| [out] | state | Pointer to integer to be initialized with GATE_SERVICE_STATE_* value | 
| [out] | process_id | Optional pointer to string to be initialized with serialized process identifier | 
| GATE_SYSTEM_API gate_result_t gate_service_register | ( | gate_string_t const * | name, | 
| gate_string_t const * | command, | ||
| gate_string_t const * | descr, | ||
| gate_uint32_t | flags, | ||
| gate_string_t const * | dependencies, | ||
| gate_service_message_callback_t | msg_callback, | ||
| void * | user_param ) | 
Registers a new service process in the system's service manager.
| [in] | name | Name of new service | 
| [in] | command | Command line string required to start the service | 
| [in] | descr | Optional description of the service | 
| [in] | flags | Additional service related flags | 
| [in] | dependencies | comma separated list of service names that need to start before the new service | 
| [in] | msg_callback | Optional callback function that receives status messages during registration process | 
| [in] | user_param | User parameter attached to each call of msg_callback | 
| GATE_SYSTEM_API gate_result_t gate_service_unregister | ( | gate_string_t const * | name, | 
| gate_service_message_callback_t | msg_callback, | ||
| void * | user_param ) | 
Unregisters a registered service.
| [in] | name | Name of new service | 
| [in] | msg_callback | Optional callback function that receives status messages during unregistration process | 
| [in] | user_param | User parameter attached to each call of msg_callback |