/*
This file is part of GNUnet
- (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 GNUnet e.V.
- GNUnet is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
#include "gnunet_os_lib.h"
#include "gnunet_nat_lib.h"
#include "microhttpd.h"
+#if HAVE_CURL_CURL_H
#include <curl/curl.h>
+#elif HAVE_GNURL_CURL_H
+#include <gnurl/curl.h>
+#endif
#define DEBUG_HTTP GNUNET_EXTRA_LOGGING
/**
* Head of linked list of open sessions.
*/
- struct Session *head;
+ struct GNUNET_ATS_Session *head;
/**
* Tail of linked list of open sessions.
*/
- struct Session *tail;
+ struct GNUNET_ATS_Session *tail;
/**
* NAT handle & address management
/**
* Task calling transport service about external address
*/
- GNUNET_SCHEDULER_TaskIdentifier notify_ext_task;
+ struct GNUNET_SCHEDULER_Task * notify_ext_task;
/**
* Plugin name.
/**
* MHD IPv4 task
*/
- GNUNET_SCHEDULER_TaskIdentifier server_v4_task;
+ struct GNUNET_SCHEDULER_Task * server_v4_task;
/**
* The IPv4 server is scheduled to run asap
/**
* MHD IPv4 task
*/
- GNUNET_SCHEDULER_TaskIdentifier server_v6_task;
+ struct GNUNET_SCHEDULER_Task * server_v6_task;
/**
* The IPv6 server is scheduled to run asap
* A full session consists of 2 semi-connections: send and receive
* If not both directions are established the server keeps this sessions here
*/
- struct Session *server_semi_head;
+ struct GNUNET_ATS_Session *server_semi_head;
/**
* Tail of server semi connections
* A full session consists of 2 semi-connections: send and receive
* If not both directions are established the server keeps this sessions here
*/
- struct Session *server_semi_tail;
+ struct GNUNET_ATS_Session *server_semi_tail;
/**
* cURL Multihandle
/**
* curl perform task
*/
- GNUNET_SCHEDULER_TaskIdentifier client_perform_task;
+ struct GNUNET_SCHEDULER_Task * client_perform_task;
};
/**
* The session this server connection belongs to
*/
- struct Session *session;
+ struct GNUNET_ATS_Session *session;
/**
* The MHD connection
/**
* Session handle for connections.
*/
-struct Session
+struct GNUNET_ATS_Session
{
/**
* To whom are we talking to
/**
* Stored in a linked list.
*/
- struct Session *next;
+ struct GNUNET_ATS_Session *next;
/**
* Stored in a linked list.
*/
- struct Session *prev;
+ struct GNUNET_ATS_Session *prev;
/**
* Pointer to the global plugin struct.
/**
* Task to wake up client receive handle when receiving is allowed again
*/
- GNUNET_SCHEDULER_TaskIdentifier recv_wakeup_task;
+ struct GNUNET_SCHEDULER_Task * recv_wakeup_task;
/**
* Session timeout task
*/
- GNUNET_SCHEDULER_TaskIdentifier timeout_task;
+ struct GNUNET_SCHEDULER_Task * timeout_task;
/**
* Is client send handle paused since there are no data to send?
};
-struct Session *
+struct GNUNET_ATS_Session *
create_session (struct Plugin *plugin,
const struct GNUNET_PeerIdentity *target,
const void *addr,
int
exist_session (struct Plugin *plugin,
- struct Session *s);
+ struct GNUNET_ATS_Session *s);
void
-delete_session (struct Session *s);
+delete_session (struct GNUNET_ATS_Session *s);
int
exist_session (struct Plugin *plugin,
- struct Session *s);
+ struct GNUNET_ATS_Session *s);
struct GNUNET_TIME_Relative
http_plugin_receive (void *cls,
const struct GNUNET_PeerIdentity *peer,
const struct GNUNET_MessageHeader *message,
- struct Session *session,
+ struct GNUNET_ATS_Session *session,
const char *sender_address,
uint16_t sender_address_len);
int
-client_disconnect (struct Session *s);
+client_disconnect (struct GNUNET_ATS_Session *s);
int
-client_connect (struct Session *s);
+client_connect (struct GNUNET_ATS_Session *s);
int
-client_send (struct Session *s, struct HTTP_Message *msg);
+client_send (struct GNUNET_ATS_Session *s, struct HTTP_Message *msg);
int
int
-server_disconnect (struct Session *s);
+server_disconnect (struct GNUNET_ATS_Session *s);
int
-server_send (struct Session *s, struct HTTP_Message *msg);
+server_send (struct GNUNET_ATS_Session *s, struct HTTP_Message *msg);
int
void
notify_session_end (void *cls,
const struct GNUNET_PeerIdentity *peer,
- struct Session *s);
+ struct GNUNET_ATS_Session *s);
/*#ifndef PLUGIN_TRANSPORT_HTTP_H*/