unit diSc14n;
interface
{
Delphi/FreePascal interface for SC14N <https://www.cryptosys.net/sc14n/>
$Id: diSc14n.pas $
$Date: 2023-04-14 10:37 $
$Revision: 3.1.0 $
************************** LICENSE *****************************************
Copyright (C) 2023 David Ireland, DI Management Services Pty Limited.
All rights reserved. <www.di-mgt.com.au> <www.cryptosys.net>
This code is provided 'as-is' without any express or implied warranty.
Free license is hereby granted to use this code as part of an application
provided this copyright notice is left intact. You are *not* licensed to
share any of this code in any form of mass distribution, including, but not
limited to, reposting on other web sites or in any source code repository.
****************************************************************************
}
function C14N_File2Digest(szOut : PAnsiChar; nOutChars : LongInt; szInputFile : AnsiString; szNameOrId : AnsiString; szParams : AnsiString; nOptions : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function C14N_File2File(szOutputFile : AnsiString; szInputFile : AnsiString; szNameOrId : AnsiString; szParams : AnsiString; nOptions : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function C14N_File2String(szOut : PAnsiChar; nOutChars : LongInt; szInputFile : AnsiString; szNameOrId : AnsiString; szParams : AnsiString; nOptions : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function C14N_String2Digest(szOut : PAnsiChar; nOutChars : LongInt; szDataIn : AnsiString; nDataLen : LongInt; szNameOrId : AnsiString; szParams : AnsiString; nOptions : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function C14N_String2String(szOut : PAnsiChar; nOutChars : LongInt; szDataIn : AnsiString; nDataLen : LongInt; szNameOrId : AnsiString; szParams : AnsiString; nOptions : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Err_ErrorLookup(szOut : PAnsiChar; nOutChars : LongInt; nErrCode : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Err_LastError(szOut : PAnsiChar; nOutChars : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Gen_CompileTime(szOut : PAnsiChar; nOutChars : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Gen_LicenceType(): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Gen_ModuleName(szOut : PAnsiChar; nOutChars : LongInt; nOptions : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Gen_Platform(szOut : PAnsiChar; nOutChars : LongInt): LongInt; stdcall; external 'diSc14n.dll';
function SC14N_Gen_Version(): LongInt; stdcall; external 'diSc14n.dll';
const
{ OPTION FLAGS AND CONSTANTS }
SC14N_DIG_DEFAULT = 0;
SC14N_DIG_SHA1 = 0;
SC14N_DIG_SHA256 = $2000;
SC14N_DIG_SHA384 = $3000;
SC14N_DIG_SHA512 = $5000;
SC14N_MAX_DIGEST_CHARS = 88;
SC14N_MAX_ERROR_CHARS = 4073;
SC14N_METHOD_EXCLUSIVE = $100;
SC14N_METHOD_INCLUSIVE = 0;
SC14N_METHOD_WITHCOMMENTS = $800;
SC14N_OPT_FLATTEN = $10000;
SC14N_TRAN_ENTIRE = 0;
SC14N_TRAN_OMITBYID = $11;
SC14N_TRAN_OMITBYTAG = $1;
SC14N_TRAN_SUBSETBYID = $12;
SC14N_TRAN_SUBSETBYTAG = $2;
implementation
end.