From 3f3e58db2051137353eb2cbba79ed579d3e30c13 Mon Sep 17 00:00:00 2001 From: Hugo Santos Date: Tue, 8 May 2007 17:01:10 +0000 Subject: [PATCH] freebsd compat. layer: gcc 4 fixes, it seems __FUNCTION__ is variant. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21074 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/libs/compat/freebsd_network/compat/sys/_task.h | 11 +++++++++++ .../compat/freebsd_network/compat/sys/taskqueue.h | 4 +--- src/libs/compat/freebsd_network/device.h | 13 +++++++++++-- src/libs/compat/freebsd_network/taskqueue.c | 10 ---------- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/libs/compat/freebsd_network/compat/sys/_task.h b/src/libs/compat/freebsd_network/compat/sys/_task.h index 9d284374c4..c1fab53ffb 100644 --- a/src/libs/compat/freebsd_network/compat/sys/_task.h +++ b/src/libs/compat/freebsd_network/compat/sys/_task.h @@ -1,7 +1,18 @@ #ifndef _FBSD_COMPAT_SYS__TASK_H_ #define _FBSD_COMPAT_SYS__TASK_H_ +/* Haiku's list management */ +#include + +typedef void (*task_handler_t)(void *context, int pending); + struct task { + int ta_priority; + task_handler_t ta_handler; + void *ta_argument; + int ta_pending; + + struct list_link ta_link; }; #endif diff --git a/src/libs/compat/freebsd_network/compat/sys/taskqueue.h b/src/libs/compat/freebsd_network/compat/sys/taskqueue.h index 2e39caaf1e..36afe8920f 100644 --- a/src/libs/compat/freebsd_network/compat/sys/taskqueue.h +++ b/src/libs/compat/freebsd_network/compat/sys/taskqueue.h @@ -2,14 +2,12 @@ #define _FBSD_COMPAT_SYS_TASKQUEUE_H_ #include +#include #define PI_NET 0 -struct task; struct taskqueue; -typedef void (*task_handler_t)(void *context, int pending); - #define TASK_INIT(taskp, prio, hand, arg) task_init(taskp, prio, hand, arg) typedef void (*taskqueue_enqueue_fn)(void *context); diff --git a/src/libs/compat/freebsd_network/device.h b/src/libs/compat/freebsd_network/device.h index 365167d8c5..0277b84082 100644 --- a/src/libs/compat/freebsd_network/device.h +++ b/src/libs/compat/freebsd_network/device.h @@ -11,6 +11,7 @@ #define _DEVICE_H_ #include +#include #include #include @@ -51,8 +52,16 @@ enum { }; -#define UNIMPLEMENTED() \ - panic("fbsd compat, unimplemented: " __FUNCTION__) +static inline void +__unimplemented(const char *method) +{ + char msg[128]; + snprintf(msg, sizeof(msg), "fbsd compat, unimplemented: %s", method); + panic(msg); +} + + +#define UNIMPLEMENTED() __unimplemented(__FUNCTION__) status_t init_mbufs(void); void uninit_mbufs(void); diff --git a/src/libs/compat/freebsd_network/taskqueue.c b/src/libs/compat/freebsd_network/taskqueue.c index d7799e421b..9e7309c529 100644 --- a/src/libs/compat/freebsd_network/taskqueue.c +++ b/src/libs/compat/freebsd_network/taskqueue.c @@ -9,20 +9,10 @@ #include "device.h" #include -#include #include #include -struct task { - int ta_priority; - task_handler_t ta_handler; - void *ta_argument; - int ta_pending; - - struct list_link ta_link; -}; - struct taskqueue { char tq_name[64]; mutex tq_mutex;