#ifndef SOUND_FIREWIRE_ISO_RESOURCES_H_INCLUDED#define SOUND_FIREWIRE_ISO_RESOURCES_H_INCLUDED#include <linux/mutex.h>#include <linux/types.h>structfw_unit;/** * struct fw_iso_resources - manages channel/bandwidth allocation * @channels_mask: if the device does not support all channel numbers, set this * bit mask to something else than the default (all ones) * * This structure manages (de)allocation of isochronous resources (channel and * bandwidth) for one isochronous stream. */structfw_iso_resources{u64channels_mask;/* private: */structfw_unit*unit;structmutexmutex;unsignedintchannel;unsignedintbandwidth;/* in bandwidth units, without overhead */unsignedintbandwidth_overhead;intgeneration;/* in which allocation is valid */boolallocated;};intfw_iso_resources_init(structfw_iso_resources*r,structfw_unit*unit);voidfw_iso_resources_destroy(structfw_iso_resources*r);intfw_iso_resources_allocate(structfw_iso_resources*r,unsignedintmax_payload_bytes,intspeed);intfw_iso_resources_update(structfw_iso_resources*r);voidfw_iso_resources_free(structfw_iso_resources*r);#endif