d6b92ffa99
kernel APIs. List of sources used: 1) rdma-core was cloned from "https://github.com/linux-rdma/rdma-core.git" Top commit d65138ef93af30b3ea249f3a84aa6a24ba7f8a75 2) OpenSM was cloned from git://git.openfabrics.org/~halr/opensm.git Top commit 85f841cf209f791c89a075048a907020e924528d 3) libibmad was cloned from "git://git.openfabrics.org/~iraweiny/libibmad.git" Tag 1.3.13 with some additional patches from Mellanox. 4) infiniband-diags was cloned from "git://git.openfabrics.org/~iraweiny/infiniband-diags.git" Tag 1.6.7 with some additional patches from Mellanox. Added the required Makefiles for building and installing. Sponsored by: Mellanox Technologies
42 lines
998 B
C
42 lines
998 B
C
/* $FreeBSD$ */
|
|
|
|
#include "alloca.h"
|
|
|
|
#define memalign(align, size) ({ \
|
|
void *__ptr; \
|
|
if (posix_memalign(&__ptr, (align), (size))) \
|
|
__ptr = NULL; \
|
|
__ptr; \
|
|
})
|
|
|
|
/*
|
|
* Return true if the snprintf succeeded, false if there was
|
|
* truncation or error:
|
|
*/
|
|
#define check_snprintf(buf, len, fmt, ...) ({ \
|
|
int rc = snprintf(buf, len, fmt, ##__VA_ARGS__); \
|
|
(rc < len && rc >= 0); \
|
|
})
|
|
|
|
#define min_t(type, x, y) ({ \
|
|
type __min1 = (x); \
|
|
type __min2 = (y); \
|
|
__min1 < __min2 ? __min1 : __min2; })
|
|
|
|
#define freeaddrinfo_null(x) do { \
|
|
if ((x) != NULL) \
|
|
freeaddrinfo(x); \
|
|
} while (0)
|
|
|
|
#define VALGRIND_MAKE_MEM_DEFINED(...) 0
|
|
#define s6_addr32 __u6_addr.__u6_addr32
|
|
#define __sum16 uint16_t
|
|
#define NRESOLVE_NEIGH 1
|
|
#define STREAM_CLOEXEC "e"
|
|
#define VERBS_PROVIDER_DIR "/usr/lib/"
|
|
#define IBV_CONFIG_DIR "/etc/ibverbs/"
|
|
#define MADV_DONTFORK MADV_NORMAL
|
|
#define MADV_DOFORK MADV_NORMAL
|
|
#define SWITCH_FALLTHROUGH (void)0
|
|
|