Lines Matching refs:subs

662 	struct snd_seq_subscribers *subs;  in deliver_to_subscribers()  local
680 list_for_each_entry(subs, &grp->list_head, src_list) { in deliver_to_subscribers()
682 if (atomic_read(&subs->ref_count) != 2) in deliver_to_subscribers()
684 event->dest = subs->info.dest; in deliver_to_subscribers()
685 if (subs->info.flags & SNDRV_SEQ_PORT_SUBS_TIMESTAMP) in deliver_to_subscribers()
687 update_timestamp_of_queue(event, subs->info.queue, in deliver_to_subscribers()
688 subs->info.flags & SNDRV_SEQ_PORT_SUBS_TIME_REAL); in deliver_to_subscribers()
1393 struct snd_seq_port_subscribe *subs) in check_subscription_permission() argument
1395 if (client->number != subs->sender.client && in check_subscription_permission()
1396 client->number != subs->dest.client) { in check_subscription_permission()
1408 if (client->number != subs->sender.client) { in check_subscription_permission()
1413 if (client->number != subs->dest.client) { in check_subscription_permission()
1448 struct snd_seq_port_subscribe subs; in snd_seq_ioctl_subscribe_port() local
1450 if (copy_from_user(&subs, arg, sizeof(subs))) in snd_seq_ioctl_subscribe_port()
1453 if ((receiver = snd_seq_client_use_ptr(subs.dest.client)) == NULL) in snd_seq_ioctl_subscribe_port()
1455 if ((sender = snd_seq_client_use_ptr(subs.sender.client)) == NULL) in snd_seq_ioctl_subscribe_port()
1457 if ((sport = snd_seq_port_use_ptr(sender, subs.sender.port)) == NULL) in snd_seq_ioctl_subscribe_port()
1459 if ((dport = snd_seq_port_use_ptr(receiver, subs.dest.port)) == NULL) in snd_seq_ioctl_subscribe_port()
1462 result = check_subscription_permission(client, sport, dport, &subs); in snd_seq_ioctl_subscribe_port()
1467 result = snd_seq_port_connect(client, sender, sport, receiver, dport, &subs); in snd_seq_ioctl_subscribe_port()
1470 &subs, SNDRV_SEQ_EVENT_PORT_SUBSCRIBED); in snd_seq_ioctl_subscribe_port()
1493 struct snd_seq_port_subscribe subs; in snd_seq_ioctl_unsubscribe_port() local
1495 if (copy_from_user(&subs, arg, sizeof(subs))) in snd_seq_ioctl_unsubscribe_port()
1498 if ((receiver = snd_seq_client_use_ptr(subs.dest.client)) == NULL) in snd_seq_ioctl_unsubscribe_port()
1500 if ((sender = snd_seq_client_use_ptr(subs.sender.client)) == NULL) in snd_seq_ioctl_unsubscribe_port()
1502 if ((sport = snd_seq_port_use_ptr(sender, subs.sender.port)) == NULL) in snd_seq_ioctl_unsubscribe_port()
1504 if ((dport = snd_seq_port_use_ptr(receiver, subs.dest.port)) == NULL) in snd_seq_ioctl_unsubscribe_port()
1507 result = check_subscription_permission(client, sport, dport, &subs); in snd_seq_ioctl_unsubscribe_port()
1511 result = snd_seq_port_disconnect(client, sender, sport, receiver, dport, &subs); in snd_seq_ioctl_unsubscribe_port()
1514 &subs, SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED); in snd_seq_ioctl_unsubscribe_port()
1988 struct snd_seq_port_subscribe subs; in snd_seq_ioctl_get_subscription() local
1991 if (copy_from_user(&subs, arg, sizeof(subs))) in snd_seq_ioctl_get_subscription()
1995 if ((sender = snd_seq_client_use_ptr(subs.sender.client)) == NULL) in snd_seq_ioctl_get_subscription()
1997 if ((sport = snd_seq_port_use_ptr(sender, subs.sender.port)) == NULL) in snd_seq_ioctl_get_subscription()
1999 p = snd_seq_port_get_subscription(&sport->c_src, &subs.dest); in snd_seq_ioctl_get_subscription()
2002 subs = p->info; in snd_seq_ioctl_get_subscription()
2012 if (copy_to_user(arg, &subs, sizeof(subs))) in snd_seq_ioctl_get_subscription()
2028 struct snd_seq_query_subs subs; in snd_seq_ioctl_query_subs() local
2033 if (copy_from_user(&subs, arg, sizeof(subs))) in snd_seq_ioctl_query_subs()
2036 if ((cptr = snd_seq_client_use_ptr(subs.root.client)) == NULL) in snd_seq_ioctl_query_subs()
2038 if ((port = snd_seq_port_use_ptr(cptr, subs.root.port)) == NULL) in snd_seq_ioctl_query_subs()
2041 switch (subs.type) { in snd_seq_ioctl_query_subs()
2054 subs.num_subs = group->count; in snd_seq_ioctl_query_subs()
2058 if (i++ == subs.index) { in snd_seq_ioctl_query_subs()
2061 if (subs.type == SNDRV_SEQ_QUERY_SUBS_READ) { in snd_seq_ioctl_query_subs()
2063 subs.addr = s->info.dest; in snd_seq_ioctl_query_subs()
2066 subs.addr = s->info.sender; in snd_seq_ioctl_query_subs()
2068 subs.flags = s->info.flags; in snd_seq_ioctl_query_subs()
2069 subs.queue = s->info.queue; in snd_seq_ioctl_query_subs()
2082 if (copy_to_user(arg, &subs, sizeof(subs))) in snd_seq_ioctl_query_subs()