g_return_if_fail(entries != NULL);
g_return_if_fail(entry_count != NULL);
+ g_return_if_fail(error == NULL || *error == NULL);
prepare_udev_enum(&enumerator, error);
if (*error != NULL)
struct udev *ctx;
struct udev_device *dev;
+ g_return_if_fail(error == NULL || *error == NULL);
+
length = strlen(RAWMIDI_SYSNAME_TEMPLATE) + calculate_digits(card_id) +
calculate_digits(device_id) + 1;
name = g_malloc0(length);
struct udev_device *dev;
const char *node;
+ g_return_if_fail(error == NULL || *error == NULL);
+
length = strlen(RAWMIDI_SYSNAME_TEMPLATE) + calculate_digits(card_id) +
calculate_digits(device_id) + 1;
name = g_malloc0(length);
g_return_if_fail(entries != NULL);
g_return_if_fail(entry_count != NULL);
+ g_return_if_fail(error == NULL || *error == NULL);
rawmidi_perform_ctl_ioctl(card, SNDRV_CTL_IOCTL_RAWMIDI_INFO, &info, error);
if (*error != NULL)
{
struct snd_rawmidi_info *info;
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (substream_info == NULL) {
generate_error(error, EINVAL);
return;
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
// The flag is used to attach substreams for each direction.
if (access_modes & ~(ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_OUTPUT |
ALSARAWMIDI_STREAM_PAIR_INFO_FLAG_INPUT)) {
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (priv->fd < 0) {
generate_error(error, ENXIO);
return;
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
*substream_info = g_object_new(ALSARAWMIDI_TYPE_SUBSTREAM_INFO, NULL);
rawmidi_substream_info_refer_private(*substream_info, &info);
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
rawmidi_substream_params_refer_private(substream_params, ¶ms);
params->stream = direction;
g_return_if_fail(substream_status != NULL);
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
rawmidi_substream_status_refer_private(*substream_status, &status);
status->stream = direction;
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
len = read(priv->fd, *buf, *buf_size);
if (len < 0) {
generate_error(error, errno);
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
len = write(priv->fd, buf, buf_size);
if (len < 0) {
generate_error(error, errno);
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (ioctl(priv->fd, SNDRV_RAWMIDI_IOCTL_DRAIN, &direction) < 0)
generate_error(error, errno);
}
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (ioctl(priv->fd, SNDRV_RAWMIDI_IOCTL_DROP, &direction) < 0)
generate_error(error, errno);
}
g_return_if_fail(ALSARAWMIDI_IS_STREAM_PAIR(self));
priv = alsarawmidi_stream_pair_get_instance_private(self);
+ g_return_if_fail(error == NULL || *error == NULL);
+
if (priv->fd < 0) {
generate_error(error, ENXIO);
return;