1#ifndef SOUND_FIREWIRE_FCP_H_INCLUDED
2#define SOUND_FIREWIRE_FCP_H_INCLUDED
3
4#define	AVC_PLUG_INFO_BUF_BYTES	4
5
6struct fw_unit;
7
8/*
9 * AV/C Digital Interface Command Set General Specification 4.2
10 * (Sep 2004, 1394TA)
11 */
12enum avc_general_plug_dir {
13	AVC_GENERAL_PLUG_DIR_IN		= 0,
14	AVC_GENERAL_PLUG_DIR_OUT	= 1,
15	AVC_GENERAL_PLUG_DIR_COUNT
16};
17int avc_general_set_sig_fmt(struct fw_unit *unit, unsigned int rate,
18			    enum avc_general_plug_dir dir,
19			    unsigned short plug);
20int avc_general_get_sig_fmt(struct fw_unit *unit, unsigned int *rate,
21			    enum avc_general_plug_dir dir,
22			    unsigned short plug);
23int avc_general_get_plug_info(struct fw_unit *unit, unsigned int subunit_type,
24			      unsigned int subunit_id, unsigned int subfunction,
25			      u8 info[AVC_PLUG_INFO_BUF_BYTES]);
26
27int fcp_avc_transaction(struct fw_unit *unit,
28			const void *command, unsigned int command_size,
29			void *response, unsigned int response_size,
30			unsigned int response_match_bytes);
31void fcp_bus_reset(struct fw_unit *unit);
32
33#endif
34