WIP -- prepare for request objects.
[radsecproxy.git] / lib / request.c
1 /* See the file COPYING for licensing information.  */
2
3 #include <time.h>
4 #include <event2/event.h>
5 #include <radsec/radsec.h>
6 #include <radsec/radsec-impl.h>
7 #include <radsec/request.h>
8 #include <radsec/request-impl.h>
9
10 int
11 rs_req_create (struct rs_connection *conn, struct rs_request **req_out)
12 {
13   struct rs_request *req = rs_malloc (conn->ctx, sizeof(*req));
14   if (!req)
15     return rs_conn_err_push_fl (conn, RSE_NOMEM, __FILE__, __LINE__, NULL);
16   memset (req, 0, sizeof(*req));
17   req->conn = conn;
18   *req_out = req;
19   return RSE_OK;
20 }
21
22 void
23 rs_req_destroy(struct rs_request *request)
24 {
25   rs_packet_destroy (request->req);
26   rs_packet_destroy (request->resp);
27   rs_free (request->conn->ctx, request);
28 }
29
30 #if 0
31 static void
32 _timer_cb(evutil_socket_t fd, short what, void *arg)
33
34 {
35 }
36 #endif
37
38 int
39 rs_req_send(struct rs_request *request, struct rs_packet *req,
40             struct rs_packet **resp)
41 {
42   /* install our own callback, backing up any user provided one in
43      req->saved_cb*/
44
45   return -1;
46 }