2014-11-12 21:13:08 +00:00
|
|
|
// Copyright 2014 Citra Emulator Project
|
2014-12-17 05:38:14 +00:00
|
|
|
// Licensed under GPLv2 or any later version
|
2014-11-12 21:13:08 +00:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "core/hle/service/service.h"
|
|
|
|
|
2016-12-10 12:51:50 +00:00
|
|
|
namespace Service {
|
|
|
|
namespace CSND {
|
2014-11-12 21:13:08 +00:00
|
|
|
|
2016-12-10 12:51:50 +00:00
|
|
|
class CSND_SND final : public Interface {
|
2014-11-12 21:13:08 +00:00
|
|
|
public:
|
2016-12-10 12:51:50 +00:00
|
|
|
CSND_SND();
|
2014-12-21 19:52:10 +00:00
|
|
|
|
2014-11-12 21:13:08 +00:00
|
|
|
std::string GetPortName() const override {
|
|
|
|
return "csnd:SND";
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2015-10-27 21:40:34 +00:00
|
|
|
struct Type0Command {
|
|
|
|
// command id and next command offset
|
|
|
|
u32 command_id;
|
|
|
|
u32 finished;
|
|
|
|
u32 flags;
|
2016-09-18 00:38:01 +00:00
|
|
|
u8 parameters[20];
|
2015-10-27 21:40:34 +00:00
|
|
|
};
|
|
|
|
|
2016-12-10 12:51:50 +00:00
|
|
|
void Initialize(Interface* self);
|
|
|
|
void ExecuteType0Commands(Interface* self);
|
|
|
|
void AcquireSoundChannels(Interface* self);
|
|
|
|
void Shutdown(Interface* self);
|
2015-10-27 21:40:34 +00:00
|
|
|
|
2016-12-10 12:51:50 +00:00
|
|
|
} // namespace CSND
|
|
|
|
} // namespace Service
|