summaryrefslogtreecommitdiff
path: root/usr/src/lib/libmacadm/common/libmacadm.c
diff options
context:
space:
mode:
authoryz147064 <none@none>2007-03-21 09:48:58 -0700
committeryz147064 <none@none>2007-03-21 09:48:58 -0700
commitf595a68a3b8953a12aa778c2abd7642df8da8c3a (patch)
tree1cef70a487a4a4ae84778794fcbf4a6853b9b2b5 /usr/src/lib/libmacadm/common/libmacadm.c
parent880e0df1f057217de7e4bf18b04b73d93730bdfa (diff)
downloadillumos-gate-f595a68a3b8953a12aa778c2abd7642df8da8c3a.tar.gz
PSARC 2007/140 libdladm restructure
6329535 the use_cache argument of macadm_walk function should be removed 6454340 macadm_walk leaks 6509525 wrong error code when adding/removing ports to/from an aggregation 6509532 aggregation deleting fails but system reports success 6518572 the reference to dls_vlan should be released if setzoneid fails 6520149 show-linkprop stops showing full list of link properties if it fails to display one property 6535220 potential complicated library dependency and code duplication between libdladm and its friends --HG-- rename : usr/src/lib/liblaadm/Makefile => deleted_files/usr/src/lib/liblaadm/Makefile rename : usr/src/lib/liblaadm/Makefile.com => deleted_files/usr/src/lib/liblaadm/Makefile.com rename : usr/src/lib/liblaadm/common/llib-llaadm => deleted_files/usr/src/lib/liblaadm/common/llib-llaadm rename : usr/src/lib/liblaadm/common/mapfile-vers => deleted_files/usr/src/lib/liblaadm/common/mapfile-vers rename : usr/src/lib/liblaadm/i386/Makefile => deleted_files/usr/src/lib/liblaadm/i386/Makefile rename : usr/src/lib/liblaadm/sparc/Makefile => deleted_files/usr/src/lib/liblaadm/sparc/Makefile rename : usr/src/lib/libmacadm/Makefile => deleted_files/usr/src/lib/libmacadm/Makefile rename : usr/src/lib/libmacadm/Makefile.com => deleted_files/usr/src/lib/libmacadm/Makefile.com rename : usr/src/lib/libmacadm/common/libmacadm.c => deleted_files/usr/src/lib/libmacadm/common/libmacadm.c rename : usr/src/lib/libmacadm/common/libmacadm.h => deleted_files/usr/src/lib/libmacadm/common/libmacadm.h rename : usr/src/lib/libmacadm/common/llib-lmacadm => deleted_files/usr/src/lib/libmacadm/common/llib-lmacadm rename : usr/src/lib/libmacadm/common/mapfile-vers => deleted_files/usr/src/lib/libmacadm/common/mapfile-vers rename : usr/src/lib/libmacadm/i386/Makefile => deleted_files/usr/src/lib/libmacadm/i386/Makefile rename : usr/src/lib/libmacadm/sparc/Makefile => deleted_files/usr/src/lib/libmacadm/sparc/Makefile rename : usr/src/lib/libwladm/Makefile => deleted_files/usr/src/lib/libwladm/Makefile rename : usr/src/lib/libwladm/Makefile.com => deleted_files/usr/src/lib/libwladm/Makefile.com rename : usr/src/lib/libwladm/common/llib-lwladm => deleted_files/usr/src/lib/libwladm/common/llib-lwladm rename : usr/src/lib/libwladm/common/mapfile-vers => deleted_files/usr/src/lib/libwladm/common/mapfile-vers rename : usr/src/lib/libwladm/i386/Makefile => deleted_files/usr/src/lib/libwladm/i386/Makefile rename : usr/src/lib/libwladm/libwladm.xcl => deleted_files/usr/src/lib/libwladm/libwladm.xcl rename : usr/src/lib/libwladm/sparc/Makefile => deleted_files/usr/src/lib/libwladm/sparc/Makefile rename : usr/src/lib/liblaadm/common/liblaadm.c => usr/src/lib/libdladm/common/libdlaggr.c rename : usr/src/lib/liblaadm/common/liblaadm.h => usr/src/lib/libdladm/common/libdlaggr.h rename : usr/src/lib/libwladm/common/libwladm.c => usr/src/lib/libdladm/common/libdlwlan.c rename : usr/src/lib/libwladm/common/libwladm.h => usr/src/lib/libdladm/common/libdlwlan.h rename : usr/src/lib/libwladm/common/libwladm_impl.h => usr/src/lib/libdladm/common/libdlwlan_impl.h
Diffstat (limited to 'usr/src/lib/libmacadm/common/libmacadm.c')
-rw-r--r--usr/src/lib/libmacadm/common/libmacadm.c137
1 files changed, 0 insertions, 137 deletions
diff --git a/usr/src/lib/libmacadm/common/libmacadm.c b/usr/src/lib/libmacadm/common/libmacadm.c
deleted file mode 100644
index 9e6061099d..0000000000
--- a/usr/src/lib/libmacadm/common/libmacadm.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stropts.h>
-#include <sys/dld.h>
-#include <libdevinfo.h>
-
-#define _KERNEL
-#include <sys/sysmacros.h>
-#undef _KERNEL
-
-/*
- * MAC Administration Library.
- *
- * This library is used by administration tools such as dladm(1M) to
- * iterate through the list of MAC interfaces
- *
- */
-
-typedef struct macadm_dev {
- char md_name[MAXNAMELEN];
- struct macadm_dev *md_next;
-} macadm_dev_t;
-
-typedef struct macadm_walk {
- macadm_dev_t *mw_dev_list;
-} macadm_walk_t;
-
-/*
- * Local callback invoked for each DDI_NT_NET node.
- */
-/* ARGSUSED */
-static int
-i_macadm_apply(di_node_t node, di_minor_t minor, void *arg)
-{
- macadm_walk_t *mwp = arg;
- macadm_dev_t *mdp = mwp->mw_dev_list;
- macadm_dev_t **lastp = &mwp->mw_dev_list;
- char dev[MAXNAMELEN];
-
- (void) snprintf(dev, MAXNAMELEN, "%s%d",
- di_driver_name(node), di_instance(node));
-
- /*
- * Skip aggregations.
- */
- if (strcmp("aggr", di_driver_name(node)) == 0)
- return (DI_WALK_CONTINUE);
-
- while (mdp) {
- /*
- * Skip duplicates.
- */
- if (strcmp(mdp->md_name, dev) == 0)
- return (DI_WALK_CONTINUE);
-
- lastp = &mdp->md_next;
- mdp = mdp->md_next;
- }
-
- if ((mdp = malloc(sizeof (*mdp))) == NULL)
- return (DI_WALK_CONTINUE);
-
- (void) strlcpy(mdp->md_name, dev, MAXNAMELEN);
- mdp->md_next = NULL;
- *lastp = mdp;
-
- return (DI_WALK_CONTINUE);
-}
-
-/*
- * Invoke the specified callback for each DDI_NT_MAC node.
- */
-int
-macadm_walk(void (*fn)(void *, const char *), void *arg,
- boolean_t use_cache)
-{
- di_node_t root;
- macadm_walk_t mw;
- macadm_dev_t *mdp;
- uint_t flags;
-
- if (use_cache) {
- flags = DINFOCACHE;
- } else {
- flags = DINFOSUBTREE | DINFOMINOR | DINFOPROP | DINFOFORCE;
- }
-
- if ((root = di_init("/", flags)) == DI_NODE_NIL) {
- return (-1);
- }
- mw.mw_dev_list = NULL;
-
- (void) di_walk_minor(root, DDI_NT_NET, DI_CHECK_ALIAS, &mw,
- i_macadm_apply);
-
- di_fini(root);
-
- mdp = mw.mw_dev_list;
- while (mdp) {
- (*fn)(arg, mdp->md_name);
- mdp = mdp->md_next;
- }
-
- return (0);
-}