1*12163SRamaswamy.Tummala@Sun.COM /* 2*12163SRamaswamy.Tummala@Sun.COM * CDDL HEADER START 3*12163SRamaswamy.Tummala@Sun.COM * 4*12163SRamaswamy.Tummala@Sun.COM * The contents of this file are subject to the terms of the 5*12163SRamaswamy.Tummala@Sun.COM * Common Development and Distribution License (the "License"). 6*12163SRamaswamy.Tummala@Sun.COM * You may not use this file except in compliance with the License. 7*12163SRamaswamy.Tummala@Sun.COM * 8*12163SRamaswamy.Tummala@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*12163SRamaswamy.Tummala@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*12163SRamaswamy.Tummala@Sun.COM * See the License for the specific language governing permissions 11*12163SRamaswamy.Tummala@Sun.COM * and limitations under the License. 12*12163SRamaswamy.Tummala@Sun.COM * 13*12163SRamaswamy.Tummala@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*12163SRamaswamy.Tummala@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*12163SRamaswamy.Tummala@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*12163SRamaswamy.Tummala@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*12163SRamaswamy.Tummala@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*12163SRamaswamy.Tummala@Sun.COM * 19*12163SRamaswamy.Tummala@Sun.COM * CDDL HEADER END 20*12163SRamaswamy.Tummala@Sun.COM */ 21*12163SRamaswamy.Tummala@Sun.COM /* 22*12163SRamaswamy.Tummala@Sun.COM * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 23*12163SRamaswamy.Tummala@Sun.COM */ 24*12163SRamaswamy.Tummala@Sun.COM 25*12163SRamaswamy.Tummala@Sun.COM #ifndef _SYS_IBPART_H 26*12163SRamaswamy.Tummala@Sun.COM #define _SYS_IBPART_H 27*12163SRamaswamy.Tummala@Sun.COM 28*12163SRamaswamy.Tummala@Sun.COM #include <sys/types.h> 29*12163SRamaswamy.Tummala@Sun.COM #include <sys/ib/ib_types.h> 30*12163SRamaswamy.Tummala@Sun.COM #include <sys/dld_ioc.h> 31*12163SRamaswamy.Tummala@Sun.COM 32*12163SRamaswamy.Tummala@Sun.COM #ifdef __cplusplus 33*12163SRamaswamy.Tummala@Sun.COM extern "C" { 34*12163SRamaswamy.Tummala@Sun.COM #endif 35*12163SRamaswamy.Tummala@Sun.COM 36*12163SRamaswamy.Tummala@Sun.COM #define IBD_CREATE_IBPART IBPARTIOC(1) 37*12163SRamaswamy.Tummala@Sun.COM #define IBD_DELETE_IBPART IBPARTIOC(2) 38*12163SRamaswamy.Tummala@Sun.COM #define IBD_INFO_IBPART IBPARTIOC(3) 39*12163SRamaswamy.Tummala@Sun.COM 40*12163SRamaswamy.Tummala@Sun.COM #define IBD_INFO_CMD_IBPART 1 41*12163SRamaswamy.Tummala@Sun.COM #define IBD_INFO_CMD_IBPORT 2 42*12163SRamaswamy.Tummala@Sun.COM #define IBD_INFO_CMD_PKEYTBLSZ 3 43*12163SRamaswamy.Tummala@Sun.COM 44*12163SRamaswamy.Tummala@Sun.COM typedef enum ibd_part_err_e { 45*12163SRamaswamy.Tummala@Sun.COM IBD_INVALID_PORT_INST = 1, 46*12163SRamaswamy.Tummala@Sun.COM IBD_PORT_IS_DOWN, 47*12163SRamaswamy.Tummala@Sun.COM IBD_PKEY_NOT_PRESENT, 48*12163SRamaswamy.Tummala@Sun.COM IBD_INVALID_PKEY, 49*12163SRamaswamy.Tummala@Sun.COM IBD_PARTITION_EXISTS, 50*12163SRamaswamy.Tummala@Sun.COM IBD_NO_HW_RESOURCE, 51*12163SRamaswamy.Tummala@Sun.COM IBD_INVALID_PKEY_TBL_SIZE 52*12163SRamaswamy.Tummala@Sun.COM } ibd_part_err_t; 53*12163SRamaswamy.Tummala@Sun.COM /* 54*12163SRamaswamy.Tummala@Sun.COM * NOTE: If you change this structure make sure that alignments are correct 55*12163SRamaswamy.Tummala@Sun.COM * for the proper operation of the ioctl in both the 32 and 64 bit modes. 56*12163SRamaswamy.Tummala@Sun.COM */ 57*12163SRamaswamy.Tummala@Sun.COM typedef struct ibd_ioctl_s { 58*12163SRamaswamy.Tummala@Sun.COM int ioc_info_cmd; 59*12163SRamaswamy.Tummala@Sun.COM datalink_id_t ioc_linkid; 60*12163SRamaswamy.Tummala@Sun.COM int ioc_port_inst; 61*12163SRamaswamy.Tummala@Sun.COM uint_t ioc_portnum; 62*12163SRamaswamy.Tummala@Sun.COM ib_guid_t ioc_hcaguid; 63*12163SRamaswamy.Tummala@Sun.COM ib_guid_t ioc_portguid; 64*12163SRamaswamy.Tummala@Sun.COM int ioc_status; 65*12163SRamaswamy.Tummala@Sun.COM uint32_t align1; 66*12163SRamaswamy.Tummala@Sun.COM } ibd_ioctl_t; 67*12163SRamaswamy.Tummala@Sun.COM 68*12163SRamaswamy.Tummala@Sun.COM /* 69*12163SRamaswamy.Tummala@Sun.COM * NOTE: If you change this structure make sure that alignments are correct 70*12163SRamaswamy.Tummala@Sun.COM * for the proper operation of the ioctl in both the 32 and 64 bit modes. 71*12163SRamaswamy.Tummala@Sun.COM */ 72*12163SRamaswamy.Tummala@Sun.COM typedef struct ibpart_ioctl_s { 73*12163SRamaswamy.Tummala@Sun.COM ibd_ioctl_t ibdioc; 74*12163SRamaswamy.Tummala@Sun.COM datalink_id_t ioc_partid; 75*12163SRamaswamy.Tummala@Sun.COM boolean_t ioc_force_create; 76*12163SRamaswamy.Tummala@Sun.COM ib_pkey_t ioc_pkey; 77*12163SRamaswamy.Tummala@Sun.COM uint16_t align1; 78*12163SRamaswamy.Tummala@Sun.COM uint32_t align2; 79*12163SRamaswamy.Tummala@Sun.COM } ibpart_ioctl_t; 80*12163SRamaswamy.Tummala@Sun.COM 81*12163SRamaswamy.Tummala@Sun.COM typedef struct ibpart_ioctl_s ibd_create_ioctl_t; 82*12163SRamaswamy.Tummala@Sun.COM typedef struct ibpart_ioctl_s ibd_delete_ioctl_t; 83*12163SRamaswamy.Tummala@Sun.COM 84*12163SRamaswamy.Tummala@Sun.COM typedef struct ibport_ioctl_s { 85*12163SRamaswamy.Tummala@Sun.COM ibd_ioctl_t ibdioc; 86*12163SRamaswamy.Tummala@Sun.COM uint_t ioc_pkey_tbl_sz; 87*12163SRamaswamy.Tummala@Sun.COM ib_pkey_t *ioc_pkeys; 88*12163SRamaswamy.Tummala@Sun.COM } ibport_ioctl_t; 89*12163SRamaswamy.Tummala@Sun.COM 90*12163SRamaswamy.Tummala@Sun.COM #ifdef _SYSCALL32 91*12163SRamaswamy.Tummala@Sun.COM typedef struct ibport_ioctl32_s { 92*12163SRamaswamy.Tummala@Sun.COM ibd_ioctl_t ibdioc; 93*12163SRamaswamy.Tummala@Sun.COM uint_t ioc_pkey_tbl_sz; 94*12163SRamaswamy.Tummala@Sun.COM caddr32_t ioc_pkeys; 95*12163SRamaswamy.Tummala@Sun.COM } ibport_ioctl32_t; 96*12163SRamaswamy.Tummala@Sun.COM #endif 97*12163SRamaswamy.Tummala@Sun.COM 98*12163SRamaswamy.Tummala@Sun.COM #ifdef __cplusplus 99*12163SRamaswamy.Tummala@Sun.COM } 100*12163SRamaswamy.Tummala@Sun.COM #endif 101*12163SRamaswamy.Tummala@Sun.COM 102*12163SRamaswamy.Tummala@Sun.COM #endif /* _SYS_IBPART_H */ 103