motu: the 4pre channel layout within packets is now believed to be correct. Thanks...
[ffado.git] / libffado / src / fireworks / efc / efc_cmds_hardware_ctrl.h
blob87cb590aa62e675c5cb06abe61bd6a116c42cca3
1 /*
2 * Copyright (C) 2005-2008 by Pieter Palmers
4 * This file is part of FFADO
5 * FFADO = Free Firewire (pro-)audio drivers for linux
7 * FFADO is based upon FreeBoB
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 2 of the License, or
12 * (at your option) version 3 of the License.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #ifndef FIREWORKS_EFC_CMD_HARDWARE_CTRL_H
25 #define FIREWORKS_EFC_CMD_HARDWARE_CTRL_H
27 #include "efc_cmd.h"
29 namespace FireWorks {
31 #define FIREWORKS_EFC_FLAG_MIXER_ENABLED 1
32 #define FIREWORKS_EFC_FLAG_SPDIF_PRO 2
33 #define FIREWORKS_EFC_FLAG_SPDIF_RAW 4
35 class EfcGetClockCmd : public EfcCmd
37 public:
38 EfcGetClockCmd();
39 virtual ~EfcGetClockCmd() {};
41 virtual bool serialize( Util::Cmd::IOSSerialize& se );
42 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
44 virtual const char* getCmdName() const
45 { return "EfcGetClockCmd"; }
47 virtual void showEfcCmd();
49 uint32_t m_clock;
50 uint32_t m_samplerate;
51 uint32_t m_index;
54 class EfcSetClockCmd : public EfcCmd
56 public:
57 EfcSetClockCmd();
58 virtual ~EfcSetClockCmd() {};
60 virtual bool serialize( Util::Cmd::IOSSerialize& se );
61 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
63 virtual const char* getCmdName() const
64 { return "EfcSetClockCmd"; }
66 virtual void showEfcCmd();
68 uint32_t m_clock;
69 uint32_t m_samplerate;
70 uint32_t m_index;
73 class EfcPhyReconnectCmd : public EfcCmd
75 public:
76 EfcPhyReconnectCmd();
77 virtual ~EfcPhyReconnectCmd() {};
79 virtual bool serialize( Util::Cmd::IOSSerialize& se );
80 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
82 virtual const char* getCmdName() const
83 { return "EfcPhyReconnectCmd"; }
85 virtual void showEfcCmd();
89 class EfcGetFlagsCmd : public EfcCmd
91 public:
92 EfcGetFlagsCmd();
93 virtual ~EfcGetFlagsCmd() {};
95 virtual bool serialize( Util::Cmd::IOSSerialize& se );
96 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
98 virtual const char* getCmdName() const
99 { return "EfcGetFlagsCmd"; }
101 virtual void showEfcCmd();
103 uint32_t m_flags;
106 class EfcChangeFlagsCmd : public EfcCmd
108 public:
109 EfcChangeFlagsCmd();
110 virtual ~EfcChangeFlagsCmd() {};
112 virtual bool serialize( Util::Cmd::IOSSerialize& se );
113 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
115 virtual const char* getCmdName() const
116 { return "EfcChangeFlagsCmd"; }
118 virtual void showEfcCmd();
120 uint32_t m_setmask;
121 uint32_t m_clearmask;
124 class EfcIdentifyCmd : public EfcCmd
126 public:
127 EfcIdentifyCmd();
128 virtual ~EfcIdentifyCmd() {};
130 virtual bool serialize( Util::Cmd::IOSSerialize& se );
131 virtual bool deserialize( Util::Cmd::IISDeserialize& de );
133 virtual const char* getCmdName() const
134 { return "EfcIdentifyCmd"; }
136 virtual void showEfcCmd();
140 } // namespace FireWorks
142 #endif // FIREWORKS_EFC_CMD_HARDWARE_CTRL_H