xref: /netbsd-src/sys/rump/net/lib/libvirtif/if_virt.h (revision c40bbed43afdb41ce7f9d8ec2794f5ff70392b7a)
1 /*	$NetBSD: if_virt.h,v 1.3 2014/03/03 13:56:40 pooka Exp $	*/
2 
3 /*
4  * NOTE!  This file is supposed to work on !NetBSD platforms.
5  */
6 
7 #ifndef VIRTIF_BASE
8 #error Define VIRTIF_BASE
9 #endif
10 
11 #define VIF_STRING(x) #x
12 #define VIF_STRINGIFY(x) VIF_STRING(x)
13 #define VIF_CONCAT(x,y) x##y
14 #define VIF_CONCAT3(x,y,z) x##y##z
15 #define VIF_BASENAME(x,y) VIF_CONCAT(x,y)
16 #define VIF_BASENAME3(x,y,z) VIF_CONCAT3(x,y,z)
17 
18 #define VIF_CLONER VIF_BASENAME(VIRTIF_BASE,_cloner)
19 #define VIF_NAME VIF_STRINGIFY(VIRTIF_BASE)
20 
21 #define VIFHYPER_CREATE VIF_BASENAME3(rumpcomp_,VIRTIF_BASE,_create)
22 #define VIFHYPER_DYING VIF_BASENAME3(rumpcomp_,VIRTIF_BASE,_dying)
23 #define VIFHYPER_DESTROY VIF_BASENAME3(rumpcomp_,VIRTIF_BASE,_destroy)
24 #define VIFHYPER_SEND VIF_BASENAME3(rumpcomp_,VIRTIF_BASE,_send)
25 
26 #define VIFHYPER_FLAGS VIF_BASENAME3(rumpcomp_,VIRTIF_BASE,_flags)
27 
28 #define VIF_DELIVERPKT VIF_BASENAME3(rump_virtif_,VIRTIF_BASE,_deliverpkt)
29 
30 struct virtif_sc;
31