summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdladm/common/libdladm.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libdladm/common/libdladm.h')
-rw-r--r--usr/src/lib/libdladm/common/libdladm.h60
1 files changed, 47 insertions, 13 deletions
diff --git a/usr/src/lib/libdladm/common/libdladm.h b/usr/src/lib/libdladm/common/libdladm.h
index 8ed30b4ebf..a7077f5900 100644
--- a/usr/src/lib/libdladm/common/libdladm.h
+++ b/usr/src/lib/libdladm/common/libdladm.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -28,6 +28,9 @@
#pragma ident "%Z%%M% %I% %E% SMI"
+#include <sys/dls.h>
+#include <sys/dlpi.h>
+
/*
* This file includes structures, macros and common routines shared by all
* data-link administration, and routines which do not directly administrate
@@ -38,10 +41,36 @@
extern "C" {
#endif
+#define LINKID_STR_WIDTH 10
#define DLADM_STRSIZE 256
-#define DLADM_OPT_TEMP 0x00000001
-#define DLADM_OPT_CREATE 0x00000002
-#define DLADM_OPT_PERSIST 0x00000004
+
+/*
+ * option flags taken by the libdladm functions
+ *
+ * - DLADM_OPT_ACTIVE:
+ * The function requests to bringup some configuration that only take
+ * effect on active system (not persistent).
+ *
+ * - DLADM_OPT_PERSIST:
+ * The function requests to persist some configuration.
+ *
+ * - DLADM_OPT_CREATE:
+ * Today, only used by dladm_set_secobj() - requests to create a secobj.
+ *
+ * - DLADM_OPT_FORCE:
+ * The function requests to execute a specific operation forcefully.
+ *
+ * - DLADM_OPT_PREFIX:
+ * The function requests to generate a link name using the specified prefix.
+ */
+#define DLADM_OPT_ACTIVE 0x00000001
+#define DLADM_OPT_PERSIST 0x00000002
+#define DLADM_OPT_CREATE 0x00000004
+#define DLADM_OPT_FORCE 0x00000008
+#define DLADM_OPT_PREFIX 0x00000010
+
+#define DLADM_WALK_TERMINATE 0
+#define DLADM_WALK_CONTINUE -1
typedef enum {
DLADM_STATUS_OK = 0,
@@ -66,23 +95,28 @@ typedef enum {
DLADM_STATUS_REPOSITORYINVAL,
DLADM_STATUS_MACADDRINVAL,
DLADM_STATUS_KEYINVAL,
- DLADM_STATUS_INVALIDID,
DLADM_STATUS_INVALIDMACADDRLEN,
DLADM_STATUS_INVALIDMACADDRTYPE,
- DLADM_STATUS_AUTOIDNOTEMP,
- DLADM_STATUS_AUTOIDNOAVAILABLEID,
- DLADM_STATUS_BUSY
+ DLADM_STATUS_LINKBUSY,
+ DLADM_STATUS_VIDINVAL,
+ DLADM_STATUS_NONOTIF,
+ DLADM_STATUS_TRYAGAIN
} dladm_status_t;
typedef enum {
- DLADM_PROP_VAL_CURRENT = 1,
- DLADM_PROP_VAL_DEFAULT,
- DLADM_PROP_VAL_MODIFIABLE,
- DLADM_PROP_VAL_PERSISTENT
-} dladm_prop_type_t;
+ DLADM_TYPE_STR,
+ DLADM_TYPE_BOOLEAN,
+ DLADM_TYPE_UINT64
+} dladm_datatype_t;
+
+typedef int dladm_conf_t;
+#define DLADM_INVALID_CONF 0
extern const char *dladm_status2str(dladm_status_t, char *);
extern dladm_status_t dladm_set_rootdir(const char *);
+extern const char *dladm_class2str(datalink_class_t, char *);
+extern const char *dladm_media2str(uint32_t, char *);
+extern boolean_t dladm_valid_linkname(const char *);
#ifdef __cplusplus
}