]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
kernel-libipsec: Use CALLBACK for libipsec callbacks
authorTobias Brunner <tobias@strongswan.org>
Thu, 11 May 2023 14:17:09 +0000 (16:17 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 23 May 2023 11:19:47 +0000 (13:19 +0200)
src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.c

index 884616345f8a05052226a5fa9e11f7c2523faf56..7c6d3c3ba4d3ad521dcf95401bc2408f4379d8c8 100644 (file)
@@ -94,28 +94,21 @@ static bool tun_entry_equals(tun_entry_t *a, tun_entry_t *b)
        return a->addr->ip_equals(a->addr, b->addr);
 }
 
-/**
- * Outbound callback
- */
-static void send_esp(void *data, esp_packet_t *packet)
+CALLBACK(send_esp, void,
+       void *data, esp_packet_t *packet)
 {
        charon->sender->send_no_marker(charon->sender, (packet_t*)packet);
 }
 
-/**
- * Receiver callback
- */
-static void receiver_esp_cb(void *data, packet_t *packet)
+CALLBACK(receiver_esp_cb, void,
+       void *data, packet_t *packet)
 {
        ipsec->processor->queue_inbound(ipsec->processor,
                                                                        esp_packet_create_from_packet(packet));
 }
 
-/**
- * Inbound callback
- */
-static void deliver_plain(private_kernel_libipsec_router_t *this,
-                                                 ip_packet_t *packet)
+CALLBACK(deliver_plain, void,
+       private_kernel_libipsec_router_t *this, ip_packet_t *packet)
 {
        tun_device_t *tun;
        tun_entry_t *entry, lookup = {
@@ -292,12 +285,9 @@ METHOD(kernel_libipsec_router_t, get_tun_name, char*,
 METHOD(kernel_libipsec_router_t, destroy, void,
        private_kernel_libipsec_router_t *this)
 {
-       charon->receiver->del_esp_cb(charon->receiver,
-                                                               (receiver_esp_cb_t)receiver_esp_cb);
-       ipsec->processor->unregister_outbound(ipsec->processor,
-                                                                                (ipsec_outbound_cb_t)send_esp);
-       ipsec->processor->unregister_inbound(ipsec->processor,
-                                                                                (ipsec_inbound_cb_t)deliver_plain);
+       charon->receiver->del_esp_cb(charon->receiver, receiver_esp_cb);
+       ipsec->processor->unregister_outbound(ipsec->processor, send_esp);
+       ipsec->processor->unregister_inbound(ipsec->processor, deliver_plain);
        charon->kernel->remove_listener(charon->kernel, &this->public.listener);
        this->lock->destroy(this->lock);
        this->tuns->destroy(this->tuns);
@@ -352,10 +342,8 @@ kernel_libipsec_router_t *kernel_libipsec_router_create()
 
        charon->kernel->add_listener(charon->kernel, &this->public.listener);
        ipsec->processor->register_outbound(ipsec->processor, send_esp, NULL);
-       ipsec->processor->register_inbound(ipsec->processor,
-                                                                       (ipsec_inbound_cb_t)deliver_plain, this);
-       charon->receiver->add_esp_cb(charon->receiver,
-                                                                       (receiver_esp_cb_t)receiver_esp_cb, NULL);
+       ipsec->processor->register_inbound(ipsec->processor, deliver_plain, this);
+       charon->receiver->add_esp_cb(charon->receiver, receiver_esp_cb, NULL);
        lib->processor->queue_job(lib->processor,
                        (job_t*)callback_job_create((callback_job_cb_t)handle_plain, this,
                                                                        NULL, (callback_job_cancel_t)return_false));