Scroll to navigation

IPSEC_GOODMASK(3) Library Functions Manual IPSEC_GOODMASK(3)

NAME

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

SYNOPSIS

#include <freeswan.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 1s followed by a (possibly empty) sequence of 0s. 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.
11 June 2001