blob: fb50efe6ae708dedb3fcb37ecb89b7b689bc75f1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/*-------------------------------------------------------------------------
*
* ifaddr.h
* IP netmask calculations, and enumerating network interfaces.
*
* Copyright (c) 2003-2023, PostgreSQL Global Development Group
*
* src/include/libpq/ifaddr.h
*
*-------------------------------------------------------------------------
*/
#ifndef IFADDR_H
#define IFADDR_H
#include "libpq/pqcomm.h" /* pgrminclude ignore */
typedef void (*PgIfAddrCallback) (struct sockaddr *addr,
struct sockaddr *netmask,
void *cb_data);
extern int pg_range_sockaddr(const struct sockaddr_storage *addr,
const struct sockaddr_storage *netaddr,
const struct sockaddr_storage *netmask);
extern int pg_sockaddr_cidr_mask(struct sockaddr_storage *mask,
char *numbits, int family);
extern int pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data);
#endif /* IFADDR_H */
|