7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright (c) 2013 by Delphix. All rights reserved.
25 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
26 * Copyright (c) 2012, Joyent, Inc. All rights reserved.
27 * Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
28 */
29
30 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
31 /* All Rights Reserved */
32
33
34 #include <stdio.h>
35 #include <stdlib.h>
36 #include <unistd.h>
37 #include <sys/types.h>
38 #include <libproc.h>
39
40 #include <ctype.h>
41 #include <string.h>
42 #include <sys/dlpi.h>
43 #include <sys/ipc.h>
44 #include <sys/ipc_impl.h>
45 #include <sys/msg.h>
46 #include <sys/sem.h>
47 #include <sys/shm.h>
837 { (uint_t)SIOCGLIFMETRIC, "SIOCGLIFMETRIC", "lifreq" },
838 { (uint_t)SIOCSLIFMETRIC, "SIOCSLIFMETRIC", "lifreq" },
839 { (uint_t)SIOCSLIFNAME, "SIOCSLIFNAME", "lifreq" },
840 { (uint_t)SIOCGLIFNUM, "SIOCGLIFNUM", "lifnum" },
841 { (uint_t)SIOCGLIFMUXID, "SIOCGLIFMUXID", "lifreq" },
842 { (uint_t)SIOCSLIFMUXID, "SIOCSLIFMUXID", "lifreq" },
843 { (uint_t)SIOCGLIFINDEX, "SIOCGLIFINDEX", "lifreq" },
844 { (uint_t)SIOCSLIFINDEX, "SIOCSLIFINDEX", "lifreq" },
845 { (uint_t)SIOCSLIFTOKEN, "SIOCSLIFTOKEN", "lifreq" },
846 { (uint_t)SIOCGLIFTOKEN, "SIOCGLIFTOKEN", "lifreq" },
847 { (uint_t)SIOCSLIFSUBNET, "SIOCSLIFSUBNET", "lifreq" },
848 { (uint_t)SIOCGLIFSUBNET, "SIOCGLIFSUBNET", "lifreq" },
849 { (uint_t)SIOCSLIFLNKINFO, "SIOCSLIFLNKINFO", "lifreq" },
850 { (uint_t)SIOCGLIFLNKINFO, "SIOCGLIFLNKINFO", "lifreq" },
851 { (uint_t)SIOCLIFDELND, "SIOCLIFDELND", "lifreq" },
852 { (uint_t)SIOCLIFGETND, "SIOCLIFGETND", "lifreq" },
853 { (uint_t)SIOCLIFSETND, "SIOCLIFSETND", "lifreq" },
854 { (uint_t)SIOCTMYADDR, "SIOCTMYADDR", "sioc_addrreq" },
855 { (uint_t)SIOCTONLINK, "SIOCTONLINK", "sioc_addrreq" },
856 { (uint_t)SIOCTMYSITE, "SIOCTMYSITE", "sioc_addrreq" },
857 { (uint_t)SIOCFIPSECONFIG, "SIOCFIPSECONFIG", NULL },
858 { (uint_t)SIOCSIPSECONFIG, "SIOCSIPSECONFIG", NULL },
859 { (uint_t)SIOCDIPSECONFIG, "SIOCDIPSECONFIG", NULL },
860 { (uint_t)SIOCLIPSECONFIG, "SIOCLIPSECONFIG", NULL },
861 { (uint_t)SIOCGLIFBINDING, "SIOCGLIFBINDING", "lifreq" },
862 { (uint_t)SIOCSLIFGROUPNAME, "SIOCSLIFGROUPNAME", "lifreq" },
863 { (uint_t)SIOCGLIFGROUPNAME, "SIOCGLIFGROUPNAME", "lifreq" },
864 { (uint_t)SIOCGLIFGROUPINFO, "SIOCGLIFGROUPINFO", "lifgroupinfo" },
865 { (uint_t)SIOCGDSTINFO, "SIOCGDSTINFO", NULL },
866 { (uint_t)SIOCGIP6ADDRPOLICY, "SIOCGIP6ADDRPOLICY", NULL },
867 { (uint_t)SIOCSIP6ADDRPOLICY, "SIOCSIP6ADDRPOLICY", NULL },
868 { (uint_t)SIOCSXARP, "SIOCSXARP", "xarpreq" },
869 { (uint_t)SIOCGXARP, "SIOCGXARP", "xarpreq" },
870 { (uint_t)SIOCDXARP, "SIOCDXARP", "xarpreq" },
871 { (uint_t)SIOCGLIFZONE, "SIOCGLIFZONE", "lifreq" },
872 { (uint_t)SIOCSLIFZONE, "SIOCSLIFZONE", "lifreq" },
873 { (uint_t)SIOCSCTPSOPT, "SIOCSCTPSOPT", NULL },
874 { (uint_t)SIOCSCTPGOPT, "SIOCSCTPGOPT", NULL },
875 { (uint_t)SIOCSCTPPEELOFF, "SIOPCSCTPPEELOFF", "int" },
876 { (uint_t)SIOCGLIFUSESRC, "SIOCGLIFUSESRC", "lifreq" },
877 { (uint_t)SIOCSLIFUSESRC, "SIOCSLIFUSESRC", "lifreq" },
878 { (uint_t)SIOCGLIFSRCOF, "SIOCGLIFSRCOF", "lifsrcof" },
879 { (uint_t)SIOCGMSFILTER, "SIOCGMSFILTER", "group_filter" },
880 { (uint_t)SIOCSMSFILTER, "SIOCSMSFILTER", "group_filter" },
|
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Copyright (c) 2013 by Delphix. All rights reserved.
25 * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
26 * Copyright (c) 2012, Joyent, Inc. All rights reserved.
27 * Copyright (c) 2014, OmniTI Computer Consulting, Inc. All rights reserved.
28 */
29
30 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
31 /* All Rights Reserved */
32
33
34 #include <stdio.h>
35 #include <stdlib.h>
36 #include <unistd.h>
37 #include <sys/types.h>
38 #include <libproc.h>
39
40 #include <ctype.h>
41 #include <string.h>
42 #include <sys/dlpi.h>
43 #include <sys/ipc.h>
44 #include <sys/ipc_impl.h>
45 #include <sys/msg.h>
46 #include <sys/sem.h>
47 #include <sys/shm.h>
837 { (uint_t)SIOCGLIFMETRIC, "SIOCGLIFMETRIC", "lifreq" },
838 { (uint_t)SIOCSLIFMETRIC, "SIOCSLIFMETRIC", "lifreq" },
839 { (uint_t)SIOCSLIFNAME, "SIOCSLIFNAME", "lifreq" },
840 { (uint_t)SIOCGLIFNUM, "SIOCGLIFNUM", "lifnum" },
841 { (uint_t)SIOCGLIFMUXID, "SIOCGLIFMUXID", "lifreq" },
842 { (uint_t)SIOCSLIFMUXID, "SIOCSLIFMUXID", "lifreq" },
843 { (uint_t)SIOCGLIFINDEX, "SIOCGLIFINDEX", "lifreq" },
844 { (uint_t)SIOCSLIFINDEX, "SIOCSLIFINDEX", "lifreq" },
845 { (uint_t)SIOCSLIFTOKEN, "SIOCSLIFTOKEN", "lifreq" },
846 { (uint_t)SIOCGLIFTOKEN, "SIOCGLIFTOKEN", "lifreq" },
847 { (uint_t)SIOCSLIFSUBNET, "SIOCSLIFSUBNET", "lifreq" },
848 { (uint_t)SIOCGLIFSUBNET, "SIOCGLIFSUBNET", "lifreq" },
849 { (uint_t)SIOCSLIFLNKINFO, "SIOCSLIFLNKINFO", "lifreq" },
850 { (uint_t)SIOCGLIFLNKINFO, "SIOCGLIFLNKINFO", "lifreq" },
851 { (uint_t)SIOCLIFDELND, "SIOCLIFDELND", "lifreq" },
852 { (uint_t)SIOCLIFGETND, "SIOCLIFGETND", "lifreq" },
853 { (uint_t)SIOCLIFSETND, "SIOCLIFSETND", "lifreq" },
854 { (uint_t)SIOCTMYADDR, "SIOCTMYADDR", "sioc_addrreq" },
855 { (uint_t)SIOCTONLINK, "SIOCTONLINK", "sioc_addrreq" },
856 { (uint_t)SIOCTMYSITE, "SIOCTMYSITE", "sioc_addrreq" },
857 { (uint_t)SIOCGLIFBINDING, "SIOCGLIFBINDING", "lifreq" },
858 { (uint_t)SIOCSLIFGROUPNAME, "SIOCSLIFGROUPNAME", "lifreq" },
859 { (uint_t)SIOCGLIFGROUPNAME, "SIOCGLIFGROUPNAME", "lifreq" },
860 { (uint_t)SIOCGLIFGROUPINFO, "SIOCGLIFGROUPINFO", "lifgroupinfo" },
861 { (uint_t)SIOCGDSTINFO, "SIOCGDSTINFO", NULL },
862 { (uint_t)SIOCGIP6ADDRPOLICY, "SIOCGIP6ADDRPOLICY", NULL },
863 { (uint_t)SIOCSIP6ADDRPOLICY, "SIOCSIP6ADDRPOLICY", NULL },
864 { (uint_t)SIOCSXARP, "SIOCSXARP", "xarpreq" },
865 { (uint_t)SIOCGXARP, "SIOCGXARP", "xarpreq" },
866 { (uint_t)SIOCDXARP, "SIOCDXARP", "xarpreq" },
867 { (uint_t)SIOCGLIFZONE, "SIOCGLIFZONE", "lifreq" },
868 { (uint_t)SIOCSLIFZONE, "SIOCSLIFZONE", "lifreq" },
869 { (uint_t)SIOCSCTPSOPT, "SIOCSCTPSOPT", NULL },
870 { (uint_t)SIOCSCTPGOPT, "SIOCSCTPGOPT", NULL },
871 { (uint_t)SIOCSCTPPEELOFF, "SIOPCSCTPPEELOFF", "int" },
872 { (uint_t)SIOCGLIFUSESRC, "SIOCGLIFUSESRC", "lifreq" },
873 { (uint_t)SIOCSLIFUSESRC, "SIOCSLIFUSESRC", "lifreq" },
874 { (uint_t)SIOCGLIFSRCOF, "SIOCGLIFSRCOF", "lifsrcof" },
875 { (uint_t)SIOCGMSFILTER, "SIOCGMSFILTER", "group_filter" },
876 { (uint_t)SIOCSMSFILTER, "SIOCSMSFILTER", "group_filter" },
|