27 unsigned char ipaddr[16];
39 #define PGSQL_AF_INET (AF_INET + 0)
40 #define PGSQL_AF_INET6 (AF_INET + 1)
71 #define ip_family(inetptr) \
72 (((inet_struct *) VARDATA_ANY(inetptr))->family)
74 #define ip_bits(inetptr) \
75 (((inet_struct *) VARDATA_ANY(inetptr))->bits)
77 #define ip_addr(inetptr) \
78 (((inet_struct *) VARDATA_ANY(inetptr))->ipaddr)
80 #define ip_addrsize(inetptr) \
81 (ip_family(inetptr) == PGSQL_AF_INET ? 4 : 16)
83 #define ip_maxbits(inetptr) \
84 (ip_family(inetptr) == PGSQL_AF_INET ? 32 : 128)
86 #define SET_INET_VARSIZE(dst) \
87 SET_VARSIZE(dst, VARHDRSZ + offsetof(inet_struct, ipaddr) + \
122 #define DatumGetInetPP(X) ((inet *) PG_DETOAST_DATUM_PACKED(X))
123 #define InetPGetDatum(X) PointerGetDatum(X)
124 #define PG_GETARG_INET_PP(n) DatumGetInetPP(PG_GETARG_DATUM(n))
125 #define PG_RETURN_INET_P(x) return InetPGetDatum(x)
127 #define DatumGetInetP(X) ((inet *) PG_DETOAST_DATUM(X))
128 #define PG_GETARG_INET_P(n) DatumGetInetP(PG_GETARG_DATUM(n))
131 #define DatumGetMacaddrP(X) ((macaddr *) DatumGetPointer(X))
132 #define MacaddrPGetDatum(X) PointerGetDatum(X)
133 #define PG_GETARG_MACADDR_P(n) DatumGetMacaddrP(PG_GETARG_DATUM(n))
134 #define PG_RETURN_MACADDR_P(x) return MacaddrPGetDatum(x)
137 #define DatumGetMacaddr8P(X) ((macaddr8 *) DatumGetPointer(X))
138 #define Macaddr8PGetDatum(X) PointerGetDatum(X)
139 #define PG_GETARG_MACADDR8_P(n) DatumGetMacaddr8P(PG_GETARG_DATUM(n))
140 #define PG_RETURN_MACADDR8_P(x) return Macaddr8PGetDatum(x)
146 extern int bitncmp(
const unsigned char *l,
const unsigned char *r,
int n);
147 extern int bitncommon(
const unsigned char *l,
const unsigned char *r,
int n);
int bitncommon(const unsigned char *l, const unsigned char *r, int n)
int bitncmp(const unsigned char *l, const unsigned char *r, int n)
inet * cidr_set_masklen_internal(const inet *src, int bits)