#ifndef _LIBDLMGMT_H
#define _LIBDLMGMT_H
#include <sys/types.h>
#include <libdladm.h>
#ifdef __cplusplus
extern "C" {
#endif
#define DLMGMT_CMD_CREATE_LINKID (DLMGMT_CMD_BASE + 0)
#define DLMGMT_CMD_DESTROY_LINKID (DLMGMT_CMD_BASE + 1)
#define DLMGMT_CMD_REMAP_LINKID (DLMGMT_CMD_BASE + 2)
#define DLMGMT_CMD_CREATECONF (DLMGMT_CMD_BASE + 3)
#define DLMGMT_CMD_OPENCONF (DLMGMT_CMD_BASE + 4)
#define DLMGMT_CMD_WRITECONF (DLMGMT_CMD_BASE + 5)
#define DLMGMT_CMD_UP_LINKID (DLMGMT_CMD_BASE + 6)
#define DLMGMT_CMD_SETATTR (DLMGMT_CMD_BASE + 7)
#define DLMGMT_CMD_UNSETATTR (DLMGMT_CMD_BASE + 8)
#define DLMGMT_CMD_REMOVECONF (DLMGMT_CMD_BASE + 9)
#define DLMGMT_CMD_DESTROYCONF (DLMGMT_CMD_BASE + 10)
#define DLMGMT_CMD_GETATTR (DLMGMT_CMD_BASE + 11)
#define DLMGMT_CMD_GETCONFSNAPSHOT (DLMGMT_CMD_BASE + 12)
#define DLMGMT_CMD_ZONEBOOT (DLMGMT_CMD_BASE + 13)
#define DLMGMT_CMD_ZONEHALT (DLMGMT_CMD_BASE + 14)
typedef struct dlmgmt_door_createid_s {
int ld_cmd;
char ld_link[MAXLINKNAMELEN];
datalink_class_t ld_class;
uint32_t ld_media;
boolean_t ld_prefix;
uint32_t ld_flags;
} dlmgmt_door_createid_t;
typedef struct dlmgmt_door_destroyid_s {
int ld_cmd;
datalink_id_t ld_linkid;
uint32_t ld_flags;
} dlmgmt_door_destroyid_t;
typedef struct dlmgmt_door_remapid_s {
int ld_cmd;
datalink_id_t ld_linkid;
char ld_link[MAXLINKNAMELEN];
} dlmgmt_door_remapid_t;
typedef struct dlmgmt_door_upid_s {
int ld_cmd;
datalink_id_t ld_linkid;
} dlmgmt_door_upid_t;
typedef struct dlmgmt_door_createconf_s {
int ld_cmd;
char ld_link[MAXLINKNAMELEN];
datalink_id_t ld_linkid;
datalink_class_t ld_class;
uint32_t ld_media;
} dlmgmt_door_createconf_t;
typedef struct dlmgmt_door_setattr_s {
int ld_cmd;
int ld_confid;
char ld_attr[MAXLINKATTRLEN];
uint32_t ld_attrsz;
dladm_datatype_t ld_type;
char ld_attrval[MAXLINKATTRVALLEN];
} dlmgmt_door_setattr_t;
typedef struct dlmgmt_door_unsetattr_s {
int ld_cmd;
int ld_confid;
char ld_attr[MAXLINKATTRLEN];
} dlmgmt_door_unsetattr_t;
typedef struct dlmgmt_door_writeconf_s {
int ld_cmd;
int ld_confid;
} dlmgmt_door_writeconf_t;
typedef struct dlmgmt_door_removeconf_s {
int ld_cmd;
datalink_id_t ld_linkid;
} dlmgmt_door_removeconf_t;
typedef struct dlmgmt_door_destroyconf_s {
int ld_cmd;
int ld_confid;
} dlmgmt_door_destroyconf_t;
typedef struct dlmgmt_door_openconf_s {
int ld_cmd;
datalink_id_t ld_linkid;
} dlmgmt_door_openconf_t;
typedef struct dlmgmt_door_getconfsnapshot_s {
int ld_cmd;
datalink_id_t ld_linkid;
} dlmgmt_door_getconfsnapshot_t;
typedef struct dlmgmt_door_getattr_s {
int ld_cmd;
int ld_confid;
char ld_attr[MAXLINKATTRLEN];
} dlmgmt_door_getattr_t;
typedef struct dlmgmt_createconf_retval_s {
uint_t lr_err;
int lr_confid;
} dlmgmt_createconf_retval_t;
typedef struct dlmgmt_openconf_retval_s {
uint_t lr_err;
int lr_confid;
} dlmgmt_openconf_retval_t;
typedef struct dlmgmt_getconfsnapshot_retval_s {
uint_t lr_err;
uint32_t lr_nvlsz;
} dlmgmt_getconfsnapshot_retval_t;
typedef struct dlmgmt_door_zone_s {
int ld_cmd;
zoneid_t ld_zoneid;
} dlmgmt_door_zoneboot_t, dlmgmt_door_zonehalt_t;
typedef struct dlmgmt_retval_s dlmgmt_remapid_retval_t,
dlmgmt_upid_retval_t,
dlmgmt_destroyid_retval_t,
dlmgmt_setattr_retval_t,
dlmgmt_unsetattr_retval_t,
dlmgmt_writeconf_retval_t,
dlmgmt_removeconf_retval_t,
dlmgmt_destroyconf_retval_t,
dlmgmt_zoneboot_retval_t,
dlmgmt_zonehalt_retval_t;
typedef struct dlmgmt_linkid_retval_s dlmgmt_createid_retval_t;
#ifdef __cplusplus
}
#endif
#endif