mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	(Organizationally Unique Identifiers). This is the manufacturer's code in the MAC address.
		
			
				
	
	
		
			53 lines
		
	
	
		
			1020 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1020 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#! /bin/sh
 | 
						|
# Utility to create manufacturer's oui table
 | 
						|
# OUI is "Organizationally Unique Identifier" assigned by IEEE.
 | 
						|
# There are currently three duplicate listings, so we can not enforce
 | 
						|
# uniqueness in the OUI field.
 | 
						|
# - thomas 2000-08-21
 | 
						|
 | 
						|
args=
 | 
						|
update=0
 | 
						|
 | 
						|
while [ $# -gt 0 ]
 | 
						|
do
 | 
						|
    case "$1" in
 | 
						|
    --update)
 | 
						|
        update=1
 | 
						|
        ;;
 | 
						|
    --noupdate)
 | 
						|
        update=0
 | 
						|
        ;;
 | 
						|
    --help)
 | 
						|
        echo "Usage: $0 --[no]update dbname"
 | 
						|
        exit
 | 
						|
        ;;
 | 
						|
    *)
 | 
						|
        args="$args $1"
 | 
						|
        ;;
 | 
						|
    esac
 | 
						|
    shift
 | 
						|
done
 | 
						|
 | 
						|
psql -e $args <<EOF
 | 
						|
-- Table containing OUI portions of MAC address and manufacturer's name
 | 
						|
create table macoui (
 | 
						|
  addr macaddr not null,
 | 
						|
  name text not null
 | 
						|
);
 | 
						|
 | 
						|
-- Create an index to help lookups
 | 
						|
create index macoui_idx on macoui (addr);
 | 
						|
 | 
						|
-- Function to return manufacturer's name given MAC address
 | 
						|
create function manuf (macaddr)
 | 
						|
	returns text as '
 | 
						|
		select name from macoui m where trunc(\$1) = m.addr;
 | 
						|
' language 'SQL';
 | 
						|
EOF
 | 
						|
 | 
						|
if [ $update -gt 0 ]; then
 | 
						|
    updateoui $args
 | 
						|
fi
 | 
						|
 | 
						|
exit
 |