Compare commits

...

7 Commits

8 changed files with 281 additions and 0 deletions

View File

@ -0,0 +1,37 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_reset_memory_identifier
## Parameters
*This functions doesn't take any parameters.*
## Attributes
| | |
| ------------------ | ---------------------------------------------- |
| **Return type** | `void` |
| **Header comment** | *This functions doesn't have any description.* |
| **Added in commit** | [`70335e67ad3e7ef3bc693741a03cb91962b91863`](https://github.com/ENGO150/WHY2/commit/70335e67ad3e7ef3bc693741a03cb91962b91863) |
## Description
Resets string, used in garbage collector for identifying (separating) nodes, to default.
Every allocation has its own ID, which is set to lastly used `memory_identifier`. This separates allocations in code to blocks and you can run GC with the `memory_identifier` to deallocate those blocks.

View File

@ -0,0 +1,37 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_set_encryption_operation
## Parameters
| Identifier | Data type |
| ------------------------ | ------------------------------------------------------------------------------------------- |
| `newEncryptionOperation` | [`why2_encryption_operation_cb`](../../../../types/core/flags/why2_encryption_operation_cb) |
## Attributes
| | |
| ------------------ | ------------------------------------------------------------------------------------------- |
| **Return type** | `void` |
| **Header comment** | *This functions doesn't take any parameters.* |
| **Added in commit** | [`e6648787e8350cf3e20ead524c6a630ef412f581`](https://github.com/ENGO150/WHY2/commit/e6648787e8350cf3e20ead524c6a630ef412f581) |
## Description
Sets callback to `encryption_operation`, which is used during encryption/decryption for final string manipulation.

View File

@ -0,0 +1,45 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_set_encryption_separator
## Parameters
| Identifier | Data type |
| ----------------------------- | --------- |
| `encryption_separator_new` | `char` |
## Attributes
| | |
| ------------------ | ---------------------------------------------- |
| **Return type** | `void` |
| **Header comment** | *This functions doesn't have any description.* |
| **Added in commit** | [`1a5b58edf99547ba32fb047e80fb179f315182b9`](https://github.com/ENGO150/WHY2/commit/1a5b58edf99547ba32fb047e80fb179f315182b9) |
## Description
Sets `encryption_separator`, which is used in encryption/decryption for separating chars.
---
```
104'-100'10306'-110'87
```
Example above uses `'` as `encryption_separator`.

View File

@ -0,0 +1,37 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_set_flags
## Parameters
| Identifier | Data type |
| ----------- | ------------------------------------------------------------------- |
| `new_flags` | [`why2_input_flags`](../../../../types/core/flags/why2_input_flags) |
## Attributes
| | |
| ------------------ | -------------------- |
| **Return type** | `void` |
| **Header comment** | `RETURNS USED FLAGS` |
| **Added in commit** | [`692e76db175c2da444a5d92163305d26de73501a`](https://github.com/ENGO150/WHY2/commit/692e76db175c2da444a5d92163305d26de73501a) |
## Description
Sets `input_flags` settings.

View File

@ -0,0 +1,37 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_set_key_length
## Parameters
| Identifier | Data type |
| -------------- | --------- |
| `keyLengthNew` | `int` |
## Attributes
| | |
| ------------------ | ---------------------------------------------- |
| **Return type** | `void` |
| **Header comment** | *This functions doesn't have any description.* |
| **Added in commit** | [`2156aff370d8a223ff41882467d55ceb41d4f877`](https://github.com/ENGO150/WHY2/commit/2156aff370d8a223ff41882467d55ceb41d4f877) |
## Description
Sets `key_length`, which is used in `key` generation. Also works as minimal length of `key` passed in [`why2_encrypt_text`](../../../encrypter/why2_encrypt_text).

View File

@ -0,0 +1,39 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_set_memory_identifier
## Parameters
| Identifier | Data type |
| ----------------------- | --------- |
| `new_memory_identifier` | `char *` |
## Attributes
| | |
| ------------------ | ---------------------------------------------- |
| **Return type** | `void` |
| **Header comment** | *This functions doesn't have any description.* |
| **Added in commit** | [`70335e67ad3e7ef3bc693741a03cb91962b91863`](https://github.com/ENGO150/WHY2/commit/70335e67ad3e7ef3bc693741a03cb91962b91863) |
## Description
Sets string, which is used in garbage collector for identifying (separating) nodes.
Every allocation has its own ID, which is set to lastly used `memory_identifier`. This separates allocations in code to blocks and you can run GC with the `memory_identifier` to deallocate those blocks.

View File

@ -0,0 +1,37 @@
<!--
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
# why2_set_padding
## Parameters
| Identifier | Data type |
| ----------------------- | ---------------- |
| `new_memory_identifier` | `unsigned long` |
## Attributes
| | |
| ------------------ | ------------------------------------------------ |
| **Return type** | `void` |
| **Header comment** | `SET PADDING RATE WITHOUT REWRITING INPUT FLAGS` |
| **Added in commit** | [`0fe3f47752c574c317da8dbb9db53af9a101212a`](https://github.com/ENGO150/WHY2/commit/0fe3f47752c574c317da8dbb9db53af9a101212a) |
## Description
Sets `padding` without messing with [`input_flags`](../../../../types/core/flags/why2_input_flags).

View File

@ -60,6 +60,18 @@ You can find documentation for every *public* function of WHY2 below.
| [`why2_get_memory_identifier`](./core/flags/getters/why2_get_memory_identifier) | Returns string used in linked list (in memory.c) for identifying nodes when running garbage collector |
| [`why2_get_default_memory_identifier`](./core/flags/getters/why2_get_default_memory_identifier) | *This functions doesn't have any description.* |
#### Setters
| Function | Description |
| --------------------------------------------------------------------- | ------------------------------------------------- |
| [`why2_set_encryption_separator`](./core/flags/setters/why2_set_encryption_separator) | *This functions doesn't have any description.* |
| [`why2_set_key_length`](./core/flags/setters/why2_set_key_length) | *This functions doesn't have any description.* |
| [`why2_set_flags`](./core/flags/setters/why2_set_flags) | *This functions doesn't have any description.* |
| [`why2_set_encryption_operation`](./core/flags/setters/why2_set_encryption_operation) | *This functions doesn't have any description.* |
| [`why2_set_memory_identifier`](./core/flags/setters/why2_set_memory_identifier) | *This functions doesn't have any description.* |
| [`why2_set_padding`](./core/flags/setters/why2_set_padding) | Set padding rate without rewriting input flags |
| [`why2_reset_memory_identifier`](./core/flags/setters/why2_reset_memory_identifier) | *This functions doesn't have any description.* |
## Logger
## Chat