136589d6bSRobert Mustacchi /*
236589d6bSRobert Mustacchi  * This file and its contents are supplied under the terms of the
336589d6bSRobert Mustacchi  * Common Development and Distribution License ("CDDL"), version 1.0.
436589d6bSRobert Mustacchi  * You may only use this file in accordance with the terms of version
536589d6bSRobert Mustacchi  * 1.0 of the CDDL.
636589d6bSRobert Mustacchi  *
736589d6bSRobert Mustacchi  * A full copy of the text of the CDDL should have accompanied this
836589d6bSRobert Mustacchi  * source.  A copy of the CDDL is also available via the Internet at
936589d6bSRobert Mustacchi  * http://www.illumos.org/license/CDDL.
1036589d6bSRobert Mustacchi  */
1136589d6bSRobert Mustacchi 
1236589d6bSRobert Mustacchi /*
1336589d6bSRobert Mustacchi  * Copyright 2015 Joyent, Inc.
1436589d6bSRobert Mustacchi  */
1536589d6bSRobert Mustacchi 
1636589d6bSRobert Mustacchi #ifndef _SYS_OVERLAY_COMMON_H
1736589d6bSRobert Mustacchi #define	_SYS_OVERLAY_COMMON_H
1836589d6bSRobert Mustacchi 
1936589d6bSRobert Mustacchi /*
2036589d6bSRobert Mustacchi  * Common overlay definitions
2136589d6bSRobert Mustacchi  */
2236589d6bSRobert Mustacchi 
2336589d6bSRobert Mustacchi #ifdef __cplusplus
2436589d6bSRobert Mustacchi extern "C" {
2536589d6bSRobert Mustacchi #endif
2636589d6bSRobert Mustacchi 
2736589d6bSRobert Mustacchi typedef enum overlay_target_mode {
2836589d6bSRobert Mustacchi 	OVERLAY_TARGET_NONE = 0x0,
2936589d6bSRobert Mustacchi 	OVERLAY_TARGET_POINT,
3036589d6bSRobert Mustacchi 	OVERLAY_TARGET_DYNAMIC
3136589d6bSRobert Mustacchi } overlay_target_mode_t;
3236589d6bSRobert Mustacchi 
3336589d6bSRobert Mustacchi typedef enum overlay_plugin_dest {
3436589d6bSRobert Mustacchi 	OVERLAY_PLUGIN_D_INVALID	= 0x0,
3536589d6bSRobert Mustacchi 	OVERLAY_PLUGIN_D_ETHERNET	= 0x1,
3636589d6bSRobert Mustacchi 	OVERLAY_PLUGIN_D_IP		= 0x2,
3736589d6bSRobert Mustacchi 	OVERLAY_PLUGIN_D_PORT		= 0x4,
3836589d6bSRobert Mustacchi 	OVERLAY_PLUGIN_D_MASK		= 0x7
3936589d6bSRobert Mustacchi } overlay_plugin_dest_t;
4036589d6bSRobert Mustacchi 
4136589d6bSRobert Mustacchi typedef enum overlay_prop_type {
4236589d6bSRobert Mustacchi 	OVERLAY_PROP_T_INT = 0x1,	/* signed int */
4336589d6bSRobert Mustacchi 	OVERLAY_PROP_T_UINT,		/* unsigned int */
4436589d6bSRobert Mustacchi 	OVERLAY_PROP_T_IP,		/* sinaddr6 */
45*faa2068dSAndy Fiddaman 	OVERLAY_PROP_T_STRING		/* OVERLAY_PROP_SIZEMAX */
4636589d6bSRobert Mustacchi } overlay_prop_type_t;
4736589d6bSRobert Mustacchi 
4836589d6bSRobert Mustacchi typedef enum overlay_prop_prot {
4936589d6bSRobert Mustacchi 	OVERLAY_PROP_PERM_REQ	= 0x1,
5036589d6bSRobert Mustacchi 	OVERLAY_PROP_PERM_READ	= 0x2,
5136589d6bSRobert Mustacchi 	OVERLAY_PROP_PERM_WRITE	= 0x4,
5236589d6bSRobert Mustacchi 	OVERLAY_PROP_PERM_RW	= 0x6,
5336589d6bSRobert Mustacchi 	OVERLAY_PROP_PERM_RRW	= 0x7,
5436589d6bSRobert Mustacchi 	OVERLAY_PROP_PERM_MASK	= 0x7
5536589d6bSRobert Mustacchi } overlay_prop_prot_t;
5636589d6bSRobert Mustacchi 
5736589d6bSRobert Mustacchi #define	OVERLAY_PROP_NAMELEN	64
5836589d6bSRobert Mustacchi #define	OVERLAY_PROP_SIZEMAX	256
5936589d6bSRobert Mustacchi #define	OVERLAY_STATUS_BUFLEN	256
6036589d6bSRobert Mustacchi 
6136589d6bSRobert Mustacchi #ifdef __cplusplus
6236589d6bSRobert Mustacchi }
6336589d6bSRobert Mustacchi #endif
6436589d6bSRobert Mustacchi 
6536589d6bSRobert Mustacchi #endif /* _SYS_OVERLAY_COMMON_H */
66