1*3385b472SRobert Mustacchi.\" 2*3385b472SRobert Mustacchi.\" This file and its contents are supplied under the terms of the 3*3385b472SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0. 4*3385b472SRobert Mustacchi.\" You may only use this file in accordance with the terms of version 5*3385b472SRobert Mustacchi.\" 1.0 of the CDDL. 6*3385b472SRobert Mustacchi.\" 7*3385b472SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this 8*3385b472SRobert Mustacchi.\" source. A copy of the CDDL is also available via the Internet at 9*3385b472SRobert Mustacchi.\" http://www.illumos.org/license/CDDL. 10*3385b472SRobert Mustacchi.\" 11*3385b472SRobert Mustacchi.\" 12*3385b472SRobert Mustacchi.\" Copyright (c) 2017, Joyent, Inc. 13*3385b472SRobert Mustacchi.\" 14*3385b472SRobert Mustacchi.Dd Apr 18, 2017 15*3385b472SRobert Mustacchi.Dt SCSI_HBA_IPORT_EXIST 9F 16*3385b472SRobert Mustacchi.Os 17*3385b472SRobert Mustacchi.Sh NAME 18*3385b472SRobert Mustacchi.Nm scsi_hba_iport_exist , 19*3385b472SRobert Mustacchi.Nm scsi_hba_iport_find 20*3385b472SRobert Mustacchi.Nd find and check if an iport exists 21*3385b472SRobert Mustacchi.Sh SYNOPSIS 22*3385b472SRobert Mustacchi.In sys/scsi/scsi.h 23*3385b472SRobert Mustacchi.Ft int 24*3385b472SRobert Mustacchi.Fo scsi_hba_iport_exist 25*3385b472SRobert Mustacchi.Fa "dev_info_t *dip" 26*3385b472SRobert Mustacchi.Fc 27*3385b472SRobert Mustacchi.Ft "dev_info_t *" 28*3385b472SRobert Mustacchi.Fo scsi_hba_iport_find 29*3385b472SRobert Mustacchi.Fa "dev_info_t *dip" 30*3385b472SRobert Mustacchi.Fa "char *ua" 31*3385b472SRobert Mustacchi.Fc 32*3385b472SRobert Mustacchi.Sh INTERFACE LEVEL 33*3385b472SRobert Mustacchi.Sy Evolving - 34*3385b472SRobert MustacchiThis interface is still evolving in illumos. 35*3385b472SRobert MustacchiAPI and ABI stability is not guaranteed. 36*3385b472SRobert Mustacchi.Sh PARAMETERS 37*3385b472SRobert Mustacchi.Bl -tag -width Fa 38*3385b472SRobert Mustacchi.It Fa dip 39*3385b472SRobert MustacchiPointer to 40*3385b472SRobert Mustacchi.Vt dev_info 41*3385b472SRobert Mustacchistructure. 42*3385b472SRobert Mustacchi.It Fa ua 43*3385b472SRobert MustacchiThe unit address of the iport being searched for. 44*3385b472SRobert Mustacchi.El 45*3385b472SRobert Mustacchi.Sh DESCRIPTION 46*3385b472SRobert MustacchiThe 47*3385b472SRobert Mustacchi.Fn scsi_hba_iport_exists 48*3385b472SRobert Mustacchifunction is used to determine whether or not 49*3385b472SRobert Mustacchi.Fa dip 50*3385b472SRobert Mustacchihas any child devices that are iports which have been added through 51*3385b472SRobert Mustacchi.Xr scsi_hba_iport_register 9F 52*3385b472SRobert Mustacchior 53*3385b472SRobert Mustacchi.Xr scsi_hba_iportmap_iport_add 9F . 54*3385b472SRobert MustacchiFor more information on iports, see 55*3385b472SRobert Mustacchi.Xr iport 9 . 56*3385b472SRobert Mustacchi.Pp 57*3385b472SRobert MustacchiThe 58*3385b472SRobert Mustacchi.Fn scsi_hba_iport_find 59*3385b472SRobert Mustacchifunction attempts to find a child iport and return its 60*3385b472SRobert Mustacchi.Vt dev_info 61*3385b472SRobert Mustacchistructure if it exists. 62*3385b472SRobert MustacchiThe iport is searched for by its unit address, which is passed in the 63*3385b472SRobert Mustacchi.Fa ua 64*3385b472SRobert Mustacchiargument. 65*3385b472SRobert MustacchiThe unit address for an iport is established when the iport is created. 66*3385b472SRobert Mustacchi.Sh CONTEXT 67*3385b472SRobert MustacchiThe 68*3385b472SRobert Mustacchi.Fn scsi_hba_iport_exist 69*3385b472SRobert Mustacchiand 70*3385b472SRobert Mustacchi.Fn scsi_hba_iport_find 71*3385b472SRobert Mustacchifunctions may be called in either 72*3385b472SRobert Mustacchi.Sy user 73*3385b472SRobert Mustacchior 74*3385b472SRobert Mustacchi.Sy kernel 75*3385b472SRobert Mustacchicontext. 76*3385b472SRobert Mustacchi.Sh RETURN VALUES 77*3385b472SRobert MustacchiThe 78*3385b472SRobert Mustacchi.Fn scsi_hba_iport_exists 79*3385b472SRobert Mustacchifunction returns 80*3385b472SRobert Mustacchi.Sy 1 81*3385b472SRobert Mustacchiwhen there is a child iport of 82*3385b472SRobert Mustacchi.Fa dip . 83*3385b472SRobert MustacchiOtherwise, it returns 84*3385b472SRobert Mustacchi.Sy 0. 85*3385b472SRobert Mustacchi.Pp 86*3385b472SRobert MustacchiThe 87*3385b472SRobert Mustacchi.Fn scsi_hba_iport_find 88*3385b472SRobert Mustacchifunction returns a pointer to the iport's 89*3385b472SRobert Mustacchi.Vt dev_info 90*3385b472SRobert Mustacchistructure, if found. 91*3385b472SRobert MustacchiOtherwise, 92*3385b472SRobert Mustacchi.Dv NULL 93*3385b472SRobert Mustacchiis returned. 94*3385b472SRobert Mustacchi.Sh SEE ALSO 95*3385b472SRobert Mustacchi.Xr iport 9 , 96*3385b472SRobert Mustacchi.Xr iportmap 9 , 97*3385b472SRobert Mustacchi.Xr scsi_hba_iport_register 9F , 98*3385b472SRobert Mustacchi.Xr scsi_hba_iportmap_iport_add 9F 99