--- libaitrpc/src/srv.c 2025/03/31 12:21:07 1.33 +++ libaitrpc/src/srv.c 2025/03/31 17:02:29 1.33.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: srv.c,v 1.33 2025/03/31 12:21:07 misho Exp $ +* $Id: srv.c,v 1.33.2.1 2025/03/31 17:02:29 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -69,6 +69,27 @@ static void *txBPFPacket(sched_task_t *); static void *rxEXTPacket(sched_task_t *); static void *txEXTPacket(sched_task_t *); +#ifdef __linux__ + #ifdef __mips__ + static sched_task_func_t cbProto[SOCK_MAX_SUPPORT][4] = { + { acceptClients, closeClient, rxPacket, txPacket }, /* SOCK_STREAM */ + { rxUDPPacket, freeClient, NULL /*rxUDPPacket*/, txUDPPacket }, /* SOCK_DGRAM */ + { acceptClients, closeClient, rxPacket, txPacket }, /* SOCK_STREAM */ + { rxRAWPacket, freeClient, NULL /*rxRAWPacket*/, txRAWPacket }, /* SOCK_RAW */ + { rxBPFPacket, freeClient, NULL /*rxBPFPacket*/, txBPFPacket }, /* SOCK_BPF */ + { rxEXTPacket, freeClient, NULL /*rxEXTPacket*/, txEXTPacket } /* SOCK_EXT */ + }; + #else + static sched_task_func_t cbProto[SOCK_MAX_SUPPORT][4] = { + { acceptClients, closeClient, rxPacket, txPacket }, /* SOCK_STREAM */ + { acceptClients, closeClient, rxPacket, txPacket }, /* SOCK_STREAM */ + { rxUDPPacket, freeClient, NULL /*rxUDPPacket*/, txUDPPacket }, /* SOCK_DGRAM */ + { rxRAWPacket, freeClient, NULL /*rxRAWPacket*/, txRAWPacket }, /* SOCK_RAW */ + { rxBPFPacket, freeClient, NULL /*rxBPFPacket*/, txBPFPacket }, /* SOCK_BPF */ + { rxEXTPacket, freeClient, NULL /*rxEXTPacket*/, txEXTPacket } /* SOCK_EXT */ + }; + #endif +#else static sched_task_func_t cbProto[SOCK_MAX_SUPPORT][4] = { { acceptClients, closeClient, rxPacket, txPacket }, /* SOCK_STREAM */ { acceptClients, closeClient, rxPacket, txPacket }, /* SOCK_STREAM */ @@ -77,6 +98,7 @@ static sched_task_func_t cbProto[SOCK_MAX_SUPPORT][4] { rxBPFPacket, freeClient, NULL /*rxBPFPacket*/, txBPFPacket }, /* SOCK_BPF */ { rxEXTPacket, freeClient, NULL /*rxEXTPacket*/, txEXTPacket } /* SOCK_EXT */ }; +#endif /* Global Signal Argument when kqueue support disabled */