Lines Matching defs:link

307 nullconnect(link_t *link)
317 nulldisconnect(link_t *link)
330 link_t *link;
346 for (link = linkhead; link != NULL; link = link->next) {
351 if (link->used == used)
352 return (link);
355 link = malloc(sizeof (link_t));
357 if (link == NULL) {
362 _msg(6, ("TTYMUX: New link user %s used %s\n", user->id, used->id));
364 link->user = user;
365 link->used = used;
366 link->linkid = 0;
367 link->state = UNKNOWN;
368 link->flags = 0;
370 link->connect = nullconnect;
371 link->disconnect = nulldisconnect;
372 link->next = linkhead;
374 user->dependencies = link;
376 return (link);
399 * Streams link the driver identified by fd underneath a mux
437 mux_connect(link_t *link)
445 major(link->user->dev), minor(link->user->dev),
446 major(link->used->dev), minor(link->used->dev),
447 link->user->id, link->used->id));
452 if (link->user->dev == NODEV || link->used->dev == NODEV) {
460 if (major(link->user->dev) == major(link->used->dev)) {
461 _msg(2, ("TTYMUX: attempt to link devices created by "
470 if (link->used->dev == cn_dev) {
471 rcm_log_message(RCM_WARNING, _("TTYMUX: Request to link the "
480 if ((ioflags = link->flags & FORIO) == 0)
486 lfd = open(link->used->id, O_EXCL|O_RDWR|O_NONBLOCK|O_NOCTTY);
491 link->used->id, link->user->id);
495 errno, link->used->id);
502 * muxfd = open(link->user->id, oflags);
515 as.ttymux_ldev = link->used->dev;
524 link->linkid = as.ttymux_linkid;
532 * Now link and associate the used resource under the using resource.
534 as.ttymux_udev = link->user->dev;
535 as.ttymux_ldev = link->used->dev;
562 errno, link->used->id);
566 link->linkid = as.ttymux_linkid;
576 link->state = CONNECTED;
593 errno, link->used->id);
603 mux_disconnect(link_t *link)
609 link->user->id, link->used->id,
610 major(link->user->dev), minor(link->user->dev),
611 major(link->used->dev), minor(link->used->dev)));
613 as.ttymux_ldev = link->used->dev;
619 major(link->used->dev), minor(link->used->dev), errno));
633 rv, link->used->id);
639 errno, major(link->used->dev), minor(link->used->dev));
642 link->user->id, link->used->id));
644 link->state = DISCONNECTED;
645 link->linkid = 0;
762 link_t *link;
829 link = add_dependency(ruser, used);
831 if (link != NULL) {
832 link->flags = (uint_t)asp->ttymux_ioflag;
833 link->linkid = asp->ttymux_linkid;
834 link->state = CONNECTED;
835 link->connect = mux_connect;
836 link->disconnect = mux_disconnect;
852 link_t *link;
875 for (link = rs->dependencies;
876 link != NULL;
877 link = link->next) {
878 if (link->user == rsrc || link->used == rsrc) {
880 (void) link->connect(link);
894 link_t *link;
898 for (link = rs->dependencies;
899 link != NULL;
900 link = link->next) {
901 if (link->user == rsrc || link->used == rsrc) {
903 link->user->id, link->used->id));
904 (void) link->disconnect(link);
927 link_t *link;
936 for (link = src->dependencies, cnt = 0;
937 link != NULL;
938 link = link->next) {
940 if (link->state == CONNECTED)
943 if (link->used == rsrc)
1214 link_t *link, *nlink;
1222 for (link = rsrc->dependencies; link != NULL; ) {
1223 nlink = link->next;
1224 free(link);
1225 link = nlink;
1254 link_t *link;
1290 for (link = rsrc->dependencies; link != NULL;
1291 link = link->next) {
1292 if ((link->used->flags & REGISTERED) != 0)
1296 link->used->id));
1297 rv = rcm_register_interest(hd, link->used->id,
1302 rv, link->used->id);
1304 link->used->flags |= REGISTERED;