GNUnet  0.20.0
gnunet_client_lib.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2001-2013, 2016 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
20 
42 #if !defined (__GNUNET_UTIL_LIB_H_INSIDE__)
43 #error "Only <gnunet_util_lib.h> can be included directly."
44 #endif
45 
46 #ifndef GNUNET_CLIENT_LIB_H
47 #define GNUNET_CLIENT_LIB_H
48 
49 #ifdef __cplusplus
50 extern "C"
51 {
52 #if 0 /* keep Emacsens' auto-indent happy */
53 }
54 #endif
55 #endif
56 
57 
58 #include "gnunet_mq_lib.h"
59 
60 
73 int
75  const char *service_name);
76 
77 
89 struct GNUNET_MQ_Handle *
91  const char *service_name,
92  const struct GNUNET_MQ_MessageHandler *handlers,
94  void *error_handler_cls);
95 
96 
97 #if 0 /* keep Emacsens' auto-indent happy */
98 {
99 #endif
100 #ifdef __cplusplus
101 }
102 #endif
103 
104 /* ifndef GNUNET_CLIENT_LIB_H */
105 #endif
106  /* end of group client */
108  /* end of group addition */
110  /* end of group addition */
112 
113 /* end of gnunet_client_lib.h */
static void error_handler(void *cls, enum GNUNET_MQ_Error error)
We encountered an error handling the MQ to the ATS service.
static const struct GNUNET_CONFIGURATION_Handle * cfg
Configuration we are using.
Definition: gnunet-abd.c:36
static struct GNUNET_CADET_MessageHandler handlers[]
Handlers, for diverse services.
static char * service_name
Option -s: service name (hash to get service descriptor)
Definition: gnunet-vpn.c:50
General-purpose message queue.
int GNUNET_CLIENT_test(const struct GNUNET_CONFIGURATION_Handle *cfg, const char *service_name)
Test if the port or UNIXPATH of the given service_name is in use and thus (most likely) the respectiv...
Definition: client.c:903
struct GNUNET_MQ_Handle * GNUNET_CLIENT_connect(const struct GNUNET_CONFIGURATION_Handle *cfg, const char *service_name, const struct GNUNET_MQ_MessageHandler *handlers, GNUNET_MQ_ErrorHandler error_handler, void *error_handler_cls)
Create a message queue to connect to a GNUnet service.
Definition: client.c:1057
void(* GNUNET_MQ_ErrorHandler)(void *cls, enum GNUNET_MQ_Error error)
Generic error handler, called with the appropriate error code and the same closure specified at the c...
Handle to a message queue.
Definition: mq.c:87
void * error_handler_cls
Closure for the error handler.
Definition: mq.c:122
Message handler for a specific message type.