
As part of this, we import bpf_filter.c from NetBSD. Even though that file is part of the NetBSD kernel, it is also used by userland (as is clear here). Our LWIP service has its own bpf_filter.c implementation but that implementation has certain limits (e.g. on program size) that are fine for a system service but should not apply to userland. The libpcap code has a number of blocks guarded by __NetBSD__, but none of those blocks apply to MINIX 3. In particular, some of the alignment logic used for NetBSD may in fact not work in our case. Change-Id: Ib187e22d627c929e111d5d4a991c3bee3c0154cb
45 lines
673 B
C
45 lines
673 B
C
/* Define __P() macro, if necessary */
|
|
|
|
#ifndef __P
|
|
#if __STDC__
|
|
#define __P(protos) protos
|
|
#else
|
|
#define __P(protos) ()
|
|
#endif
|
|
#endif
|
|
|
|
/* inline foo */
|
|
#ifndef __cplusplus
|
|
#ifdef __GNUC__
|
|
#define inline __inline
|
|
#else
|
|
#define inline
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* Handle new and old "dead" routine prototypes
|
|
*
|
|
* For example:
|
|
*
|
|
* __dead void foo(void) __attribute__((volatile));
|
|
*
|
|
*/
|
|
#ifdef __GNUC__
|
|
#ifndef __dead
|
|
#define __dead volatile
|
|
#endif
|
|
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
|
|
#ifndef __attribute__
|
|
#define __attribute__(args)
|
|
#endif
|
|
#endif
|
|
#else
|
|
#ifndef __dead
|
|
#define __dead
|
|
#endif
|
|
#ifndef __attribute__
|
|
#define __attribute__(args)
|
|
#endif
|
|
#endif
|