Paul Wouters

placeholder to suppress warning

IPSEC_GOODMASK 3 11 June 2001 libreswan Executable programs
ipsec goodmask ipsec masktobits ipsec bitstomask check if Internet subnet mask is valid, convert Internet subnet mask to bit count, convert bit count to Internet subnet mask

    #include <libreswan.h>

int `goodmask` struct in_addr mask int `masktobits` struct in_addr mask struct in_addr `bitstomask` int n

## DESCRIPTION

These functions are obsolete; see ipsec_masktocount 3 for a partial replacement.

Goodmask reports whether the subnet `mask` is a valid one, i.e. consists of a (possibly empty) sequence of `1`s followed by a (possibly empty) sequence of `0`s. Masktobits takes a (valid) subnet mask and returns the number of `1` bits in it. Bitstomask reverses this, returning the subnet mask corresponding to bit count `n`.

All masks are in network byte order.

## SEE ALSO

inet 3, ipsec_atosubnet 3

## DIAGNOSTICS

Masktobits returns `-1` for an invalid mask. Bitstomask returns an all-zeros mask for a negative or out-of-range `n`.

## HISTORY

Written for the FreeS/WAN project by Henry Spencer.

## BUGS

The error-reporting convention of `bitstomask` is less than ideal; zero is sometimes a legitimate mask.