aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-10-08 00:19:47 +0000
committerBruce Momjian <bruce@momjian.us>1998-10-08 00:19:47 +0000
commit8849655d24bf6d73102b92f900d6d78b6600dca2 (patch)
treeb8d68fb746e2c9fff2b497610d3d4b3dd1fd2b42 /src/backend
parentac5a8b9ab578843fc04b940fcb5562063ff9b5c7 (diff)
downloadpostgresql-8849655d24bf6d73102b92f900d6d78b6600dca2.tar.gz
postgresql-8849655d24bf6d73102b92f900d6d78b6600dca2.zip
I agree. I think, though, that the best argument presented in the
debate was from Paul Vixie, who wanted INET to be the name covering both IPV4 and IPV6. The following kit makes the needed changes: Tom Ivar Helbekkmo
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/utils/adt/Makefile4
-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.c4
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"},