18#define ENIGMA_VERSION "unknown"
int enigma_set_rotor(Enigma *, int, int)
Set the rotor.
Definition: enigma.c:393
int enigma_init_default_config(Enigma *)
Load the default configuration for the Enigma machine.
Definition: enigma.c:139
int enigma_init_rotors(Enigma *, const EnigmaRotor *, int)
Initialize the rotors of the Enigma machine.
Definition: enigma.c:115
int enigma_set_rotor_count(Enigma *, int)
Set the number of rotors.
Definition: enigma.c:411
const EnigmaReflector * enigma_get_reflector(const Enigma *)
Get the reflector configuration.
Definition: enigma.c:265
int enigma_set_rotor_flag(Enigma *, int)
Set the rotor flag status.
Definition: enigma.c:428
int enigma_set_reflector(Enigma *, int)
Definition: enigma.c:375
char enigma_encode(Enigma *, int)
Encode a character using the Enigma machine.
Definition: enigma.c:43
int enigma_get_rotor_count(const Enigma *)
Get the number of rotors.
Definition: enigma.c:298
const EnigmaRotor * enigma_get_rotor(const Enigma *, int)
Get the rotor configuration.
Definition: enigma.c:282
int enigma_set_rotor_index(Enigma *, int, int)
Set the index of a rotor.
Definition: enigma.c:445
int enigma_set_plugboard(Enigma *, const char *)
Set the plugboard configuration.
Definition: enigma.c:348
int enigma_get_rotor_flag(const Enigma *)
Get the rotor flag.
Definition: enigma.c:313
int enigma_get_rotor_index(const Enigma *, int)
Get the index of a rotor.
Definition: enigma.c:329
Enigma * enigma_new(void)
Create a new Enigma machine.
Definition: enigma.c:226
int enigma_init_random_config(Enigma *)
Load a random configuration for the Enigma machine.
Definition: enigma.c:165
const char * enigma_get_plugboard(const Enigma *)
Get the plugboard configuration.
Definition: enigma.c:249
const char * enigma_version(void)
Get the version of the Enigma library.
Definition: enigma.c:239
int enigma_encode_string(Enigma *, const char *, char *, int)
Encode a string using the Enigma machine.
Definition: enigma.c:91
Represents a reflector configuration for the Enigma machine.
Definition: reflector.h:22
Represents a rotor configuration for the Enigma machine.
Definition: rotor.h:23
Represents the state and configuration of an Enigma machine.
Definition: enigma.h:34
const EnigmaReflector * reflector
Pointer to reflector configuration.
Definition: enigma.h:39
int rotor_flag
Flag indicating rotor behavior.
Definition: enigma.h:37
int rotor_count
Number of rotors in use.
Definition: enigma.h:38