> the existing API for AX.25 sockets is a bit too liberal concerning
> the size of the sockaddr structure. It makes the code hard to read
> (thus difficult to maintain) and almost impossible to implement
> alternative ideas. In fact, we have three different structures to
> choose from:
1003.1g says the user is entitled to use any buffer size they like and
get half a sockaddr back. Going the other way (eg connect) we are quite
in the right to require the full sockaddr.
> - struct sockaddr_ax25 (obsolete, does not allow digipeaters)
Its also useful because it fits inside a struct sockaddr, so generic
programs can still get the type and destination if not the AX.25 specific
magic. Thats intentional
> - remove support for struct sockaddr_ax25
Please dont
> - issues a warning for struct full_sockaddr_ax25 with 6 digipeaters
Good
> - only accepts either struct full_sockaddr_ax25 variants
For connect() and those where we provide the addres - yes.
> The background is that we want to prepare the API for further
> extensions (binding to interfaces instead of call signs, for example)
Binding to interfaces has an API already (see the IP space)
SO_BINDTODEVICE
Alan