summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/dls.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/sys/dls.h')
-rw-r--r--usr/src/uts/common/sys/dls.h32
1 files changed, 22 insertions, 10 deletions
diff --git a/usr/src/uts/common/sys/dls.h b/usr/src/uts/common/sys/dls.h
index 7b6954e2b4..20f556c86f 100644
--- a/usr/src/uts/common/sys/dls.h
+++ b/usr/src/uts/common/sys/dls.h
@@ -88,6 +88,7 @@ typedef uint64_t datalink_media_t;
B_TRUE : ((uint32_t)((dmedia) & 0xfffffffful) == (media)))
#define MAXLINKATTRLEN 32
+#define MAXLINKATTRVALLEN 1024
/*
* Link attributes used by the kernel.
@@ -131,6 +132,10 @@ typedef uint64_t datalink_media_t;
#define DLMGMT_PERSIST 0x02
/* upcall argument */
+typedef struct dlmgmt_door_arg {
+ uint_t ld_cmd;
+} dlmgmt_door_arg_t;
+
typedef struct dlmgmt_upcall_arg_create {
int ld_cmd;
datalink_class_t ld_class;
@@ -141,18 +146,23 @@ typedef struct dlmgmt_upcall_arg_create {
char ld_devname[MAXNAMELEN];
} dlmgmt_upcall_arg_create_t;
+/*
+ * Note: ld_padding is necessary to keep the size of the structure the
+ * same on amd64 and i386. The same note applies to other ld_padding
+ * and lr_paddding fields in structures throughout this file.
+ */
typedef struct dlmgmt_upcall_arg_destroy {
int ld_cmd;
datalink_id_t ld_linkid;
boolean_t ld_persist;
- int ld_reserved;
+ int ld_padding;
} dlmgmt_upcall_arg_destroy_t;
typedef struct dlmgmt_upcall_arg_update {
int ld_cmd;
boolean_t ld_novanity;
uint32_t ld_media;
- uint32_t ld_reserved;
+ uint32_t ld_padding;
char ld_devname[MAXNAMELEN];
} dlmgmt_upcall_arg_update_t;
@@ -181,13 +191,19 @@ typedef struct dlmgmt_door_getnext_s {
} dlmgmt_door_getnext_t;
/* upcall return value */
+typedef struct dlmgmt_retval_s {
+ uint_t lr_err; /* return error code */
+} dlmgmt_retval_t;
+
+typedef dlmgmt_retval_t dlmgmt_destroy_retval_t;
+
struct dlmgmt_linkid_retval_s {
uint_t lr_err;
datalink_id_t lr_linkid;
uint32_t lr_flags;
datalink_class_t lr_class;
uint32_t lr_media;
- uint32_t lr_reserved;
+ uint32_t lr_padding;
};
typedef struct dlmgmt_linkid_retval_s dlmgmt_create_retval_t,
@@ -203,16 +219,12 @@ typedef struct dlmgmt_getname_retval_s {
uint32_t lr_flags;
} dlmgmt_getname_retval_t;
-struct dlmgmt_null_retval_s {
- uint_t lr_err;
-};
-
-typedef struct dlmgmt_null_retval_s dlmgmt_destroy_retval_t;
-
typedef struct dlmgmt_getattr_retval_s {
uint_t lr_err;
uint_t lr_type;
- char lr_attr[1];
+ uint_t lr_attrsz;
+ uint_t lr_padding;
+ char lr_attrval[MAXLINKATTRVALLEN];
} dlmgmt_getattr_retval_t;
#ifdef _KERNEL