Lines Matching defs:sfunc

1864 	int			sfunc;
1925 sfunc = ddi_prop_get_int(DDI_DEV_T_ANY, child,
1975 if (sfunc == -1)
1978 sd->sd_address.a_sublun = (uchar_t)sfunc + 1;
3385 * Return the lun64 value from a address string: "addr,lun[,sfunc]". Either
3417 if (*s && (*s != ',')) /* [,sfunc] is OK */
3430 * Return the sfunc value from a address string: "addr,lun[,sfunc]". Either the
3431 * sfunc is after the second ',' or the entire address string is the sfunc.
3433 * invalid. An sfunc is at most two hex digits long.
3438 int sfunc;
3446 s = strchr(s, ','); /* "lun,sfunc" */
3448 return (-1); /* no ",sfunc" */
3449 s++; /* skip ',', at sfunc */
3451 s = addr; /* "sfunc" */
3453 for (sfunc = 0, i = 0; *s && (i < 2); s++, i++) {
3455 sfunc = (sfunc << 4) + (*s - '0');
3457 sfunc = (sfunc << 4) + 10 + (*s - 'A');
3459 sfunc = (sfunc << 4) + 10 + (*s - 'a');
3464 sfunc = -1; /* illegal */
3466 sfunc = -1;
3467 return (sfunc);
4747 int sfunc;
4756 * generic implementation based on "tgt,lun[,sfunc]" address form.
4757 * parse hex "tgt" part of "tgt,lun[,sfunc]"
4782 /* parse hex ",lun" part of "tgt,lun[,sfunc]" */
4794 /* parse hex ",sfunc" part of "tgt,lun[,sfunc]" */
4797 for (sfunc = 0; *p; p++) {
4799 sfunc = (sfunc << 4) + (*p - '0');
4801 sfunc = (sfunc << 4) + 10 + (*p - 'a');
4806 sfunc = -1;
4842 /* Set the sfunc property */
4843 if ((sfunc != -1) &&
4845 SCSI_ADDR_PROP_SFUNC, (int)sfunc) != DDI_PROP_SUCCESS))
4879 /* Set the sfunc property */
4880 if ((sfunc != -1) &&
4882 SCSI_ADDR_PROP_SFUNC, (int)sfunc) != DDI_PROP_SUCCESS))
6929 /* make string form of "@taddr,lun[,sfunc]" and see if it exists */
7331 * then enumerate the secondary function. The sfunc value is the dtype
7351 /* allocate a thread data structure for sfunc */
7662 lcp = strchr(addr, ','); /* "addr,lun[,sfunc]" */
7665 * With "tgt,lun[,sfunc]" addressing, multiple addressing levels
9751 char *taddr, scsi_lun64_t lun64, int sfunc)
9755 /* make unit address string form of "@taddr,lun[,sfunc]" */
9756 if (sfunc == -1)
9760 taddr, lun64, sfunc);