{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#homepage","title":"Homepage","text":"

Hey!

"},{"location":"functions/","title":"Functions","text":""},{"location":"functions/#functions","title":"Functions","text":"

You can find documentation for every public function of WHY2 below.

"},{"location":"functions/#core","title":"Core","text":""},{"location":"functions/#crypto","title":"Crypto","text":"Function Description why2_sum_segment Calculate SUM++ for input; Used for padding seed why2_random Write crypto-secure random number into dest why2_seed_random Seed why2_seeded_random output why2_seeded_random Generate random number based on seed passed in why2_seed_random"},{"location":"functions/#decrypter","title":"Decrypter","text":"Function Description why2_decrypt_text Text from will be decrypted with key and returned"},{"location":"functions/#encrypter","title":"Encrypter","text":"Function Description why2_encrypt_text Text from will be encrypted with key and returned"},{"location":"functions/#flags","title":"Flags","text":""},{"location":"functions/#getters","title":"Getters","text":"Function Description why2_get_encryption_separator This functions doesn't have any description. why2_get_key_length This functions doesn't have any description. why2_get_default_flags This generates why2_input_flags with default values why2_get_flags Returns used flags why2_no_output Same as why2_get_default_flags() but for why2_output_flags why2_get_encryption_operation Returns functions which is used for encryption & decryption why2_get_flags_changed This functions doesn't have any description. why2_get_padding_changed This functions doesn't have any description. 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 This functions doesn't have any description."},{"location":"functions/#setters","title":"Setters","text":"Function Description why2_set_encryption_separator This functions doesn't have any description. why2_set_key_length This functions doesn't have any description. why2_set_flags This functions doesn't have any description. why2_set_encryption_operation This functions doesn't have any description. why2_set_memory_identifier This functions doesn't have any description. why2_set_padding Set padding rate without rewriting input flags why2_reset_memory_identifier This functions doesn't have any description."},{"location":"functions/#linked-list","title":"Linked-list","text":"Function Description why2_list_push Push element to list back why2_list_push_at Push element to index index of list why2_list_remove Remove element why2_list_remove_at Remove element with index index why2_list_remove_back Remove last element why2_list_find Find element in list why2_list_get_size Get size why2_list_reverse Reverses list"},{"location":"functions/#memory","title":"Memory","text":"Function Description why2_malloc This functions doesn't have any description. why2_calloc This functions doesn't have any description. why2_realloc This doesn't preserve content of pointer! why2_recalloc Same as why2_realloc but fills the pointer with null-terms why2_strdup This functions doesn't have any description. why2_fopen This functions doesn't have any description. why2_fdopen This functions doesn't have any description. why2_opendir This functions doesn't have any description. why2_deallocate This functions doesn't have any description. why2_clean_memory identifier specifies which nodes to deallocate | this is basically garbage collector | pass why2_get_default_memory_identifier() for deallocating everything why2_allocated 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 dest void * size size_t"},{"location":"functions/core/crypto/why2_random/#attributes","title":"Attributes","text":"Return type why2_bool Header comment WRITE CRYPTO-SECURE RANDOM NUMBER INTO dest Added in commit f95608f52a0a82b3a8c005c7f8dad0b9cf93202a"},{"location":"functions/core/crypto/why2_random/#description","title":"Description","text":"

Function passes dest and size into RAND_bytes function and gets the output value. If output value is equal to 1, returns true, otherwise false.

dest is where the output value should be stored, size sets the allowed size to write. Should be sizeof(dest_datatype).

"},{"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 seed unsigned long"},{"location":"functions/core/crypto/why2_seed_random/#attributes","title":"Attributes","text":"Return type void Header comment SEED why2_seeded_random OUTPUT Added in commit 25113dc0b3c97178c85ac02c082164a6d36d3c1e"},{"location":"functions/core/crypto/why2_seed_random/#description","title":"Description","text":"

Function inits pseudo random number generator struct with seed. Seeded numbers can be used with why2_seeded_random. Also, there is no need to deallocate the PRNG.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/crypto/why2_seeded_random/#attributes","title":"Attributes","text":"Return type int Header comment GENERATE RANDOM NUMBER BASED ON SEED PASSED IN why2_seed_random Added in commit 25113dc0b3c97178c85ac02c082164a6d36d3c1e"},{"location":"functions/core/crypto/why2_seeded_random/#description","title":"Description","text":"

Function generates pseudo random int with PRNG created in why2_seed_random. The function uses OpenSSL's HMAC.

"},{"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 input char *"},{"location":"functions/core/crypto/why2_sum_segment/#attributes","title":"Attributes","text":"Return type unsigned long long Header comment CALCULATE SUM++ FOR input; USED FOR PADDING SEED Added in commit fb2ac1a7bbcb6f7291f4e89576e1b7f5c1d6fd06"},{"location":"functions/core/crypto/why2_sum_segment/#description","title":"Description","text":"

Function takes input parameter and divides it into segments of WHY2_SUM_SEGMENT_SIZE. Each segment does some xoring, math using WHY2_SUM_BASE_PRIME and modulates each segment with WHY2_SUM_MOD_PRIME. The result is then added together and returned.

Output value grows rapidly with increasing input 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 ULL range.

This function isn't designed to be completely cryptographically secure! It is meant only for converting string of key into ULL with as few collisions as possible.

"},{"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 text char * key char *"},{"location":"functions/core/decrypter/why2_decrypt_text/#attributes","title":"Attributes","text":"Return type why2_output_flags Header comment TEXT from WILL BE DECRYPTED WITH KEY AND RETURNED Added in commit d9a99b985105b99b3ef237597f8ea91a751b89f1"},{"location":"functions/core/decrypter/why2_decrypt_text/#description","title":"Description","text":"

Function removes padding (if present) from text using key, decrypts and returns output in why2_output_flags among with some run data.

Encryption/Decryption functions are using settings from why2_input_flags. You can set those using why2_set_flags.

"},{"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 text char * key char *"},{"location":"functions/core/encrypter/why2_encrypt_text/#attributes","title":"Attributes","text":"Return type why2_output_flags Header comment TEXT from WILL BE ENCRYPTED WITH key AND RETURNED Added in commit d9a99b985105b99b3ef237597f8ea91a751b89f1"},{"location":"functions/core/encrypter/why2_encrypt_text/#description","title":"Description","text":"

Function adds padding (if enabled) to text using key, encrypts and returns output in why2_output_flags among with some run data.

Encryption/Decryption functions are using settings from why2_input_flags. You can set those using why2_set_flags.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_default_flags/#attributes","title":"Attributes","text":"Return type why2_input_flags Header comment THIS GENERATES why2_input_flags WITH DEFAULT VALUES Added in commit 71865826fa159e4480ecd676ff224822ea640506"},{"location":"functions/core/flags/getters/why2_get_default_flags/#description","title":"Description","text":"

Returns default input_flags settings.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/#attributes","title":"Attributes","text":"Return type char * Header comment This functions doesn't have any description. Added in commit aa6b484363ad609f1bf1ff5ee539723d9417f48a"},{"location":"functions/core/flags/getters/why2_get_default_memory_identifier/#description","title":"Description","text":"

Returns string, which is by default 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.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_encryption_operation/#attributes","title":"Attributes","text":"Return type why2_encryption_operation_cb Header comment RETURNS FUNCTION WHICH IS USED FOR ENCRYPTION & DECRYPTION Added in commit 2a09a38acf48f0e57beb5135ab7f1fdb18e088fa"},{"location":"functions/core/flags/getters/why2_get_encryption_operation/#description","title":"Description","text":"

Returns callback to encryption_operation, which is used during encryption/decryption for final string manipulation.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_encryption_separator/#attributes","title":"Attributes","text":"Return type char Header comment This functions doesn't have any description. Added in commit 1a5b58edf99547ba32fb047e80fb179f315182b9"},{"location":"functions/core/flags/getters/why2_get_encryption_separator/#description","title":"Description","text":"

Returns encryption_separator, which is used in encryption/decryption for separating chars.

104'-100'10306'-110'87\n

Example above uses ' as encryption_separator.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_flags/#attributes","title":"Attributes","text":"Return type why2_input_flags Header comment RETURNS USED FLAGS Added in commit 692e76db175c2da444a5d92163305d26de73501a"},{"location":"functions/core/flags/getters/why2_get_flags/#description","title":"Description","text":"

Returns used input_flags settings.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_flags_changed/#attributes","title":"Attributes","text":"Return type why2_bool Header comment This functions doesn't have any description. Added in commit 083233c0f64302621c915125fffec0d5e9b23a2c"},{"location":"functions/core/flags/getters/why2_get_flags_changed/#description","title":"Description","text":"

Function returns boolean \u2192 whether why2_set_flags was used or not.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_key_length/#attributes","title":"Attributes","text":"Return type unsigned long Header comment This functions doesn't have any description. Added in commit e85a14b2530d6c8a39be946f691a0f9047d38f73"},{"location":"functions/core/flags/getters/why2_get_key_length/#description","title":"Description","text":"

Returns key_length, which is used in key generation. Also works as minimal length of key passed in why2_encrypt_text.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_memory_identifier/#attributes","title":"Attributes","text":"Return type char * Header comment RETURNS STRING USED IN LINKED LIST (IN memory.c) FOR IDENTIFYING NODES WHEN RUNNING GARBAGE COLLECTOR Added in commit 70335e67ad3e7ef3bc693741a03cb91962b91863"},{"location":"functions/core/flags/getters/why2_get_memory_identifier/#description","title":"Description","text":"

Returns 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.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/getters/why2_get_padding_changed/#attributes","title":"Attributes","text":"Return type why2_bool Header comment This functions doesn't have any description. Added in commit 59d6252fe37f036995cb23f3b9898ee1c4b4428d"},{"location":"functions/core/flags/getters/why2_get_padding_changed/#description","title":"Description","text":"

Function returns boolean \u2192 whether why2_set_padding was used or not.

"},{"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 exit_code enum WHY2_EXIT_CODES"},{"location":"functions/core/flags/getters/why2_no_output/#attributes","title":"Attributes","text":"Return type why2_output_flags Header comment SAME AS why2_get_default_flags() BUT FOR why2_output_flags Added in commit c5de589fff870bbd8cf428465ea4e73caa3e8b38"},{"location":"functions/core/flags/getters/why2_no_output/#description","title":"Description","text":"

Returns empty output_flags with exit_code.

"},{"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":"

This functions doesn't take any parameters.

"},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/#attributes","title":"Attributes","text":"Return type void Header comment This functions doesn't have any description. Added in commit 70335e67ad3e7ef3bc693741a03cb91962b91863"},{"location":"functions/core/flags/setters/why2_reset_memory_identifier/#description","title":"Description","text":"

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.

"},{"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 newEncryptionOperation why2_encryption_operation_cb"},{"location":"functions/core/flags/setters/why2_set_encryption_operation/#attributes","title":"Attributes","text":"Return type void Header comment This functions doesn't take any parameters. Added in commit e6648787e8350cf3e20ead524c6a630ef412f581"},{"location":"functions/core/flags/setters/why2_set_encryption_operation/#description","title":"Description","text":"

Sets callback to encryption_operation, which is used during encryption/decryption for final string manipulation.

"},{"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 encryption_separator_new char"},{"location":"functions/core/flags/setters/why2_set_encryption_separator/#attributes","title":"Attributes","text":"Return type void Header comment This functions doesn't have any description. Added in commit 1a5b58edf99547ba32fb047e80fb179f315182b9"},{"location":"functions/core/flags/setters/why2_set_encryption_separator/#description","title":"Description","text":"

Sets encryption_separator, which is used in encryption/decryption for separating chars.

104'-100'10306'-110'87\n

Example above uses ' as encryption_separator.

"},{"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 new_flags why2_input_flags"},{"location":"functions/core/flags/setters/why2_set_flags/#attributes","title":"Attributes","text":"Return type void Header comment RETURNS USED FLAGS Added in commit 692e76db175c2da444a5d92163305d26de73501a"},{"location":"functions/core/flags/setters/why2_set_flags/#description","title":"Description","text":"

Sets input_flags settings.

"},{"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 keyLengthNew int"},{"location":"functions/core/flags/setters/why2_set_key_length/#attributes","title":"Attributes","text":"Return type void Header comment This functions doesn't have any description. Added in commit 2156aff370d8a223ff41882467d55ceb41d4f877"},{"location":"functions/core/flags/setters/why2_set_key_length/#description","title":"Description","text":"

Sets key_length, which is used in key generation. Also works as minimal length of key passed in why2_encrypt_text.

"},{"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 new_memory_identifier char *"},{"location":"functions/core/flags/setters/why2_set_memory_identifier/#attributes","title":"Attributes","text":"Return type void Header comment This functions doesn't have any description. Added in commit 70335e67ad3e7ef3bc693741a03cb91962b91863"},{"location":"functions/core/flags/setters/why2_set_memory_identifier/#description","title":"Description","text":"

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.

"},{"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 new_memory_identifier unsigned long"},{"location":"functions/core/flags/setters/why2_set_padding/#attributes","title":"Attributes","text":"Return type void Header comment SET PADDING RATE WITHOUT REWRITING INPUT FLAGS Added in commit 0fe3f47752c574c317da8dbb9db53af9a101212a"},{"location":"functions/core/flags/setters/why2_set_padding/#description","title":"Description","text":"

Sets padding without messing with input_flags.

"},{"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 list why2_list_t * value void *"},{"location":"functions/core/llist/why2_list_find/#attributes","title":"Attributes","text":"Return type why2_node_t * Header comment FIND ELEMENT IN LIST Added in commit 10632e00703f0935d963c1e2133940c061eb8ed3"},{"location":"functions/core/llist/why2_list_find/#description","title":"Description","text":"

Finds node in linked-list (list) containing value and returns pointer to it. If no match is found, NULL is returned.

"},{"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 list why2_list_t *"},{"location":"functions/core/llist/why2_list_get_size/#attributes","title":"Attributes","text":"Return type unsigned long Header comment GET SIZE Added in commit c4ddb6888afd807abc3c60576475c170e306a5ba"},{"location":"functions/core/llist/why2_list_get_size/#description","title":"Description","text":"

Calculates size of linked-list (list) (how many nodes are present) and returns it.

"},{"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 list why2_list_t * value void * size unsigned long"},{"location":"functions/core/llist/why2_list_push/#attributes","title":"Attributes","text":"Return type void Header comment PUSH ELEMENT TO LIST BACK Added in commit 10632e00703f0935d963c1e2133940c061eb8ed3"},{"location":"functions/core/llist/why2_list_push/#description","title":"Description","text":"

Function appends new node containing value of size to the back of linked-list (list).

"},{"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 list why2_list_t * index unsigned long value void * size unsigned long"},{"location":"functions/core/llist/why2_list_push_at/#attributes","title":"Attributes","text":"Return type void Header comment PUSH ELEMENT TO INDEX index of LIST Added in commit 0e246be627c33f33d82a0fb2e5b43dd3fa024e0c"},{"location":"functions/core/llist/why2_list_push_at/#description","title":"Description","text":"

Function appends new node containing value of size to the index position of linked-list (list).

index starts with 0.

"},{"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 list why2_list_t * node why2_node_t *"},{"location":"functions/core/llist/why2_list_remove/#attributes","title":"Attributes","text":"Return type void Header comment REMOVE ELEMENT Added in commit 10632e00703f0935d963c1e2133940c061eb8ed3"},{"location":"functions/core/llist/why2_list_remove/#description","title":"Description","text":"

Removes node from linked-list (list).

"},{"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 list why2_list_t * index unsigned long"},{"location":"functions/core/llist/why2_list_remove_at/#attributes","title":"Attributes","text":"Return type void Header comment REMOVE ELEMENT WITH INDEX index Added in commit 90643d82470dba0c5aaf884a231a55894b8dd39f"},{"location":"functions/core/llist/why2_list_remove_at/#description","title":"Description","text":"

Removes node on index from linked-list (list).

"},{"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 list why2_list_t *"},{"location":"functions/core/llist/why2_list_remove_back/#attributes","title":"Attributes","text":"Return type void Header comment REMOVE LAST ELEMENT Added in commit acee29c374353447c8e3bcce7c26000a991e2f6f"},{"location":"functions/core/llist/why2_list_remove_back/#description","title":"Description","text":"

Removes last node from linked-list (list).

"},{"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 list why2_list_t * size unsigned long"},{"location":"functions/core/llist/why2_list_reverse/#attributes","title":"Attributes","text":"Return type void Header comment REVERSES list Added in commit 7dcbd4fc80fa13e5f9d0d4fe90a742c0f8dfab3d"},{"location":"functions/core/llist/why2_list_reverse/#description","title":"Description","text":"

Reverses node order in linked-list (list). size is size of nodes in list, because of the reallocations.

"},{"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 pointer void *"},{"location":"functions/core/memory/why2_allocated/#attributes","title":"Attributes","text":"Return type why2_bool Header comment CHECKS IF pointer WAS ALLOCATED USING WHY2-MEM Added in commit 65135ac96161eaa236b37ca2f3ace64345bbba66"},{"location":"functions/core/memory/why2_allocated/#description","title":"Description","text":"

Function searches linked-list for pointer. If found, false is returned, otherwise true is returned.

"},{"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 element unsigned long size unsigned long"},{"location":"functions/core/memory/why2_calloc/#attributes","title":"Attributes","text":"Return type void * Header comment This functions doesn't have any description. Added in commit 3491d89a86eba805c3f42543a431cae33bae146b"},{"location":"functions/core/memory/why2_calloc/#description","title":"Description","text":"

Function passes element and size into calloc function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 identifier char *"},{"location":"functions/core/memory/why2_clean_memory/#attributes","title":"Attributes","text":"Return type void Header comment identifier SPECIFIES WHICH NODES TO DEALLOCATE | THIS IS BASICALLY GARBAGE COLLECTOR | PASS why2_get_default_memory_identifier() FOR DEALLOCATING EVERYTHING Added in commit abbd82077821c3b06720212ca89f5d9438500a48"},{"location":"functions/core/memory/why2_clean_memory/#description","title":"Description","text":"

This is basically a garbage collector.

Function deallocates all memory allocated with WHY2-memory, with ID identifier. You can pass why2_get_default_memory_identifier() as identifier to deallocate all memory.

"},{"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 pointer void *"},{"location":"functions/core/memory/why2_deallocate/#attributes","title":"Attributes","text":"Return type void Header comment This functions doesn't have any description. Added in commit 3491d89a86eba805c3f42543a431cae33bae146b"},{"location":"functions/core/memory/why2_deallocate/#description","title":"Description","text":"

Function passes pointer into corresponding deallocation function (free, fclose or closedir). The value is also removed from linked-list.

"},{"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 file int modes char *"},{"location":"functions/core/memory/why2_fdopen/#attributes","title":"Attributes","text":"Return type void * Header comment This functions doesn't have any description. Added in commit 1285f52b6737093f802163b3dc313253ea96f5bc"},{"location":"functions/core/memory/why2_fdopen/#description","title":"Description","text":"

Function passes file and modes into fdopen function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 name char * modes char *"},{"location":"functions/core/memory/why2_fopen/#attributes","title":"Attributes","text":"Return type void * Header comment This functions doesn't have any description. Added in commit 1285f52b6737093f802163b3dc313253ea96f5bc"},{"location":"functions/core/memory/why2_fopen/#description","title":"Description","text":"

Function passes name and modes into fopen function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 size unsigned long"},{"location":"functions/core/memory/why2_malloc/#attributes","title":"Attributes","text":"Return type void * Header comment This functions doesn't have any description. Added in commit 9c7f40a82528846b6585294b12c5a30e5f1e4533"},{"location":"functions/core/memory/why2_malloc/#description","title":"Description","text":"

Function passes size into malloc function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 name char *"},{"location":"functions/core/memory/why2_opendir/#attributes","title":"Attributes","text":"Return type void * Header comment This functions doesn't have any description. Added in commit 1285f52b6737093f802163b3dc313253ea96f5bc"},{"location":"functions/core/memory/why2_opendir/#description","title":"Description","text":"

Function passes name into opendir function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 pointer void * size unsigned long"},{"location":"functions/core/memory/why2_realloc/#attributes","title":"Attributes","text":"Return type void * Header comment THIS DOESN'T PRESERVE CONTENT OF pointer! Added in commit 8af6bd45c38e780bb14d99aee0a572b028c186b6"},{"location":"functions/core/memory/why2_realloc/#description","title":"Description","text":"

Function deallocates pointer (only applicable if pointer was allocated using WHY2-memory), passes size into malloc function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 pointer void * size unsigned long block_size unsigned long"},{"location":"functions/core/memory/why2_recalloc/#attributes","title":"Attributes","text":"Return type void * Header comment SAME AS why2_realloc BUT FILLS THE pointer WITH NULL-TERMS Added in commit c5394e63e50e7c2e018a4323d33821c4f4e14884"},{"location":"functions/core/memory/why2_recalloc/#description","title":"Description","text":"

Function deallocates pointer (only applicable if pointer was allocated using WHY2-memory), passes size and block_size into calloc function and returns the output value. The value is also pushed to linked-list for garbage collector.

"},{"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 string char *"},{"location":"functions/core/memory/why2_strdup/#attributes","title":"Attributes","text":"Return type void * Header comment This functions doesn't have any description. Added in commit d5ae68c621b61823dc18cf7fe2d93dfb036cbbc1"},{"location":"functions/core/memory/why2_strdup/#description","title":"Description","text":"

Function passes string into strdup function and returns the output value. The value is also pushed to linked-list for garbage collector.

"}]}