diff options
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/adt/Makefile | 4 | ||||
-rw-r--r-- | src/backend/utils/adt/inet.c (renamed from src/backend/utils/adt/ip.c) | 68 | ||||
-rw-r--r-- | src/backend/utils/adt/mac.c | 4 |
3 files changed, 39 insertions, 37 deletions
diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile index 686a2d0e8ca..7ac61fc5d67 100644 --- a/src/backend/utils/adt/Makefile +++ b/src/backend/utils/adt/Makefile @@ -4,7 +4,7 @@ # Makefile for utils/adt # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/backend/utils/adt/Makefile,v 1.18 1998/10/03 05:40:47 momjian Exp $ +# $Header: /cvsroot/pgsql/src/backend/utils/adt/Makefile,v 1.19 1998/10/08 00:19:33 momjian Exp $ # #------------------------------------------------------------------------- @@ -24,7 +24,7 @@ OBJS = acl.o arrayfuncs.o arrayutils.o bool.o cash.o char.o chunk.o \ oid.o oracle_compat.o \ regexp.o regproc.o ruleutils.o selfuncs.o sets.o \ tid.o timestamp.o varchar.o varlena.o version.o \ - ip.o mac.o inet_net_ntop.o inet_net_pton.o + inet.o mac.o inet_net_ntop.o inet_net_pton.o all: SUBSYS.o diff --git a/src/backend/utils/adt/ip.c b/src/backend/utils/adt/inet.c index 9b4ede1c64b..25e04362148 100644 --- a/src/backend/utils/adt/ip.c +++ b/src/backend/utils/adt/inet.c @@ -1,9 +1,9 @@ /* - * PostgreSQL type definitions for IP addresses. This + * PostgreSQL type definitions for the INET type. This * is for IP V4 CIDR notation, but prepared for V6: just * add the necessary bits where the comments indicate. * - * $Id: ip.c,v 1.4 1998/10/04 16:24:30 momjian Exp $ + * $Id: inet.c,v 1.1 1998/10/08 00:19:35 momjian Exp $ */ #include <sys/types.h> @@ -19,38 +19,40 @@ #include <postgres.h> #include <utils/palloc.h> #include <utils/builtins.h> -#include <utils/mac.h> +#include <utils/network.h> + +static int v4bitncmp(unsigned int a1, unsigned int a2, int bits); /* * Access macros. Add IPV6 support. */ -#define ip_addrsize(ipaddrptr) \ - (((ipaddr_struct *)VARDATA(ipaddrptr))->family == AF_INET ? 4 : -1) +#define ip_addrsize(inetptr) \ + (((inet_struct *)VARDATA(inetptr))->family == AF_INET ? 4 : -1) -#define ip_family(ipaddrptr) \ - (((ipaddr_struct *)VARDATA(ipaddrptr))->family) +#define ip_family(inetptr) \ + (((inet_struct *)VARDATA(inetptr))->family) -#define ip_bits(ipaddrptr) \ - (((ipaddr_struct *)VARDATA(ipaddrptr))->bits) +#define ip_bits(inetptr) \ + (((inet_struct *)VARDATA(inetptr))->bits) -#define ip_v4addr(ipaddrptr) \ - (((ipaddr_struct *)VARDATA(ipaddrptr))->addr.ipv4_addr) +#define ip_v4addr(inetptr) \ + (((inet_struct *)VARDATA(inetptr))->addr.ipv4_addr) /* * IP address reader. */ -ipaddr * -ipaddr_in(char *src) +inet * +inet_in(char *src) { int bits; - ipaddr *dst; + inet *dst; - dst = palloc(VARHDRSZ + sizeof(ipaddr_struct)); + dst = palloc(VARHDRSZ + sizeof(inet_struct)); if (dst == NULL) { - elog(ERROR, "unable to allocate memory in ipaddr_in()"); + elog(ERROR, "unable to allocate memory in inet_in()"); return (NULL); } /* First, try for an IP V4 address: */ @@ -75,7 +77,7 @@ ipaddr_in(char *src) */ char * -ipaddr_out(ipaddr *src) +inet_out(inet *src) { char *dst, tmp[sizeof("255.255.255.255/32")]; @@ -99,7 +101,7 @@ ipaddr_out(ipaddr *src) dst = palloc(strlen(tmp) + 1); if (dst == NULL) { - elog(ERROR, "unable to allocate memory in ipaddr_out()"); + elog(ERROR, "unable to allocate memory in inet_out()"); return (NULL); } strcpy(dst, tmp); @@ -111,7 +113,7 @@ ipaddr_out(ipaddr *src) */ bool -ipaddr_lt(ipaddr *a1, ipaddr *a2) +inet_lt(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -129,13 +131,13 @@ ipaddr_lt(ipaddr *a1, ipaddr *a2) } bool -ipaddr_le(ipaddr *a1, ipaddr *a2) +inet_le(inet *a1, inet *a2) { - return (ipaddr_lt(a1, a2) || ipaddr_eq(a1, a2)); + return (inet_lt(a1, a2) || inet_eq(a1, a2)); } bool -ipaddr_eq(ipaddr *a1, ipaddr *a2) +inet_eq(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -152,13 +154,13 @@ ipaddr_eq(ipaddr *a1, ipaddr *a2) } bool -ipaddr_ge(ipaddr *a1, ipaddr *a2) +inet_ge(inet *a1, inet *a2) { - return (ipaddr_gt(a1, a2) || ipaddr_eq(a1, a2)); + return (inet_gt(a1, a2) || inet_eq(a1, a2)); } bool -ipaddr_gt(ipaddr *a1, ipaddr *a2) +inet_gt(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -176,13 +178,13 @@ ipaddr_gt(ipaddr *a1, ipaddr *a2) } bool -ipaddr_ne(ipaddr *a1, ipaddr *a2) +inet_ne(inet *a1, inet *a2) { - return (!ipaddr_eq(a1, a2)); + return (!inet_eq(a1, a2)); } bool -ipaddr_sub(ipaddr *a1, ipaddr *a2) +inet_sub(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -199,7 +201,7 @@ ipaddr_sub(ipaddr *a1, ipaddr *a2) } bool -ipaddr_subeq(ipaddr *a1, ipaddr *a2) +inet_subeq(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -216,7 +218,7 @@ ipaddr_subeq(ipaddr *a1, ipaddr *a2) } bool -ipaddr_sup(ipaddr *a1, ipaddr *a2) +inet_sup(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -233,7 +235,7 @@ ipaddr_sup(ipaddr *a1, ipaddr *a2) } bool -ipaddr_supeq(ipaddr *a1, ipaddr *a2) +inet_supeq(inet *a1, inet *a2) { if ((ip_family(a1) == AF_INET) && (ip_family(a2) == AF_INET)) { @@ -254,7 +256,7 @@ ipaddr_supeq(ipaddr *a1, ipaddr *a2) */ int4 -ipaddr_cmp(ipaddr *a1, ipaddr *a2) +inet_cmp(inet *a1, inet *a2) { if (ntohl(ip_v4addr(a1)) < ntohl(ip_v4addr(a2))) return (-1); @@ -267,7 +269,7 @@ ipaddr_cmp(ipaddr *a1, ipaddr *a2) * Bitwise comparison for V4 addresses. Add V6 implementation! */ -int +static int v4bitncmp(unsigned int a1, unsigned int a2, int bits) { unsigned long mask = 0; diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c index 6d33f148dc6..488f1dd11ae 100644 --- a/src/backend/utils/adt/mac.c +++ b/src/backend/utils/adt/mac.c @@ -1,7 +1,7 @@ /* * PostgreSQL type definitions for MAC addresses. * - * $Id: mac.c,v 1.3 1998/10/04 16:24:32 momjian Exp $ + * $Id: mac.c,v 1.4 1998/10/08 00:19:36 momjian Exp $ */ #include <stdio.h> @@ -10,7 +10,7 @@ #include <postgres.h> #include <utils/palloc.h> #include <utils/builtins.h> -#include <utils/mac.h> +#include <utils/network.h> manufacturer manufacturers[] = { {0x00, 0x00, 0x0C, "Cisco"}, |