bool __cdecl AyriaStorage(size_t Command, ...) { bool Result = false; va_list Variadic; va_start(Variadic, Command); switch (Command) { // Takes a char *filename; applicationID is sent automatically. EXPORTMETHOD("WriteUserfile", [](va_list Placeholder) { return false; }); EXPORTMETHOD("WriteLocalfile", [](va_list Placeholder) { return false; }); EXPORTMETHOD("WriteMemoryfile", [](va_list Placeholder) { return false; }); EXPORTMETHOD("WritePublicfile", [](va_list Placeholder) { return false; }); // Takes a char *filename, size_t buffersize, char *buffer; applicationID is sent automatically. EXPORTMETHOD("ReadUserfile", [](va_list Placeholder) { return false; }); EXPORTMETHOD("ReadLocalfile", [](va_list Placeholder) { return false; }); EXPORTMETHOD("ReadMemoryfile", [](va_list Placeholder) { return false; }); EXPORTMETHOD("ReadPublicfile", [](va_list Placeholder) { return false; }); } va_end(Variadic); return Result; }
bool __cdecl AyriaUtility(size_t Command, ...) { bool Result = false; va_list Variadic; va_start(Variadic, Command); switch (Command) { // Encryption; takes a char *Plaintext, char *Ciphertext, char *IV, char *Key, uint32_t Length. EXPORTMETHOD("AES256Encrypt", APIImplentation::AES256Encrypt); EXPORTMETHOD("AES256Decrypt", APIImplentation::AES256Decrypt); EXPORTMETHOD("DES3Encrypt", APIImplentation::DES3Encrypt); EXPORTMETHOD("DES3Decrypt", APIImplentation::DES3Decrypt); EXPORTMETHOD("TEAEncrypt", [](va_list Placeholder) { return false; }); EXPORTMETHOD("TEADecrypt", [](va_list Placeholder) { return false; }); EXPORTMETHOD("RC6Encrypt", [](va_list Placeholder) { return false; }); EXPORTMETHOD("RC6Decrypt", [](va_list Placeholder) { return false; }); // Keyexchange; takes a char *Request (when peer) and a char *Response. EXPORTMETHOD("HHSStart", [](va_list Placeholder) { return false; }); EXPORTMETHOD("HHSContinue", [](va_list Placeholder) { return false; }); EXPORTMETHOD("RSAStart", [](va_list Placeholder) { return false; }); EXPORTMETHOD("RSAContinue", [](va_list Placeholder) { return false; }); // Hashing; takes a char *Plaintext, uint32_t PlainLength, char *Result. EXPORTMETHOD("FNV1aHash_64", APIImplentation::FNV1aHash_64); EXPORTMETHOD("SM3Hash_192", APIImplentation::SM3Hash_192); EXPORTMETHOD("SHA3Hash_256", [](va_list Placeholder) { return false; }); // File readers; takes a char *Data. EXPORTMETHOD("CSVLoad", APIImplentation::CSVLoad); EXPORTMETHOD("CSVReadNext", APIImplentation::CSVReadNext); // Compression; takes a char *Plaintext, char **ModifiedBuffer, uint32_t PlainLength, int32_t *ModifiedLength. EXPORTMETHOD("LZ4Inflate", APIImplentation::LZ4Inflate); EXPORTMETHOD("LZ4Deflate", APIImplentation::LZ4Deflate); } va_end(Variadic); return Result; }