Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 1 | #ifndef SOUND_FIREWIRE_LIB_H_INCLUDED |
| 2 | #define SOUND_FIREWIRE_LIB_H_INCLUDED |
| 3 | |
| 4 | #include <linux/firewire-constants.h> |
| 5 | #include <linux/types.h> |
| 6 | |
| 7 | struct fw_unit; |
| 8 | |
Clemens Ladisch | 1b70485 | 2011-09-04 22:17:38 +0200 | [diff] [blame] | 9 | #define FW_GENERATION_MASK 0x00ff |
| 10 | #define FW_FIXED_GENERATION 0x0100 |
| 11 | #define FW_QUIET 0x0200 |
| 12 | |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 13 | int snd_fw_transaction(struct fw_unit *unit, int tcode, |
Clemens Ladisch | 1b70485 | 2011-09-04 22:17:38 +0200 | [diff] [blame] | 14 | u64 offset, void *buffer, size_t length, |
| 15 | unsigned int flags); |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 16 | |
| 17 | /* returns true if retrying the transaction would not make sense */ |
| 18 | static inline bool rcode_is_permanent_error(int rcode) |
| 19 | { |
| 20 | return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR; |
| 21 | } |
| 22 | |
| 23 | #endif |