/* voc 2.1.0 [2025/05/18] for gcc LP64 on slackware xtspaF */

#ifndef ulmCiphers__h
#define ulmCiphers__h

#include "SYSTEM.h"
#include "ulmObjects.h"
#include "ulmPersistentDisciplines.h"
#include "ulmStreams.h"

typedef
	struct ulmCiphers_CipherRec *ulmCiphers_Cipher;

typedef
	struct ulmCiphers_CipherRec { /* ulmPersistentDisciplines_ObjectRec */
		INT64 _prvt0;
		char _prvt1[72];
	} ulmCiphers_CipherRec;

typedef
	BOOLEAN (*ulmCiphers_CryptProc)(ulmStreams_Stream, ulmCiphers_Cipher, INT32, ulmStreams_Stream);

typedef
	struct ulmCiphers_InterfaceRec *ulmCiphers_Interface;

typedef
	struct ulmCiphers_InterfaceRec { /* ulmObjects_ObjectRec */
		ulmCiphers_CryptProc encrypt, decrypt;
	} ulmCiphers_InterfaceRec;



import ADDRESS *ulmCiphers_InterfaceRec__typ;
import ADDRESS *ulmCiphers_CipherRec__typ;

import BOOLEAN ulmCiphers_Decrypt (ulmStreams_Stream in, ulmCiphers_Cipher key, ulmStreams_Stream out);
import BOOLEAN ulmCiphers_DecryptPart (ulmStreams_Stream in, ulmCiphers_Cipher key, INT32 length, ulmStreams_Stream out);
import BOOLEAN ulmCiphers_Encrypt (ulmStreams_Stream in, ulmCiphers_Cipher key, ulmStreams_Stream out);
import BOOLEAN ulmCiphers_EncryptPart (ulmStreams_Stream in, ulmCiphers_Cipher key, INT32 length, ulmStreams_Stream out);
import void ulmCiphers_Init (ulmCiphers_Cipher key, ulmCiphers_Interface if_);
import void *ulmCiphers__init(void);


#endif // ulmCiphers
