mirror of
https://github.com/zeldaret/botw
synced 2026-08-21 06:08:24 -04:00
18c60323a9
git subrepo clone https://github.com/open-ead/sead lib/sead subrepo: subdir: "lib/sead" merged: "1b66e825d" upstream: origin: "https://github.com/open-ead/sead" branch: "master" commit: "1b66e825d" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" git subrepo clone (merge) https://github.com/open-ead/nnheaders lib/NintendoSDK subrepo: subdir: "lib/NintendoSDK" merged: "9ee21399f" upstream: origin: "https://github.com/open-ead/nnheaders" branch: "master" commit: "9ee21399f" git-subrepo: version: "0.4.3" origin: "ssh://git@github.com/ingydotnet/git-subrepo" commit: "2f68596" git subrepo clone https://github.com/open-ead/agl lib/agl subrepo: subdir: "lib/agl" merged: "7c063271b" upstream: origin: "https://github.com/open-ead/agl" branch: "master" commit: "7c063271b" git-subrepo: version: "0.4.3" origin: "ssh://git@github.com/ingydotnet/git-subrepo" commit: "2f68596" git subrepo clone https://github.com/open-ead/EventFlow lib/EventFlow subrepo: subdir: "lib/EventFlow" merged: "c35d21b34" upstream: origin: "https://github.com/open-ead/EventFlow" branch: "master" commit: "c35d21b34" git-subrepo: version: "0.4.3" origin: "ssh://git@github.com/ingydotnet/git-subrepo" commit: "2f68596"
61 lines
1.5 KiB
C++
61 lines
1.5 KiB
C++
/**
|
|
* @file checksum.h
|
|
* @brief NEX Checksum Implementation.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <nn/nex/RootObject.h>
|
|
|
|
namespace nn {
|
|
namespace nex {
|
|
class Buffer;
|
|
|
|
class ChecksumAlgorithm : public nn::nex::RootObject {
|
|
public:
|
|
ChecksumAlgorithm();
|
|
|
|
virtual ~ChecksumAlgorithm();
|
|
|
|
virtual bool ComputeChecksum(nn::nex::Buffer const&, nn::nex::Buffer*) = 0;
|
|
// virtual bool ComputeChecksum(u8 const **, u64 const *, u64, nn::nex::SignatureBytes &) = 0;
|
|
virtual bool IsReady() const;
|
|
virtual void ComputeChecksumForTransport(u8 const*, u64);
|
|
virtual u32 ComputeChecksumForTransportArray(u8 const**, u64 const*, u64) = 0;
|
|
virtual u32 GetChecksumLength() = 0;
|
|
|
|
u64 _8;
|
|
u8 _10;
|
|
};
|
|
|
|
class MD5Checksum : public nn::nex::ChecksumAlgorithm {
|
|
public:
|
|
MD5Checksum();
|
|
|
|
virtual ~MD5Checksum();
|
|
|
|
virtual bool ComputeChecksum(nn::nex::Buffer const&, nn::nex::Buffer*);
|
|
virtual u32 ComputeChecksumForTransportArray(u8 const**, u64 const*, u64);
|
|
virtual u32 GetChecksumLength();
|
|
};
|
|
|
|
class CRC16Checksum : public nn::nex::ChecksumAlgorithm {
|
|
public:
|
|
CRC16Checksum();
|
|
|
|
virtual ~CRC16Checksum();
|
|
|
|
virtual bool ComputeChecksum(nn::nex::Buffer const&, nn::nex::Buffer*);
|
|
virtual u32 ComputeChecksumForTransportArray(u8 const**, u64 const*, u64);
|
|
virtual u32 GetChecksumLength();
|
|
};
|
|
|
|
/*
|
|
this actually inherits some sort of KeyedChecksum thing. whatever
|
|
class HMACChecksum : public nn::nex::ChecksumAlgorithm
|
|
{
|
|
|
|
};
|
|
*/
|
|
}; // namespace nex
|
|
}; // namespace nn
|