summaryrefslogtreecommitdiff
path: root/lib/libradsec-libevent.h
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2010-09-02 01:20:58 +0200
committerLinus Nordberg <linus@nordu.net>2010-09-02 01:20:58 +0200
commit5f3d7c31ce76cac39449f1603d09dfadcfcfcc70 (patch)
treee6bab728ddef44d3305159ea43295604e4bc7bfe /lib/libradsec-libevent.h
parent0c6d7ffbda4d46a8f3a561b75b6334eba28df4fd (diff)
Rename libradsec-libevent.h --> libradsec-levent.h.
Diffstat (limited to 'lib/libradsec-libevent.h')
-rw-r--r--lib/libradsec-libevent.h102
1 files changed, 0 insertions, 102 deletions
diff --git a/lib/libradsec-libevent.h b/lib/libradsec-libevent.h
deleted file mode 100644
index 17e089a..0000000
--- a/lib/libradsec-libevent.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/** @file libradsec-libevent.h
- @brief API for libradsec-libevent. */
-
-/* FIXME: License blurb goes here. */
-
-#include "libradsec.h"
-
-typedef void (*rs_conn_connected_cb)(void *user_data /* FIXME: peer? */);
-typedef void (*rs_conn_disconnected_cb)(void *user_data /* FIXME: reason? */);
-typedef void (*rs_conn_packet_received_cb)(const struct rs_packet *packet,
- void *user_data);
-typedef void (*rs_conn_packet_sent_cb)(void *user_data);
-
-/** Connection callbacks. */
-struct rs_conn_callbacks {
- /** Callback invoked when the connection has been established. */
- rs_conn_connected_cb connected_cb;
- /** Callback invoked when the connection has been torn down. */
- rs_conn_disconnected_cb disconnected_cb;
- /** Callback invoked when a packet was received. */
- rs_conn_packet_received_cb received_cb;
- /** Callback invoked when a packet was successfully sent. */
- rs_conn_packet_sent_cb sent_cb;
-};
-
-
-/* Function prototypes. */
-
-/*
- FIXME: Do we want alloc and free? Or perhaps init and free,
- decoupling allocation from initialization? IMO we want _some_ init
- function, f.ex. for setting open_flag = 1 when type == UDP.
-
-struct conn *conn_alloc (enum conn_type type, struct sockaddr_in6 address, ...);
-void conn_free (struct conn *conn);
-*/
-
-/** Open connection and return 0 on success.
- @param conn Connection object, obtained through a call to @a
- conn_alloc.
- @param cb Callbacks for events on the connection. If NULL, all I/O
- will be blocking.
- @param user_data A pointer passed to the callbacks when invoked. */
-int rs_conn_open(struct rs_conn *conn,
- const struct rs_conn_callbacks *cb,
- void *user_data);
-
-/** Close connection and return 0 on success.
- @param conn Connection object, obtained through a call to @a
- conn_alloc.
- @param user_data A pointer passed to the callbacks when the @a
- disconnected_cb in @a conn is invoked. */
-int rs_conn_close(struct rs_conn *conn, void *user_data); /* FIXME: return type? */
-
-/** Allocate a packet object. Should be freed using @a rs_packet_free. */
-struct rs_packet *rs_packet_alloc();
-
-/** Free a packet object previously allocated with @a rs_packet_alloc. */
-void rs_packet_free();
-
-/** Add an attribute to a packet.
- @param packet The packet.
- @param attribute Attribute to add to packet. */
-int rs_packet_add_attribute(struct rs_packet *packet,
- const struct rs_attribute *attribute);
-
-/** Send @a packet on @a conn and return 0 on success.
- @param conn Connection object, obtained through a call to @a
- conn_alloc and opened with @a rs_conn_open.
- @param packet Packet to send.
- @param user_data Pointer passed to @a rs_conn_packet_sent_cb, invoked
- when packet has been sent.
- */
-int rs_packet_send(const struct rs_conn *conn,
- const struct rs_packet *packet,
- void *user_data);
-
-/** Return the next packet received on @a conn, blocking while waiting.
- The packet returned must be freed using @a rs_packet_free. */
-struct rs_packet *rs_packet_receive(const struct rs_conn *conn);
-
-
-/* Thinking out loud here...
-
- We could let the user drive the underlying libevent event loop in
- three different ways, from easiest to hairiest:
-
- i) Blocking i/o model: User passes NULL for the callbacks in
- rs_conn_open(). The open, send and receive calls will block until
- the desired event occurs. Other events occurring while waiting
- will be either silently discarded or signaled as an error
- (f.ex. broken connection while sending).
-
- ii) Simple event loop interface with a timeout: User calls
- rs_event_loop(timeout) to process pending i/o. Should be a good
- choice for most applications.
-
- iii) Full libevent interface: TODO.
- */
-
-
-#error "Need an rs_event_loop(). And more."