#ifndef PS2RECOMP_FUNCTION_CLASSIFIER_H #define PS2RECOMP_FUNCTION_CLASSIFIER_H #include #include #include namespace ps2recomp { class FunctionClassifier { public: FunctionClassifier(); void setSceSdkFunctionNames(const std::unordered_set *names); bool isLibraryFunction(const std::string &name) const; static bool hasRuntimeHandler(const std::string &name); static bool isReliableSymbolName(const std::string &name); static bool hasPs2ApiPrefix(const std::string &name); private: std::unordered_set m_knownLibNames; const std::unordered_set *m_sceSdkFunctionNames = nullptr; void initializeKnownLibraryFunctions(); static bool matchesKernelRuntimeName(const std::string &name); }; } #endif // PS2RECOMP_FUNCTION_CLASSIFIER_H