22 |
22 |
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
|
23 |
23 |
* Use is subject to license terms.
|
24 |
24 |
*/
|
|
25 |
/*
|
|
26 |
* Copyright 2011 Nexenta Systems, Inc. All rights reserved.
|
|
27 |
*/
|
25 |
28 |
|
26 |
29 |
/*
|
27 |
30 |
* Multithreaded STREAMS Local Transport Provider.
|
... | ... | |
777 |
780 |
-2, /* ETSDU_size -2 => not supported */
|
778 |
781 |
-2, /* CDATA_size -2 => not supported */
|
779 |
782 |
-2, /* DDATA_size -2 => not supported */
|
780 |
|
-1, /* ADDR_size -1 => unlimited */
|
|
783 |
-1, /* ADDR_size -1 => infinite */
|
781 |
784 |
-1, /* OPT_size */
|
782 |
785 |
0, /* TIDU_size - fill at run time */
|
783 |
786 |
T_CLTS, /* SERV_type */
|
... | ... | |
839 |
842 |
static void tl_discon_req(mblk_t *, tl_endpt_t *);
|
840 |
843 |
static void tl_capability_req(mblk_t *, tl_endpt_t *);
|
841 |
844 |
static void tl_info_req_ser(mblk_t *, tl_endpt_t *);
|
|
845 |
static void tl_addr_req_ser(mblk_t *, tl_endpt_t *);
|
842 |
846 |
static void tl_info_req(mblk_t *, tl_endpt_t *);
|
843 |
847 |
static void tl_addr_req(mblk_t *, tl_endpt_t *);
|
844 |
848 |
static void tl_connected_cots_addr_req(mblk_t *, tl_endpt_t *);
|
... | ... | |
1853 |
1857 |
case T_INFO_REQ:
|
1854 |
1858 |
tl_proc = tl_info_req_ser;
|
1855 |
1859 |
break;
|
|
1860 |
case T_ADDR_REQ:
|
|
1861 |
tl_proc = tl_addr_req_ser;
|
|
1862 |
break;
|
|
1863 |
|
1856 |
1864 |
default:
|
1857 |
1865 |
(void) (STRLOG(TL_ID, tep->te_minor, 1,
|
1858 |
1866 |
SL_TRACE|SL_ERROR,
|
... | ... | |
4159 |
4167 |
}
|
4160 |
4168 |
}
|
4161 |
4169 |
|
|
4170 |
static void
|
|
4171 |
tl_addr_req_ser(mblk_t *mp, tl_endpt_t *tep)
|
|
4172 |
{
|
|
4173 |
if (!tep->te_closing)
|
|
4174 |
tl_addr_req(mp, tep);
|
|
4175 |
else {
|
|
4176 |
/* XXX: Possibly need to set EBUSY error */
|
|
4177 |
freemsg(mp);
|
|
4178 |
}
|
|
4179 |
|
|
4180 |
tl_serializer_exit(tep);
|
|
4181 |
tl_refrele(tep);
|
|
4182 |
}
|
4162 |
4183 |
|
4163 |
4184 |
static void
|
4164 |
4185 |
tl_addr_req(mblk_t *mp, tl_endpt_t *tep)
|
... | ... | |
4347 |
4368 |
{
|
4348 |
4369 |
if (! tep->te_closing)
|
4349 |
4370 |
tl_info_req(mp, tep);
|
4350 |
|
else
|
|
4371 |
else {
|
|
4372 |
/* XXX: Possibly need to set EBUSY error */
|
4351 |
4373 |
freemsg(mp);
|
|
4374 |
}
|
4352 |
4375 |
|
4353 |
4376 |
tl_serializer_exit(tep);
|
4354 |
4377 |
tl_refrele(tep);
|