Files
RN-Praxis3/praxis3/key_value_pair.h
T
2025-01-29 20:17:35 +01:00

29 lines
849 B
C

#ifndef KEY_VALUE_PAIR_H
#define KEY_VALUE_PAIR_H
#include <stdbool.h>
#include <stddef.h>
// Structures
typedef struct key_value_pair{
char *key;
char *value;
struct key_value_pair *next;
char *(*toString)(struct key_value_pair *);
} key_value_pair;
// Functions
char *key_value_pair_list_to_string(key_value_pair **head);
key_value_pair *init_key_value_pair(const char *key, const char *value);
void free_key_value_pair(key_value_pair **kv);
void free_key_value_pairs(key_value_pair **head, key_value_pair **tail);
int add_key_value_pair(key_value_pair *kv, key_value_pair **head, key_value_pair **tail);
void remove_key_value_pair(key_value_pair *kv, key_value_pair **head, key_value_pair **tail);
void extract_key_value_pairs(char *red_str, key_value_pair **head, key_value_pair **tail, bool doReduce);
#endif //KEY_VALUE_PAIR_H