1 line
45 KiB
JSON
Executable File
1 line
45 KiB
JSON
Executable File
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#homepage","title":"Homepage","text":"<p>Hey!</p>"},{"location":"functions/","title":"Functions","text":""},{"location":"functions/#functions","title":"Functions","text":"<p>You can find documentation for every public function of WHY2 below.</p>"},{"location":"functions/#core","title":"Core","text":""},{"location":"functions/#crypto","title":"Crypto","text":"Function Description <code>why2_sum_segment</code> Calculate SUM++ for input; Used for padding seed <code>why2_random</code> Write crypto-secure random number into dest <code>why2_seed_random</code> Seed why2_seeded_random output <code>why2_seeded_random</code> Generate random number based on seed passed in why2_seed_random"},{"location":"functions/#decrypter","title":"Decrypter","text":"Function Description <code>why2_decrypt_text</code> Text from will be decrypted with key and returned"},{"location":"functions/#encrypter","title":"Encrypter","text":"Function Description <code>why2_encrypt_text</code> Text from will be encrypted with key and returned"},{"location":"functions/#flags","title":"Flags","text":""},{"location":"functions/#getters","title":"Getters","text":"Function Description <code>why2_get_encryption_separator</code> This functions doesn't have any description. <code>why2_get_key_length</code> This functions doesn't have any description. <code>why2_get_default_flags</code> This generates why2_input_flags with default values <code>why2_get_flags</code> Returns used flags <code>why2_no_output</code> Same as why2_get_default_flags() but for why2_output_flags <code>why2_get_encryption_operation</code> Returns functions which is used for encryption & decryption <code>why2_get_flags_changed</code> This functions doesn't have any description. <code>why2_get_padding_changed</code> This functions doesn't have any description. <code>why2_get_memory_identifier</code> Returns string used in linked list (in memory.c) for identifying nodes when running garbage collector <code>why2_get_default_memory_identifier</code> This functions doesn't have any description."},{"location":"functions/#setters","title":"Setters","text":"Function Description <code>why2_set_encryption_separator</code> This functions doesn't have any description. <code>why2_set_key_length</code> This functions doesn't have any description. <code>why2_set_flags</code> This functions doesn't have any description. <code>why2_set_encryption_operation</code> This functions doesn't have any description. <code>why2_set_memory_identifier</code> This functions doesn't have any description. <code>why2_set_padding</code> Set padding rate without rewriting input flags <code>why2_reset_memory_identifier</code> This functions doesn't have any description."},{"location":"functions/#linked-list","title":"Linked-list","text":"Function Description <code>why2_list_push</code> Push element to list back <code>why2_list_push_at</code> Push element to index index of list <code>why2_list_remove</code> Remove element <code>why2_list_remove_at</code> Remove element with index index <code>why2_list_remove_back</code> Remove last element <code>why2_list_find</code> Find element in list <code>why2_list_get_size</code> Get size <code>why2_list_reverse</code> Reverses list"},{"location":"functions/#memory","title":"Memory","text":"Function Description <code>why2_malloc</code> This functions doesn't have any description. <code>why2_calloc</code> This functions doesn't have any description. <code>why2_realloc</code> This doesn't preserve content of pointer! <code>why2_recalloc</code> Same as why2_realloc but fills the pointer with null-terms <code>why2_strdup</code> This functions doesn't have any description. <code>why2_fopen</code> This functions doesn't have any description. <code>why2_fdopen</code> This functions doesn't have any description. <code>why2_opendir</code> This functions doesn't have any description. <code>why2_deallocate</code> This functions doesn't have any description. <code>why2_clean_memory</code> identifier specifies which nodes to deallocate | this is basically garbage collector | pass why2_get_default_memory_identifier() for deallocating everything <code>why2_allocated</code> Checks if pointer was allocated using why2-mem"},{"location":"functions/#logger","title":"Logger","text":""},{"location":"functions/#chat","title":"Chat","text":""},{"location":"functions/core/crypto/why2_random/","title":"why2_random function","text":""},{"location":"functions/core/crypto/why2_random/#why2_random","title":"why2_random","text":""},{"location":"functions/core/crypto/why2_random/#parameters","title":"Parameters","text":"Identifier Data type <code>dest</code> <code>void *</code> <code>size</code> <code>size_t</code>"},{"location":"functions/core/crypto/why2_random/#attributes","title":"Attributes","text":"Return type <code>why2_bool</code> Header comment <code>WRITE CRYPTO-SECURE RANDOM NUMBER INTO dest</code> Added in commit <code>f95608f52a0a82b3a8c005c7f8dad0b9cf93202a</code>"},{"location":"functions/core/crypto/why2_random/#description","title":"Description","text":"<p>Function passes <code>dest</code> and <code>size</code> into <code>RAND_bytes</code> function and gets the output value. If output value is equal to <code>1</code>, returns <code>true</code>, otherwise <code>false</code>.</p> <p><code>dest</code> is where the output value should be stored, <code>size</code> sets the allowed size to write. Should be <code>sizeof(dest_datatype)</code>.</p>"},{"location":"functions/core/crypto/why2_seed_random/","title":"why2_seed_random function","text":""},{"location":"functions/core/crypto/why2_seed_random/#why2_seed_random","title":"why2_seed_random","text":""},{"location":"functions/core/crypto/why2_seed_random/#parameters","title":"Parameters","text":"Identifier Data type <code>seed</code> <code>unsigned long</code>"},{"location":"functions/core/crypto/why2_seed_random/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>SEED why2_seeded_random OUTPUT</code> Added in commit <code>25113dc0b3c97178c85ac02c082164a6d36d3c1e</code>"},{"location":"functions/core/crypto/why2_seed_random/#description","title":"Description","text":"<p>Function inits pseudo random number generator <code>struct</code> with <code>seed</code>. Seeded numbers can be used with <code>why2_seeded_random</code>. Also, there is no need to deallocate the PRNG.</p>"},{"location":"functions/core/crypto/why2_seeded_random/","title":"why2_seeded_random function","text":""},{"location":"functions/core/crypto/why2_seeded_random/#why2_seeded_random","title":"why2_seeded_random","text":""},{"location":"functions/core/crypto/why2_seeded_random/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/crypto/why2_seeded_random/#attributes","title":"Attributes","text":"Return type <code>int</code> Header comment <code>GENERATE RANDOM NUMBER BASED ON SEED PASSED IN why2_seed_random</code> Added in commit <code>25113dc0b3c97178c85ac02c082164a6d36d3c1e</code>"},{"location":"functions/core/crypto/why2_seeded_random/#description","title":"Description","text":"<p>Function generates pseudo random <code>int</code> with PRNG created in <code>why2_seed_random</code>. The function uses OpenSSL's <code>HMAC</code>.</p>"},{"location":"functions/core/crypto/why2_sum_segment/","title":"why2_sum_segment function","text":""},{"location":"functions/core/crypto/why2_sum_segment/#why2_sum_segment","title":"why2_sum_segment","text":""},{"location":"functions/core/crypto/why2_sum_segment/#parameters","title":"Parameters","text":"Identifier Data type <code>input</code> <code>char *</code>"},{"location":"functions/core/crypto/why2_sum_segment/#attributes","title":"Attributes","text":"Return type <code>unsigned long long</code> Header comment <code>CALCULATE SUM++ FOR input; USED FOR PADDING SEED</code> Added in commit <code>fb2ac1a7bbcb6f7291f4e89576e1b7f5c1d6fd06</code>"},{"location":"functions/core/crypto/why2_sum_segment/#description","title":"Description","text":"<p>Function takes <code>input</code> parameter and divides it into segments of <code>WHY2_SUM_SEGMENT_SIZE</code>. Each segment does some xoring, math using <code>WHY2_SUM_BASE_PRIME</code> and modulates each segment with <code>WHY2_SUM_MOD_PRIME</code>. The result is then added together and returned.</p> <p>Output value grows rapidly with increasing <code>input</code> length, but unless you are using enormously large keys, nothing should overflow. Function was tested with lengths up to 4096 chars and output was only about 0,0000014 % of the <code>ULL</code> range.</p> <p>This function isn't designed to be completely cryptographically secure! It is meant only for converting string of key into <code>ULL</code> with as few collisions as possible.</p>"},{"location":"functions/core/decrypter/why2_decrypt_text/","title":"why2_decrypt_text function","text":""},{"location":"functions/core/decrypter/why2_decrypt_text/#why2_decrypt_text","title":"why2_decrypt_text","text":""},{"location":"functions/core/decrypter/why2_decrypt_text/#parameters","title":"Parameters","text":"Identifier Data type <code>text</code> <code>char *</code> <code>key</code> <code>char *</code>"},{"location":"functions/core/decrypter/why2_decrypt_text/#attributes","title":"Attributes","text":"Return type <code>why2_output_flags</code> Header comment <code>TEXT from WILL BE DECRYPTED WITH KEY AND RETURNED</code> Added in commit <code>d9a99b985105b99b3ef237597f8ea91a751b89f1</code>"},{"location":"functions/core/decrypter/why2_decrypt_text/#description","title":"Description","text":"<p>Function removes padding (if present) from <code>text</code> using <code>key</code>, decrypts and returns output in <code>why2_output_flags</code> among with some run data.</p> <p>Encryption/Decryption functions are using settings from <code>why2_input_flags</code>. You can set those using <code>why2_set_flags</code>.</p>"},{"location":"functions/core/encrypter/why2_encrypt_text/","title":"why2_encrypt_text function","text":""},{"location":"functions/core/encrypter/why2_encrypt_text/#why2_encrypt_text","title":"why2_encrypt_text","text":""},{"location":"functions/core/encrypter/why2_encrypt_text/#parameters","title":"Parameters","text":"Identifier Data type <code>text</code> <code>char *</code> <code>key</code> <code>char *</code>"},{"location":"functions/core/encrypter/why2_encrypt_text/#attributes","title":"Attributes","text":"Return type <code>why2_output_flags</code> Header comment <code>TEXT from WILL BE ENCRYPTED WITH key AND RETURNED</code> Added in commit <code>d9a99b985105b99b3ef237597f8ea91a751b89f1</code>"},{"location":"functions/core/encrypter/why2_encrypt_text/#description","title":"Description","text":"<p>Function adds padding (if enabled) to <code>text</code> using <code>key</code>, encrypts and returns output in <code>why2_output_flags</code> among with some run data.</p> <p>Encryption/Decryption functions are using settings from <code>why2_input_flags</code>. You can set those using <code>why2_set_flags</code>.</p>"},{"location":"functions/core/flags/getters/why2_get_default_flags/","title":"why2_get_default_flags function","text":""},{"location":"functions/core/flags/getters/why2_get_default_flags/#why2_get_default_flags","title":"why2_get_default_flags","text":""},{"location":"functions/core/flags/getters/why2_get_default_flags/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_default_flags/#attributes","title":"Attributes","text":"Return type <code>why2_input_flags</code> Header comment <code>THIS GENERATES why2_input_flags WITH DEFAULT VALUES</code> Added in commit <code>71865826fa159e4480ecd676ff224822ea640506</code>"},{"location":"functions/core/flags/getters/why2_get_default_flags/#description","title":"Description","text":"<p>Returns default <code>input_flags</code> settings.</p>"},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/","title":"why2_get_default_memory_identifier function","text":""},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/#why2_get_default_memory_identifier","title":"why2_get_default_memory_identifier","text":""},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/#attributes","title":"Attributes","text":"Return type <code>char *</code> Header comment This functions doesn't have any description. Added in commit <code>aa6b484363ad609f1bf1ff5ee539723d9417f48a</code>"},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/#description","title":"Description","text":"<p>Returns string, which is by default used in garbage collector for identifying (separating) nodes.</p> <p>Every allocation has its own ID, which is set to lastly used <code>memory_identifier</code>. This separates allocations in code to blocks and you can run GC with the <code>memory_identifier</code> to deallocate those blocks.</p>"},{"location":"functions/core/flags/getters/why2_get_encryption_operation/","title":"why2_get_encryption_operation function","text":""},{"location":"functions/core/flags/getters/why2_get_encryption_operation/#why2_get_encryption_operation","title":"why2_get_encryption_operation","text":""},{"location":"functions/core/flags/getters/why2_get_encryption_operation/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_encryption_operation/#attributes","title":"Attributes","text":"Return type <code>why2_encryption_operation_cb</code> Header comment <code>RETURNS FUNCTION WHICH IS USED FOR ENCRYPTION & DECRYPTION</code> Added in commit <code>2a09a38acf48f0e57beb5135ab7f1fdb18e088fa</code>"},{"location":"functions/core/flags/getters/why2_get_encryption_operation/#description","title":"Description","text":"<p>Returns callback to <code>encryption_operation</code>, which is used during encryption/decryption for final string manipulation.</p>"},{"location":"functions/core/flags/getters/why2_get_encryption_separator/","title":"why2_get_encryption_separator function","text":""},{"location":"functions/core/flags/getters/why2_get_encryption_separator/#why2_get_encryption_separator","title":"why2_get_encryption_separator","text":""},{"location":"functions/core/flags/getters/why2_get_encryption_separator/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_encryption_separator/#attributes","title":"Attributes","text":"Return type <code>char</code> Header comment This functions doesn't have any description. Added in commit <code>1a5b58edf99547ba32fb047e80fb179f315182b9</code>"},{"location":"functions/core/flags/getters/why2_get_encryption_separator/#description","title":"Description","text":"<p>Returns <code>encryption_separator</code>, which is used in encryption/decryption for separating chars.</p> <pre><code>104'-100'10306'-110'87\n</code></pre> <p>Example above uses <code>'</code> as <code>encryption_separator</code>.</p>"},{"location":"functions/core/flags/getters/why2_get_flags/","title":"why2_get_flags function","text":""},{"location":"functions/core/flags/getters/why2_get_flags/#why2_get_flags","title":"why2_get_flags","text":""},{"location":"functions/core/flags/getters/why2_get_flags/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_flags/#attributes","title":"Attributes","text":"Return type <code>why2_input_flags</code> Header comment <code>RETURNS USED FLAGS</code> Added in commit <code>692e76db175c2da444a5d92163305d26de73501a</code>"},{"location":"functions/core/flags/getters/why2_get_flags/#description","title":"Description","text":"<p>Returns used <code>input_flags</code> settings.</p>"},{"location":"functions/core/flags/getters/why2_get_flags_changed/","title":"why2_get_flags_changed function","text":""},{"location":"functions/core/flags/getters/why2_get_flags_changed/#why2_get_flags_changed","title":"why2_get_flags_changed","text":""},{"location":"functions/core/flags/getters/why2_get_flags_changed/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_flags_changed/#attributes","title":"Attributes","text":"Return type <code>why2_bool</code> Header comment This functions doesn't have any description. Added in commit <code>083233c0f64302621c915125fffec0d5e9b23a2c</code>"},{"location":"functions/core/flags/getters/why2_get_flags_changed/#description","title":"Description","text":"<p>Function returns boolean \u2192 whether <code>why2_set_flags</code> was used or not.</p>"},{"location":"functions/core/flags/getters/why2_get_key_length/","title":"why2_get_key_length function","text":""},{"location":"functions/core/flags/getters/why2_get_key_length/#why2_get_key_length","title":"why2_get_key_length","text":""},{"location":"functions/core/flags/getters/why2_get_key_length/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_key_length/#attributes","title":"Attributes","text":"Return type <code>unsigned long</code> Header comment This functions doesn't have any description. Added in commit <code>e85a14b2530d6c8a39be946f691a0f9047d38f73</code>"},{"location":"functions/core/flags/getters/why2_get_key_length/#description","title":"Description","text":"<p>Returns <code>key_length</code>, which is used in <code>key</code> generation. Also works as minimal length of <code>key</code> passed in <code>why2_encrypt_text</code>.</p>"},{"location":"functions/core/flags/getters/why2_get_memory_identifier/","title":"why2_get_memory_identifier function","text":""},{"location":"functions/core/flags/getters/why2_get_memory_identifier/#why2_get_memory_identifier","title":"why2_get_memory_identifier","text":""},{"location":"functions/core/flags/getters/why2_get_memory_identifier/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_memory_identifier/#attributes","title":"Attributes","text":"Return type <code>char *</code> Header comment <code>RETURNS STRING USED IN LINKED LIST (IN memory.c) FOR IDENTIFYING NODES WHEN RUNNING GARBAGE COLLECTOR</code> Added in commit <code>70335e67ad3e7ef3bc693741a03cb91962b91863</code>"},{"location":"functions/core/flags/getters/why2_get_memory_identifier/#description","title":"Description","text":"<p>Returns string, which is used in garbage collector for identifying (separating) nodes.</p> <p>Every allocation has its own ID, which is set to lastly used <code>memory_identifier</code>. This separates allocations in code to blocks and you can run GC with the <code>memory_identifier</code> to deallocate those blocks.</p>"},{"location":"functions/core/flags/getters/why2_get_padding_changed/","title":"why2_get_padding_changed function","text":""},{"location":"functions/core/flags/getters/why2_get_padding_changed/#why2_get_padding_changed","title":"why2_get_padding_changed","text":""},{"location":"functions/core/flags/getters/why2_get_padding_changed/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/getters/why2_get_padding_changed/#attributes","title":"Attributes","text":"Return type <code>why2_bool</code> Header comment This functions doesn't have any description. Added in commit <code>59d6252fe37f036995cb23f3b9898ee1c4b4428d</code>"},{"location":"functions/core/flags/getters/why2_get_padding_changed/#description","title":"Description","text":"<p>Function returns boolean \u2192 whether <code>why2_set_padding</code> was used or not.</p>"},{"location":"functions/core/flags/getters/why2_no_output/","title":"why2_no_output function","text":""},{"location":"functions/core/flags/getters/why2_no_output/#why2_no_output","title":"why2_no_output","text":""},{"location":"functions/core/flags/getters/why2_no_output/#parameters","title":"Parameters","text":"Identifier Data type <code>exit_code</code> <code>enum WHY2_EXIT_CODES</code>"},{"location":"functions/core/flags/getters/why2_no_output/#attributes","title":"Attributes","text":"Return type <code>why2_output_flags</code> Header comment <code>SAME AS why2_get_default_flags() BUT FOR why2_output_flags</code> Added in commit <code>c5de589fff870bbd8cf428465ea4e73caa3e8b38</code>"},{"location":"functions/core/flags/getters/why2_no_output/#description","title":"Description","text":"<p>Returns empty <code>output_flags</code> with <code>exit_code</code>.</p>"},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/","title":"why2_reset_memory_identifier function","text":""},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/#why2_reset_memory_identifier","title":"why2_reset_memory_identifier","text":""},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/#parameters","title":"Parameters","text":"<p>This functions doesn't take any parameters.</p>"},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment This functions doesn't have any description. Added in commit <code>70335e67ad3e7ef3bc693741a03cb91962b91863</code>"},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/#description","title":"Description","text":"<p>Resets string, used in garbage collector for identifying (separating) nodes, to default.</p> <p>Every allocation has its own ID, which is set to lastly used <code>memory_identifier</code>. This separates allocations in code to blocks and you can run GC with the <code>memory_identifier</code> to deallocate those blocks.</p>"},{"location":"functions/core/flags/setters/why2_set_encryption_operation/","title":"why2_set_encryption_operation function","text":""},{"location":"functions/core/flags/setters/why2_set_encryption_operation/#why2_set_encryption_operation","title":"why2_set_encryption_operation","text":""},{"location":"functions/core/flags/setters/why2_set_encryption_operation/#parameters","title":"Parameters","text":"Identifier Data type <code>newEncryptionOperation</code> <code>why2_encryption_operation_cb</code>"},{"location":"functions/core/flags/setters/why2_set_encryption_operation/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment This functions doesn't take any parameters. Added in commit <code>e6648787e8350cf3e20ead524c6a630ef412f581</code>"},{"location":"functions/core/flags/setters/why2_set_encryption_operation/#description","title":"Description","text":"<p>Sets callback to <code>encryption_operation</code>, which is used during encryption/decryption for final string manipulation.</p>"},{"location":"functions/core/flags/setters/why2_set_encryption_separator/","title":"why2_set_encryption_separator function","text":""},{"location":"functions/core/flags/setters/why2_set_encryption_separator/#why2_set_encryption_separator","title":"why2_set_encryption_separator","text":""},{"location":"functions/core/flags/setters/why2_set_encryption_separator/#parameters","title":"Parameters","text":"Identifier Data type <code>encryption_separator_new</code> <code>char</code>"},{"location":"functions/core/flags/setters/why2_set_encryption_separator/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment This functions doesn't have any description. Added in commit <code>1a5b58edf99547ba32fb047e80fb179f315182b9</code>"},{"location":"functions/core/flags/setters/why2_set_encryption_separator/#description","title":"Description","text":"<p>Sets <code>encryption_separator</code>, which is used in encryption/decryption for separating chars.</p> <pre><code>104'-100'10306'-110'87\n</code></pre> <p>Example above uses <code>'</code> as <code>encryption_separator</code>.</p>"},{"location":"functions/core/flags/setters/why2_set_flags/","title":"why2_set_flags function","text":""},{"location":"functions/core/flags/setters/why2_set_flags/#why2_set_flags","title":"why2_set_flags","text":""},{"location":"functions/core/flags/setters/why2_set_flags/#parameters","title":"Parameters","text":"Identifier Data type <code>new_flags</code> <code>why2_input_flags</code>"},{"location":"functions/core/flags/setters/why2_set_flags/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>RETURNS USED FLAGS</code> Added in commit <code>692e76db175c2da444a5d92163305d26de73501a</code>"},{"location":"functions/core/flags/setters/why2_set_flags/#description","title":"Description","text":"<p>Sets <code>input_flags</code> settings.</p>"},{"location":"functions/core/flags/setters/why2_set_key_length/","title":"why2_set_key_length function","text":""},{"location":"functions/core/flags/setters/why2_set_key_length/#why2_set_key_length","title":"why2_set_key_length","text":""},{"location":"functions/core/flags/setters/why2_set_key_length/#parameters","title":"Parameters","text":"Identifier Data type <code>keyLengthNew</code> <code>int</code>"},{"location":"functions/core/flags/setters/why2_set_key_length/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment This functions doesn't have any description. Added in commit <code>2156aff370d8a223ff41882467d55ceb41d4f877</code>"},{"location":"functions/core/flags/setters/why2_set_key_length/#description","title":"Description","text":"<p>Sets <code>key_length</code>, which is used in <code>key</code> generation. Also works as minimal length of <code>key</code> passed in <code>why2_encrypt_text</code>.</p>"},{"location":"functions/core/flags/setters/why2_set_memory_identifier/","title":"why2_set_memory_identifier function","text":""},{"location":"functions/core/flags/setters/why2_set_memory_identifier/#why2_set_memory_identifier","title":"why2_set_memory_identifier","text":""},{"location":"functions/core/flags/setters/why2_set_memory_identifier/#parameters","title":"Parameters","text":"Identifier Data type <code>new_memory_identifier</code> <code>char *</code>"},{"location":"functions/core/flags/setters/why2_set_memory_identifier/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment This functions doesn't have any description. Added in commit <code>70335e67ad3e7ef3bc693741a03cb91962b91863</code>"},{"location":"functions/core/flags/setters/why2_set_memory_identifier/#description","title":"Description","text":"<p>Sets string, which is used in garbage collector for identifying (separating) nodes.</p> <p>Every allocation has its own ID, which is set to lastly used <code>memory_identifier</code>. This separates allocations in code to blocks and you can run GC with the <code>memory_identifier</code> to deallocate those blocks.</p>"},{"location":"functions/core/flags/setters/why2_set_padding/","title":"why2_set_padding function","text":""},{"location":"functions/core/flags/setters/why2_set_padding/#why2_set_padding","title":"why2_set_padding","text":""},{"location":"functions/core/flags/setters/why2_set_padding/#parameters","title":"Parameters","text":"Identifier Data type <code>new_memory_identifier</code> <code>unsigned long</code>"},{"location":"functions/core/flags/setters/why2_set_padding/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>SET PADDING RATE WITHOUT REWRITING INPUT FLAGS</code> Added in commit <code>0fe3f47752c574c317da8dbb9db53af9a101212a</code>"},{"location":"functions/core/flags/setters/why2_set_padding/#description","title":"Description","text":"<p>Sets <code>padding</code> without messing with <code>input_flags</code>.</p>"},{"location":"functions/core/llist/why2_list_find/","title":"why2_list_find function","text":""},{"location":"functions/core/llist/why2_list_find/#why2_list_find","title":"why2_list_find","text":""},{"location":"functions/core/llist/why2_list_find/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code> <code>value</code> <code>void *</code>"},{"location":"functions/core/llist/why2_list_find/#attributes","title":"Attributes","text":"Return type <code>why2_node_t *</code> Header comment <code>FIND ELEMENT IN LIST</code> Added in commit <code>10632e00703f0935d963c1e2133940c061eb8ed3</code>"},{"location":"functions/core/llist/why2_list_find/#description","title":"Description","text":"<p>Finds node in linked-list (<code>list</code>) containing <code>value</code> and returns pointer to it. If no match is found, <code>NULL</code> is returned.</p>"},{"location":"functions/core/llist/why2_list_get_size/","title":"why2_list_get_size function","text":""},{"location":"functions/core/llist/why2_list_get_size/#why2_list_get_size","title":"why2_list_get_size","text":""},{"location":"functions/core/llist/why2_list_get_size/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code>"},{"location":"functions/core/llist/why2_list_get_size/#attributes","title":"Attributes","text":"Return type <code>unsigned long</code> Header comment <code>GET SIZE</code> Added in commit <code>c4ddb6888afd807abc3c60576475c170e306a5ba</code>"},{"location":"functions/core/llist/why2_list_get_size/#description","title":"Description","text":"<p>Calculates size of linked-list (<code>list</code>) (how many nodes are present) and returns it.</p>"},{"location":"functions/core/llist/why2_list_push/","title":"why2_list_push function","text":""},{"location":"functions/core/llist/why2_list_push/#why2_list_push","title":"why2_list_push","text":""},{"location":"functions/core/llist/why2_list_push/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code> <code>value</code> <code>void *</code> <code>size</code> <code>unsigned long</code>"},{"location":"functions/core/llist/why2_list_push/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>PUSH ELEMENT TO LIST BACK</code> Added in commit <code>10632e00703f0935d963c1e2133940c061eb8ed3</code>"},{"location":"functions/core/llist/why2_list_push/#description","title":"Description","text":"<p>Function appends new node containing <code>value</code> of <code>size</code> to the back of linked-list (<code>list</code>).</p>"},{"location":"functions/core/llist/why2_list_push_at/","title":"why2_list_push_at function","text":""},{"location":"functions/core/llist/why2_list_push_at/#why2_list_push_at","title":"why2_list_push_at","text":""},{"location":"functions/core/llist/why2_list_push_at/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code> <code>index</code> <code>unsigned long</code> <code>value</code> <code>void *</code> <code>size</code> <code>unsigned long</code>"},{"location":"functions/core/llist/why2_list_push_at/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>PUSH ELEMENT TO INDEX index of LIST</code> Added in commit <code>0e246be627c33f33d82a0fb2e5b43dd3fa024e0c</code>"},{"location":"functions/core/llist/why2_list_push_at/#description","title":"Description","text":"<p>Function appends new node containing <code>value</code> of <code>size</code> to the <code>index</code> position of linked-list (<code>list</code>).</p> <p><code>index</code> starts with 0.</p>"},{"location":"functions/core/llist/why2_list_remove/","title":"why2_list_remove function","text":""},{"location":"functions/core/llist/why2_list_remove/#why2_list_remove","title":"why2_list_remove","text":""},{"location":"functions/core/llist/why2_list_remove/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code> <code>node</code> <code>why2_node_t *</code>"},{"location":"functions/core/llist/why2_list_remove/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>REMOVE ELEMENT</code> Added in commit <code>10632e00703f0935d963c1e2133940c061eb8ed3</code>"},{"location":"functions/core/llist/why2_list_remove/#description","title":"Description","text":"<p>Removes <code>node</code> from linked-list (<code>list</code>).</p>"},{"location":"functions/core/llist/why2_list_remove_at/","title":"why2_list_remove_at function","text":""},{"location":"functions/core/llist/why2_list_remove_at/#why2_list_remove_at","title":"why2_list_remove_at","text":""},{"location":"functions/core/llist/why2_list_remove_at/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code> <code>index</code> <code>unsigned long</code>"},{"location":"functions/core/llist/why2_list_remove_at/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>REMOVE ELEMENT WITH INDEX index</code> Added in commit <code>90643d82470dba0c5aaf884a231a55894b8dd39f</code>"},{"location":"functions/core/llist/why2_list_remove_at/#description","title":"Description","text":"<p>Removes node on <code>index</code> from linked-list (<code>list</code>).</p>"},{"location":"functions/core/llist/why2_list_remove_back/","title":"why2_list_remove_back function","text":""},{"location":"functions/core/llist/why2_list_remove_back/#why2_list_remove_back","title":"why2_list_remove_back","text":""},{"location":"functions/core/llist/why2_list_remove_back/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code>"},{"location":"functions/core/llist/why2_list_remove_back/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>REMOVE LAST ELEMENT</code> Added in commit <code>acee29c374353447c8e3bcce7c26000a991e2f6f</code>"},{"location":"functions/core/llist/why2_list_remove_back/#description","title":"Description","text":"<p>Removes last node from linked-list (<code>list</code>).</p>"},{"location":"functions/core/llist/why2_list_reverse/","title":"why2_list_reverse function","text":""},{"location":"functions/core/llist/why2_list_reverse/#why2_list_reverse","title":"why2_list_reverse","text":""},{"location":"functions/core/llist/why2_list_reverse/#parameters","title":"Parameters","text":"Identifier Data type <code>list</code> <code>why2_list_t *</code> <code>size</code> <code>unsigned long</code>"},{"location":"functions/core/llist/why2_list_reverse/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>REVERSES list</code> Added in commit <code>7dcbd4fc80fa13e5f9d0d4fe90a742c0f8dfab3d</code>"},{"location":"functions/core/llist/why2_list_reverse/#description","title":"Description","text":"<p>Reverses node order in linked-list (<code>list</code>). <code>size</code> is size of nodes in <code>list</code>, because of the reallocations.</p>"},{"location":"functions/core/memory/why2_allocated/","title":"why2_allocated function","text":""},{"location":"functions/core/memory/why2_allocated/#why2_allocated","title":"why2_allocated","text":""},{"location":"functions/core/memory/why2_allocated/#parameters","title":"Parameters","text":"Identifier Data type <code>pointer</code> <code>void *</code>"},{"location":"functions/core/memory/why2_allocated/#attributes","title":"Attributes","text":"Return type <code>why2_bool</code> Header comment <code>CHECKS IF pointer WAS ALLOCATED USING WHY2-MEM</code> Added in commit <code>65135ac96161eaa236b37ca2f3ace64345bbba66</code>"},{"location":"functions/core/memory/why2_allocated/#description","title":"Description","text":"<p>Function searches <code>linked-list</code> for <code>pointer</code>. If found, <code>false</code> is returned, otherwise <code>true</code> is returned.</p>"},{"location":"functions/core/memory/why2_calloc/","title":"why2_calloc function","text":""},{"location":"functions/core/memory/why2_calloc/#why2_calloc","title":"why2_calloc","text":""},{"location":"functions/core/memory/why2_calloc/#parameters","title":"Parameters","text":"Identifier Data type <code>element</code> <code>unsigned long</code> <code>size</code> <code>unsigned long</code>"},{"location":"functions/core/memory/why2_calloc/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment This functions doesn't have any description. Added in commit <code>3491d89a86eba805c3f42543a431cae33bae146b</code>"},{"location":"functions/core/memory/why2_calloc/#description","title":"Description","text":"<p>Function passes <code>element</code> and <code>size</code> into <code>calloc</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_clean_memory/","title":"why2_clean_memory function","text":""},{"location":"functions/core/memory/why2_clean_memory/#why2_clean_memory","title":"why2_clean_memory","text":""},{"location":"functions/core/memory/why2_clean_memory/#parameters","title":"Parameters","text":"Identifier Data type <code>identifier</code> <code>char *</code>"},{"location":"functions/core/memory/why2_clean_memory/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment <code>identifier SPECIFIES WHICH NODES TO DEALLOCATE | THIS IS BASICALLY GARBAGE COLLECTOR | PASS why2_get_default_memory_identifier() FOR DEALLOCATING EVERYTHING</code> Added in commit <code>abbd82077821c3b06720212ca89f5d9438500a48</code>"},{"location":"functions/core/memory/why2_clean_memory/#description","title":"Description","text":"<p>This is basically a garbage collector.</p> <p>Function deallocates all memory allocated with WHY2-memory, with ID <code>identifier</code>. You can pass <code>why2_get_default_memory_identifier()</code> as <code>identifier</code> to deallocate all memory.</p>"},{"location":"functions/core/memory/why2_deallocate/","title":"why2_deallocate function","text":""},{"location":"functions/core/memory/why2_deallocate/#why2_deallocate","title":"why2_deallocate","text":""},{"location":"functions/core/memory/why2_deallocate/#parameters","title":"Parameters","text":"Identifier Data type <code>pointer</code> <code>void *</code>"},{"location":"functions/core/memory/why2_deallocate/#attributes","title":"Attributes","text":"Return type <code>void</code> Header comment This functions doesn't have any description. Added in commit <code>3491d89a86eba805c3f42543a431cae33bae146b</code>"},{"location":"functions/core/memory/why2_deallocate/#description","title":"Description","text":"<p>Function passes <code>pointer</code> into corresponding deallocation function (<code>free</code>, <code>fclose</code> or <code>closedir</code>). The value is also removed from <code>linked-list</code>.</p>"},{"location":"functions/core/memory/why2_fdopen/","title":"why2_fdopen function","text":""},{"location":"functions/core/memory/why2_fdopen/#why2_fdopen","title":"why2_fdopen","text":""},{"location":"functions/core/memory/why2_fdopen/#parameters","title":"Parameters","text":"Identifier Data type <code>file</code> <code>int</code> <code>modes</code> <code>char *</code>"},{"location":"functions/core/memory/why2_fdopen/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment This functions doesn't have any description. Added in commit <code>1285f52b6737093f802163b3dc313253ea96f5bc</code>"},{"location":"functions/core/memory/why2_fdopen/#description","title":"Description","text":"<p>Function passes <code>file</code> and <code>modes</code> into <code>fdopen</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_fopen/","title":"why2_fopen function","text":""},{"location":"functions/core/memory/why2_fopen/#why2_fopen","title":"why2_fopen","text":""},{"location":"functions/core/memory/why2_fopen/#parameters","title":"Parameters","text":"Identifier Data type <code>name</code> <code>char *</code> <code>modes</code> <code>char *</code>"},{"location":"functions/core/memory/why2_fopen/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment This functions doesn't have any description. Added in commit <code>1285f52b6737093f802163b3dc313253ea96f5bc</code>"},{"location":"functions/core/memory/why2_fopen/#description","title":"Description","text":"<p>Function passes <code>name</code> and <code>modes</code> into <code>fopen</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_malloc/","title":"why2_malloc function","text":""},{"location":"functions/core/memory/why2_malloc/#why2_malloc","title":"why2_malloc","text":""},{"location":"functions/core/memory/why2_malloc/#parameters","title":"Parameters","text":"Identifier Data type <code>size</code> <code>unsigned long</code>"},{"location":"functions/core/memory/why2_malloc/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment This functions doesn't have any description. Added in commit <code>9c7f40a82528846b6585294b12c5a30e5f1e4533</code>"},{"location":"functions/core/memory/why2_malloc/#description","title":"Description","text":"<p>Function passes <code>size</code> into <code>malloc</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_opendir/","title":"why2_opendir function","text":""},{"location":"functions/core/memory/why2_opendir/#why2_opendir","title":"why2_opendir","text":""},{"location":"functions/core/memory/why2_opendir/#parameters","title":"Parameters","text":"Identifier Data type <code>name</code> <code>char *</code>"},{"location":"functions/core/memory/why2_opendir/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment This functions doesn't have any description. Added in commit <code>1285f52b6737093f802163b3dc313253ea96f5bc</code>"},{"location":"functions/core/memory/why2_opendir/#description","title":"Description","text":"<p>Function passes <code>name</code> into <code>opendir</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_realloc/","title":"why2_realloc function","text":""},{"location":"functions/core/memory/why2_realloc/#why2_realloc","title":"why2_realloc","text":""},{"location":"functions/core/memory/why2_realloc/#parameters","title":"Parameters","text":"Identifier Data type <code>pointer</code> <code>void *</code> <code>size</code> <code>unsigned long</code>"},{"location":"functions/core/memory/why2_realloc/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment <code>THIS DOESN'T PRESERVE CONTENT OF pointer!</code> Added in commit <code>8af6bd45c38e780bb14d99aee0a572b028c186b6</code>"},{"location":"functions/core/memory/why2_realloc/#description","title":"Description","text":"<p>Function deallocates <code>pointer</code> (only applicable if <code>pointer</code> was allocated using WHY2-memory), passes <code>size</code> into <code>malloc</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_recalloc/","title":"why2_recalloc function","text":""},{"location":"functions/core/memory/why2_recalloc/#why2_recalloc","title":"why2_recalloc","text":""},{"location":"functions/core/memory/why2_recalloc/#parameters","title":"Parameters","text":"Identifier Data type <code>pointer</code> <code>void *</code> <code>size</code> <code>unsigned long</code> <code>block_size</code> <code>unsigned long</code>"},{"location":"functions/core/memory/why2_recalloc/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment <code>SAME AS why2_realloc BUT FILLS THE pointer WITH NULL-TERMS</code> Added in commit <code>c5394e63e50e7c2e018a4323d33821c4f4e14884</code>"},{"location":"functions/core/memory/why2_recalloc/#description","title":"Description","text":"<p>Function deallocates <code>pointer</code> (only applicable if <code>pointer</code> was allocated using WHY2-memory), passes <code>size</code> and <code>block_size</code> into <code>calloc</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"},{"location":"functions/core/memory/why2_strdup/","title":"why2_strdup function","text":""},{"location":"functions/core/memory/why2_strdup/#why2_strdup","title":"why2_strdup","text":""},{"location":"functions/core/memory/why2_strdup/#parameters","title":"Parameters","text":"Identifier Data type <code>string</code> <code>char *</code>"},{"location":"functions/core/memory/why2_strdup/#attributes","title":"Attributes","text":"Return type <code>void *</code> Header comment This functions doesn't have any description. Added in commit <code>d5ae68c621b61823dc18cf7fe2d93dfb036cbbc1</code>"},{"location":"functions/core/memory/why2_strdup/#description","title":"Description","text":"<p>Function passes <code>string</code> into <code>strdup</code> function and returns the output value. The value is also pushed to <code>linked-list</code> for garbage collector.</p>"}]} |