Copyright | 2015-2018 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.PostgreSQL.NetworkAddress
Description
This module defines network-address types of PostgreSQL. http://www.postgresql.org/docs/current/static/datatype-net-types.html
Synopsis
- newtype Inet = Inet NetAddress
- newtype Cidr = Cidr NetAddress
- cidr4 :: V4HostAddress -> Word8 -> Maybe Cidr
- cidr4' :: V4HostAddress -> Word8 -> Maybe Cidr
- cidr6 :: V6HostAddress -> Word8 -> Maybe Cidr
- cidr6' :: V6HostAddress -> Word8 -> Maybe Cidr
- data NetAddress
- netAddress4 :: V4HostAddress -> Word8 -> Maybe NetAddress
- netAddress6 :: V6HostAddress -> Word8 -> Maybe NetAddress
- data V4HostAddress = V4HostAddress !Word8 !Word8 !Word8 !Word8
- v4HostAddressOctets :: V4HostAddress -> (Word8, Word8, Word8, Word8)
- data V6HostAddress = V6HostAddress !Word16 !Word16 !Word16 !Word16 !Word16 !Word16 !Word16 !Word16
- v6HostAddressLong :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> V6HostAddress
- v6HostAddressWords :: V6HostAddress -> (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16)
- v6HostAddress :: [Word16] -> [Word16] -> Maybe V6HostAddress
- v6HostAddressL :: [Word16] -> Maybe V6HostAddress
- v6HostAddressR :: [Word16] -> Maybe V6HostAddress
Definitions about inet and cidr types
Corresponding to INET type of PostgreSQL
Constructors
Inet NetAddress |
Corresponding to CIDR type of PostgreSQL
Constructors
Cidr NetAddress |
cidr4 :: V4HostAddress -> Word8 -> Maybe Cidr Source #
Make Cidr type of IPv4 from host-address bits consistent with mask
cidr4' :: V4HostAddress -> Word8 -> Maybe Cidr Source #
Same as cidr4 except for dropping host-address bits along with mask
cidr6 :: V6HostAddress -> Word8 -> Maybe Cidr Source #
Make Cidr type of IPv6 from host-address bits consistent with mask
cidr6' :: V6HostAddress -> Word8 -> Maybe Cidr Source #
Same as cidr6 except for dropping host-address bits along with mask
Definitions about the address type which is the pair of host-address and mask
data NetAddress Source #
Constructors
NetAddress4 !V4HostAddress !Word8 | |
NetAddress6 !V6HostAddress !Word8 |
Instances
Read NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Show NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Eq NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods (==) :: NetAddress -> NetAddress -> Bool Source # (/=) :: NetAddress -> NetAddress -> Bool Source # | |
Ord NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods compare :: NetAddress -> NetAddress -> Ordering Source # (<) :: NetAddress -> NetAddress -> Bool Source # (<=) :: NetAddress -> NetAddress -> Bool Source # (>) :: NetAddress -> NetAddress -> Bool Source # (>=) :: NetAddress -> NetAddress -> Bool Source # max :: NetAddress -> NetAddress -> NetAddress Source # min :: NetAddress -> NetAddress -> NetAddress Source # |
Arguments
:: V4HostAddress | IPv4 host-address |
-> Word8 | IPv4 mask 0-32 |
-> Maybe NetAddress | result NetAddress |
Make IPv4 NetAddress type consistent with IPv4 mask
Arguments
:: V6HostAddress | IPv6 host-address |
-> Word8 | IPv6 mask 0-128 |
-> Maybe NetAddress | result NetAddress |
Make IPv6 NetAddress type consistent with IPv6 mask
Definitions about the host-address types
data V4HostAddress Source #
Host address type along with IPv4 address bytes with IPv4 string order.
Constructors
V4HostAddress !Word8 !Word8 !Word8 !Word8 |
Instances
Read V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Show V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Eq V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods (==) :: V4HostAddress -> V4HostAddress -> Bool Source # (/=) :: V4HostAddress -> V4HostAddress -> Bool Source # | |
Ord V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods compare :: V4HostAddress -> V4HostAddress -> Ordering Source # (<) :: V4HostAddress -> V4HostAddress -> Bool Source # (<=) :: V4HostAddress -> V4HostAddress -> Bool Source # (>) :: V4HostAddress -> V4HostAddress -> Bool Source # (>=) :: V4HostAddress -> V4HostAddress -> Bool Source # max :: V4HostAddress -> V4HostAddress -> V4HostAddress Source # min :: V4HostAddress -> V4HostAddress -> V4HostAddress Source # |
v4HostAddressOctets :: V4HostAddress -> (Word8, Word8, Word8, Word8) Source #
data V6HostAddress Source #
Host address type along with IPv6 address words with IPv6 string order.
Each Word16
value is host byte order.
Host byte order is portable in programs on its own host.
Network byte order is only needed, when communicating other hosts.
Instances
Read V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Show V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Eq V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods (==) :: V6HostAddress -> V6HostAddress -> Bool Source # (/=) :: V6HostAddress -> V6HostAddress -> Bool Source # | |
Ord V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods compare :: V6HostAddress -> V6HostAddress -> Ordering Source # (<) :: V6HostAddress -> V6HostAddress -> Bool Source # (<=) :: V6HostAddress -> V6HostAddress -> Bool Source # (>) :: V6HostAddress -> V6HostAddress -> Bool Source # (>=) :: V6HostAddress -> V6HostAddress -> Bool Source # max :: V6HostAddress -> V6HostAddress -> V6HostAddress Source # min :: V6HostAddress -> V6HostAddress -> V6HostAddress Source # |
v6HostAddressLong :: Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> Word16 -> V6HostAddress Source #
v6HostAddressWords :: V6HostAddress -> (Word16, Word16, Word16, Word16, Word16, Word16, Word16, Word16) Source #
v6HostAddress :: [Word16] -> [Word16] -> Maybe V6HostAddress Source #
v6HostAddressL :: [Word16] -> Maybe V6HostAddress Source #
v6HostAddressR :: [Word16] -> Maybe V6HostAddress Source #