Copyright | 2015-2018 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | [email protected] |
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 Methods readsPrec :: Int -> ReadS NetAddress # readList :: ReadS [NetAddress] # readPrec :: ReadPrec NetAddress # readListPrec :: ReadPrec [NetAddress] # | |
Show NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods showsPrec :: Int -> NetAddress -> ShowS # show :: NetAddress -> String # showList :: [NetAddress] -> ShowS # | |
Eq NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress | |
Ord NetAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods compare :: NetAddress -> NetAddress -> Ordering # (<) :: NetAddress -> NetAddress -> Bool # (<=) :: NetAddress -> NetAddress -> Bool # (>) :: NetAddress -> NetAddress -> Bool # (>=) :: NetAddress -> NetAddress -> Bool # max :: NetAddress -> NetAddress -> NetAddress # min :: NetAddress -> NetAddress -> NetAddress # |
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 Methods readsPrec :: Int -> ReadS V4HostAddress # readList :: ReadS [V4HostAddress] # | |
Show V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods showsPrec :: Int -> V4HostAddress -> ShowS # show :: V4HostAddress -> String # showList :: [V4HostAddress] -> ShowS # | |
Eq V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods (==) :: V4HostAddress -> V4HostAddress -> Bool # (/=) :: V4HostAddress -> V4HostAddress -> Bool # | |
Ord V4HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods compare :: V4HostAddress -> V4HostAddress -> Ordering # (<) :: V4HostAddress -> V4HostAddress -> Bool # (<=) :: V4HostAddress -> V4HostAddress -> Bool # (>) :: V4HostAddress -> V4HostAddress -> Bool # (>=) :: V4HostAddress -> V4HostAddress -> Bool # max :: V4HostAddress -> V4HostAddress -> V4HostAddress # min :: V4HostAddress -> V4HostAddress -> V4HostAddress # |
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 Methods readsPrec :: Int -> ReadS V6HostAddress # readList :: ReadS [V6HostAddress] # | |
Show V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods showsPrec :: Int -> V6HostAddress -> ShowS # show :: V6HostAddress -> String # showList :: [V6HostAddress] -> ShowS # | |
Eq V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods (==) :: V6HostAddress -> V6HostAddress -> Bool # (/=) :: V6HostAddress -> V6HostAddress -> Bool # | |
Ord V6HostAddress Source # | |
Defined in Data.PostgreSQL.NetworkAddress Methods compare :: V6HostAddress -> V6HostAddress -> Ordering # (<) :: V6HostAddress -> V6HostAddress -> Bool # (<=) :: V6HostAddress -> V6HostAddress -> Bool # (>) :: V6HostAddress -> V6HostAddress -> Bool # (>=) :: V6HostAddress -> V6HostAddress -> Bool # max :: V6HostAddress -> V6HostAddress -> V6HostAddress # min :: V6HostAddress -> V6HostAddress -> V6HostAddress # |
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 #