mirror of https://github.com/yandex/odyssey.git
37 lines
884 B
C
37 lines
884 B
C
![]() |
#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();
|
||
|
|
||
|
int od_address_range_copy(od_address_range_t *, od_address_range_t *);
|
||
|
|
||
|
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 */
|