Handle to a service. More...
Data Fields | |
| const struct GNUNET_CONFIGURATION_Handle * | cfg |
| Our configuration. | |
| const struct GNUNET_OS_ProjectData * | pd |
| Project data of this service. | |
| const char * | service_name |
| Name of our service. | |
| GNUNET_SERVICE_InitCallback | service_init_cb |
| Main service-specific task to run. | |
| GNUNET_SERVICE_ConnectHandler | connect_cb |
| Function to call when clients connect. | |
| GNUNET_SERVICE_DisconnectHandler | disconnect_cb |
| Function to call when clients disconnect / are disconnected. | |
| void * | cb_cls |
| Closure for service_init_cb, connect_cb, disconnect_cb. | |
| struct ServiceListenContext * | slc_head |
| DLL of listen sockets used to accept new connections. | |
| struct ServiceListenContext * | slc_tail |
| DLL of listen sockets used to accept new connections. | |
| struct GNUNET_SERVICE_Client * | clients_head |
| Our clients, kept in a DLL. | |
| struct GNUNET_SERVICE_Client * | clients_tail |
| Our clients, kept in a DLL. | |
| struct GNUNET_MQ_MessageHandler * | handlers |
| Message handlers to use for all clients. | |
| void * | task_cls |
| Closure for task. | |
| struct GNUNET_STRINGS_IPv4NetworkPolicy * | v4_denied |
| IPv4 addresses that are not allowed to connect. | |
| struct GNUNET_STRINGS_IPv6NetworkPolicy * | v6_denied |
| IPv6 addresses that are not allowed to connect. | |
| struct GNUNET_STRINGS_IPv4NetworkPolicy * | v4_allowed |
| IPv4 addresses that are allowed to connect (if not set, all are allowed). | |
| struct GNUNET_STRINGS_IPv6NetworkPolicy * | v6_allowed |
| IPv6 addresses that are allowed to connect (if not set, all are allowed). | |
| int | match_uid |
| Do we require a matching UID for UNIX domain socket connections? GNUNET_NO means that the UID does not have to match (however, match_gid may still impose other access control checks). | |
| int | match_gid |
| Do we require a matching GID for UNIX domain socket connections? Ignored if match_uid is GNUNET_YES. | |
| enum SuspendReason | suspend_state |
| Are we suspended, and if so, why? | |
| enum GNUNET_SERVICE_Options | options |
| Our options. | |
| int | ready_confirm_fd |
| If we are daemonizing, this FD is set to the pipe to the parent. | |
| bool | require_found |
| If true, consider unknown message types an error where the client is disconnected. | |
| const struct GNUNET_CONFIGURATION_Handle* GNUNET_SERVICE_Handle::cfg |
| const struct GNUNET_OS_ProjectData* GNUNET_SERVICE_Handle::pd |
Project data of this service.
Definition at line 125 of file service.c.
Referenced by GNUNET_SERVICE_register_(), GNUNET_SERVICE_start(), and return_agpl().
| const char* GNUNET_SERVICE_Handle::service_name |
| GNUNET_SERVICE_InitCallback GNUNET_SERVICE_Handle::service_init_cb |
Main service-specific task to run.
Definition at line 135 of file service.c.
Referenced by GNUNET_SERVICE_register_().
| GNUNET_SERVICE_ConnectHandler GNUNET_SERVICE_Handle::connect_cb |
| GNUNET_SERVICE_DisconnectHandler GNUNET_SERVICE_Handle::disconnect_cb |
| void* GNUNET_SERVICE_Handle::cb_cls |
| struct ServiceListenContext* GNUNET_SERVICE_Handle::slc_head |
| struct ServiceListenContext* GNUNET_SERVICE_Handle::slc_tail |
| struct GNUNET_SERVICE_Client* GNUNET_SERVICE_Handle::clients_head |
Our clients, kept in a DLL.
Definition at line 165 of file service.c.
Referenced by GNUNET_SERVICE_stop().
| struct GNUNET_SERVICE_Client* GNUNET_SERVICE_Handle::clients_tail |
| struct GNUNET_MQ_MessageHandler* GNUNET_SERVICE_Handle::handlers |
Message handlers to use for all clients.
Definition at line 175 of file service.c.
Referenced by GNUNET_SERVICE_stop().
| struct GNUNET_STRINGS_IPv4NetworkPolicy* GNUNET_SERVICE_Handle::v4_denied |
| struct GNUNET_STRINGS_IPv6NetworkPolicy* GNUNET_SERVICE_Handle::v6_denied |
| struct GNUNET_STRINGS_IPv4NetworkPolicy* GNUNET_SERVICE_Handle::v4_allowed |
| struct GNUNET_STRINGS_IPv6NetworkPolicy* GNUNET_SERVICE_Handle::v6_allowed |
| int GNUNET_SERVICE_Handle::match_uid |
| int GNUNET_SERVICE_Handle::match_gid |
Do we require a matching GID for UNIX domain socket connections? Ignored if match_uid is GNUNET_YES.
Note that this is about checking that the client's UID is in our group OR that the client's GID is our GID. If both "match_gid" and match_uid are GNUNET_NO, all users on the local system have access.
| enum SuspendReason GNUNET_SERVICE_Handle::suspend_state |
Are we suspended, and if so, why?
Definition at line 223 of file service.c.
Referenced by GNUNET_SERVICE_client_mark_monitor().
| enum GNUNET_SERVICE_Options GNUNET_SERVICE_Handle::options |
| int GNUNET_SERVICE_Handle::ready_confirm_fd |
| bool GNUNET_SERVICE_Handle::require_found |