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