4.9. ネットワークアドレス型関数

Table 4-18. cidrinet演算子

演算子説明使用方法
< 小さいinet '192.168.1.5' < inet '192.168.1.6'
<= 小さいまたは等しいinet '192.168.1.5' <= inet '192.168.1.5'
= 等しいinet '192.168.1.5' = inet '192.168.1.5'
>= 大きいまたは等しいinet '192.168.1.5' >= inet '192.168.1.5'
> 大きいinet '192.168.1.5' > inet '192.168.1.4'
<> 等しくないinet '192.168.1.5' <> inet '192.168.1.4'
<< その内に含まれているinet '192.168.1.5' << inet '192.168.1/24'
<<= 含まれているまたは等しいinet '192.168.1/24' <<= inet '192.168.1/24'
>> 含むinet'192.168.1/24' >> inet '192.168.1.5'
>>= 含むまたは等しいinet '192.168.1/24' >>= inet '192.168.1/24'

inet型に使用できる演算子すべてはcidr型にも 使用することができます。<<<<=>>>>=の演算子はサブネットに 含まれているかを調べる演算子です。それらは、2つのアドレスのホストの 部分は無視し、ネットワークの部分のみを使用し、1つのネットワークの 部分はもう片方のサブネットと等しいかを検査します。

Table 4-19. cidrinet関数

関数返り値説明結果
broadcast(inet)inet ネットワークのためにアドレスを伝えるbroadcast('192.168.1.5/24')192.168.1.255/24
host(inet)textIPアドレスを文字列で抽出するhost('192.168.1.5/24')192.168.1.5
masklen(inet)integerネットマスクの長さを抽出するmasklen('192.168.1.5/24')24
netmask(inet)inetネットマスクを作成するnetmask('192.168.1.5/24')255.255.255.0
network(inet)cidr アドレスからネットワーク部分を抽出するnetwork('192.168.1.5/24')192.168.1.0/24
text(inet)text IPアドレスとマスクの長さを文字列として抽出するtext(inet '192.168.1.5')192.168.1.5/32
abbrev(inet)text 省略されたディスプレーを文字列として抽出するabbrev(cidr '10.1.0.0/16')10.1/16

inet型に使用できる関数すべてはcidr型にも 使用することができます。host()、text()、 abbrev()の関数は別のディスプレーフォーマットを 提供するための関数です。

Table 4-20. macaddr関数

関数返り値説明結果
trunc(macaddr)macaddr最後の3バイトをゼロにするtrunc(macaddr '12:34:56:78:90:ab')12:34:56:00:00:00

trunc(macaddr)関数は、MACアドレスの 最後の3バイトをゼロに設定して返します。これは、製造業社の 余っている接頭数に対応するためです。contrib/mac ディレクトリには連係テーブルを作成/維持するためのものがあります。

macaddr型は字句解析のために><=などの標準リレーショナル演算子も サポートしています。