odyssey/sources/address.h

37 lines
885 B
C
Raw Normal View History

2024-02-14 11:57:20 +00:00
#ifndef ODYSSEY_ADDRESS_H
#define ODYSSEY_ADDRESS_H
/*
* Odyssey.
*
* Scalable PostgreSQL connection pooler.
*/
typedef struct od_address_range od_address_range_t;
struct od_address_range {
char *string_value;
int string_value_len;
struct sockaddr_storage addr;
struct sockaddr_storage mask;
int is_hostname;
int is_default;
};
od_address_range_t od_address_range_create_default();
2024-02-19 09:47:11 +00:00
void od_address_range_copy(od_address_range_t *, od_address_range_t *);
2024-02-14 11:57:20 +00:00
int od_address_range_read_prefix(od_address_range_t *, char *);
int od_address_read(struct sockaddr_storage *, const char *);
bool od_address_equals(struct sockaddr *, struct sockaddr *);
bool od_address_range_equals(od_address_range_t *, od_address_range_t *);
bool od_address_validate(od_address_range_t *, struct sockaddr_storage *);
int od_address_hostname_validate(char *);
#endif /* ODYSSEY_ADDRESS_H */